aws-sdk-iot 1.60.0 → 1.65.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -161,6 +161,7 @@ module Aws::IoT
161
161
  # role_arn: "AwsArn", # required
162
162
  # delivery_stream_name: "DeliveryStreamName", # required
163
163
  # separator: "FirehoseSeparator",
164
+ # batch_mode: false,
164
165
  # },
165
166
  # cloudwatch_metric: {
166
167
  # role_arn: "AwsArn", # required
@@ -194,11 +195,13 @@ module Aws::IoT
194
195
  # iot_analytics: {
195
196
  # channel_arn: "AwsArn",
196
197
  # channel_name: "ChannelName",
198
+ # batch_mode: false,
197
199
  # role_arn: "AwsArn",
198
200
  # },
199
201
  # iot_events: {
200
202
  # input_name: "InputName", # required
201
203
  # message_id: "MessageId",
204
+ # batch_mode: false,
202
205
  # role_arn: "AwsArn", # required
203
206
  # },
204
207
  # iot_site_wise: {
@@ -264,6 +267,15 @@ module Aws::IoT
264
267
  # },
265
268
  # },
266
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
+ # },
267
279
  # }
268
280
  #
269
281
  # @!attribute [rw] dynamo_db
@@ -355,6 +367,11 @@ module Aws::IoT
355
367
  # Send data to an HTTPS endpoint.
356
368
  # @return [Types::HttpAction]
357
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
+ #
358
375
  class Action < Struct.new(
359
376
  :dynamo_db,
360
377
  :dynamo_d_bv_2,
@@ -375,7 +392,8 @@ module Aws::IoT
375
392
  :iot_site_wise,
376
393
  :step_functions,
377
394
  :timestream,
378
- :http)
395
+ :http,
396
+ :kafka)
379
397
  SENSITIVE = []
380
398
  include Aws::Structure
381
399
  end
@@ -392,18 +410,22 @@ module Aws::IoT
392
410
  # @return [String]
393
411
  #
394
412
  # @!attribute [rw] security_profile_name
395
- # The security profile whose behavior is in violation.
413
+ # The security profile with the behavior is in violation.
396
414
  # @return [String]
397
415
  #
398
416
  # @!attribute [rw] behavior
399
- # The behavior which is being violated.
417
+ # The behavior that is being violated.
400
418
  # @return [Types::Behavior]
401
419
  #
402
420
  # @!attribute [rw] last_violation_value
403
- # The value of the metric (the measurement) which caused the most
421
+ # The value of the metric (the measurement) that caused the most
404
422
  # recent violation.
405
423
  # @return [Types::MetricValue]
406
424
  #
425
+ # @!attribute [rw] violation_event_additional_info
426
+ # The details of a violation event.
427
+ # @return [Types::ViolationEventAdditionalInfo]
428
+ #
407
429
  # @!attribute [rw] last_violation_time
408
430
  # The time the most recent violation occurred.
409
431
  # @return [Time]
@@ -418,6 +440,7 @@ module Aws::IoT
418
440
  :security_profile_name,
419
441
  :behavior,
420
442
  :last_violation_value,
443
+ :violation_event_additional_info,
421
444
  :last_violation_time,
422
445
  :violation_start_time)
423
446
  SENSITIVE = []
@@ -521,14 +544,14 @@ module Aws::IoT
521
544
  # @!attribute [rw] thing_group_names
522
545
  # The list of groups to which you want to add the things that
523
546
  # triggered the mitigation action. You can add a thing to a maximum of
524
- # 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
525
548
  # same hierarchy.
526
549
  # @return [Array<String>]
527
550
  #
528
551
  # @!attribute [rw] override_dynamic_groups
529
552
  # Specifies if this mitigation action can move the things that
530
553
  # triggered the mitigation action even if they are part of one or more
531
- # dynamic things groups.
554
+ # dynamic thing groups.
532
555
  # @return [Boolean]
533
556
  #
534
557
  class AddThingsToThingGroupParams < Struct.new(
@@ -549,7 +572,8 @@ module Aws::IoT
549
572
  # }
550
573
  #
551
574
  # @!attribute [rw] alert_target_arn
552
- # 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.
553
577
  # @return [String]
554
578
  #
555
579
  # @!attribute [rw] role_arn
@@ -1639,11 +1663,14 @@ module Aws::IoT
1639
1663
  # operator: "IN", # accepts IN, NOT_IN
1640
1664
  # },
1641
1665
  # criteria: {
1642
- # 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
1643
1667
  # value: {
1644
1668
  # count: 1,
1645
1669
  # cidrs: ["Cidr"],
1646
1670
  # ports: [1],
1671
+ # number: 1.0,
1672
+ # numbers: [1.0],
1673
+ # strings: ["stringValue"],
1647
1674
  # },
1648
1675
  # duration_seconds: 1,
1649
1676
  # consecutive_datapoints_to_alarm: 1,
@@ -1651,11 +1678,15 @@ module Aws::IoT
1651
1678
  # statistical_threshold: {
1652
1679
  # statistic: "EvaluationStatistic",
1653
1680
  # },
1681
+ # ml_detection_config: {
1682
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
1683
+ # },
1654
1684
  # },
1685
+ # suppress_alerts: false,
1655
1686
  # }
1656
1687
  #
1657
1688
  # @!attribute [rw] name
1658
- # The name you have given to the behavior.
1689
+ # The name you've given to the behavior.
1659
1690
  # @return [String]
1660
1691
  #
1661
1692
  # @!attribute [rw] metric
@@ -1665,8 +1696,8 @@ module Aws::IoT
1665
1696
  # @!attribute [rw] metric_dimension
1666
1697
  # The dimension for a metric in your behavior. For example, using a
1667
1698
  # `TOPIC_FILTER` dimension, you can narrow down the scope of the
1668
- # metric only to MQTT topics whose name match the pattern specified in
1669
- # 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.
1670
1701
  # @return [Types::MetricDimension]
1671
1702
  #
1672
1703
  # @!attribute [rw] criteria
@@ -1674,11 +1705,16 @@ module Aws::IoT
1674
1705
  # regard to the `metric`.
1675
1706
  # @return [Types::BehaviorCriteria]
1676
1707
  #
1708
+ # @!attribute [rw] suppress_alerts
1709
+ # Suppresses alerts.
1710
+ # @return [Boolean]
1711
+ #
1677
1712
  class Behavior < Struct.new(
1678
1713
  :name,
1679
1714
  :metric,
1680
1715
  :metric_dimension,
1681
- :criteria)
1716
+ :criteria,
1717
+ :suppress_alerts)
1682
1718
  SENSITIVE = []
1683
1719
  include Aws::Structure
1684
1720
  end
@@ -1689,11 +1725,14 @@ module Aws::IoT
1689
1725
  # data as a hash:
1690
1726
  #
1691
1727
  # {
1692
- # 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
1693
1729
  # value: {
1694
1730
  # count: 1,
1695
1731
  # cidrs: ["Cidr"],
1696
1732
  # ports: [1],
1733
+ # number: 1.0,
1734
+ # numbers: [1.0],
1735
+ # strings: ["stringValue"],
1697
1736
  # },
1698
1737
  # duration_seconds: 1,
1699
1738
  # consecutive_datapoints_to_alarm: 1,
@@ -1701,11 +1740,24 @@ module Aws::IoT
1701
1740
  # statistical_threshold: {
1702
1741
  # statistic: "EvaluationStatistic",
1703
1742
  # },
1743
+ # ml_detection_config: {
1744
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
1745
+ # },
1704
1746
  # }
1705
1747
  #
1706
1748
  # @!attribute [rw] comparison_operator
1707
1749
  # The operator that relates the thing measured (`metric`) to the
1708
- # 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`
1709
1761
  # @return [String]
1710
1762
  #
1711
1763
  # @!attribute [rw] value
@@ -1714,12 +1766,13 @@ module Aws::IoT
1714
1766
  #
1715
1767
  # @!attribute [rw] duration_seconds
1716
1768
  # Use this to specify the time duration over which the behavior is
1717
- # evaluated, for those criteria which have a time dimension (for
1769
+ # evaluated, for those criteria that have a time dimension (for
1718
1770
  # example, `NUM_MESSAGES_SENT`). For a `statisticalThreshhold` metric
1719
1771
  # comparison, measurements from all devices are accumulated over this
1720
1772
  # time duration before being used to calculate percentiles, and later,
1721
1773
  # measurements from an individual device are also accumulated over
1722
- # 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.
1723
1776
  # @return [Integer]
1724
1777
  #
1725
1778
  # @!attribute [rw] consecutive_datapoints_to_alarm
@@ -1736,18 +1789,60 @@ module Aws::IoT
1736
1789
  # @return [Integer]
1737
1790
  #
1738
1791
  # @!attribute [rw] statistical_threshold
1739
- # A statistical ranking (percentile) which indicates a threshold value
1792
+ # A statistical ranking (percentile)that indicates a threshold value
1740
1793
  # by which a behavior is determined to be in compliance or in
1741
1794
  # violation of the behavior.
1742
1795
  # @return [Types::StatisticalThreshold]
1743
1796
  #
1797
+ # @!attribute [rw] ml_detection_config
1798
+ # The configuration of an ML Detect
1799
+ # @return [Types::MachineLearningDetectionConfig]
1800
+ #
1744
1801
  class BehaviorCriteria < Struct.new(
1745
1802
  :comparison_operator,
1746
1803
  :value,
1747
1804
  :duration_seconds,
1748
1805
  :consecutive_datapoints_to_alarm,
1749
1806
  :consecutive_datapoints_to_clear,
1750
- :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)
1751
1846
  SENSITIVE = []
1752
1847
  include Aws::Structure
1753
1848
  end
@@ -1880,7 +1975,7 @@ module Aws::IoT
1880
1975
  # data as a hash:
1881
1976
  #
1882
1977
  # {
1883
- # task_id: "AuditMitigationActionsTaskId", # required
1978
+ # task_id: "MitigationActionsTaskId", # required
1884
1979
  # }
1885
1980
  #
1886
1981
  # @!attribute [rw] task_id
@@ -1935,6 +2030,25 @@ module Aws::IoT
1935
2030
  include Aws::Structure
1936
2031
  end
1937
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
+
1938
2052
  # @note When making an API call, you may pass CancelJobExecutionRequest
1939
2053
  # data as a hash:
1940
2054
  #
@@ -2769,6 +2883,80 @@ module Aws::IoT
2769
2883
  include Aws::Structure
2770
2884
  end
2771
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
+
2772
2960
  # @note When making an API call, you may pass CreateDimensionRequest
2773
2961
  # data as a hash:
2774
2962
  #
@@ -2830,7 +3018,7 @@ module Aws::IoT
2830
3018
  # @return [String]
2831
3019
  #
2832
3020
  # @!attribute [rw] arn
2833
- # The ARN (Amazon resource name) of the created dimension.
3021
+ # The Amazon Resource Name (ARN) of the created dimension.
2834
3022
  # @return [String]
2835
3023
  #
2836
3024
  class CreateDimensionResponse < Struct.new(
@@ -3376,6 +3564,7 @@ module Aws::IoT
3376
3564
  # files: [ # required
3377
3565
  # {
3378
3566
  # file_name: "FileName",
3567
+ # file_type: 1,
3379
3568
  # file_version: "OTAUpdateFileVersion",
3380
3569
  # file_location: {
3381
3570
  # stream: {
@@ -3961,24 +4150,24 @@ module Aws::IoT
3961
4150
  # }
3962
4151
  #
3963
4152
  # @!attribute [rw] frequency
3964
- # How often the scheduled audit takes place. Can be one of "DAILY",
3965
- # "WEEKLY", "BIWEEKLY" or "MONTHLY". The start time of each
3966
- # 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.
3967
4156
  # @return [String]
3968
4157
  #
3969
4158
  # @!attribute [rw] day_of_month
3970
- # The day of the month on which the scheduled audit takes place. Can
3971
- # be "1" through "31" or "LAST". This field is required if the
3972
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
3973
- # specified, and the month does not have that many days, the audit
3974
- # 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.
3975
4164
  # @return [String]
3976
4165
  #
3977
4166
  # @!attribute [rw] day_of_week
3978
- # The day of the week on which the scheduled audit takes place. Can be
3979
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
3980
- # "SAT". This field is required if the "frequency" parameter is
3981
- # 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`.
3982
4171
  # @return [String]
3983
4172
  #
3984
4173
  # @!attribute [rw] target_check_names
@@ -4034,11 +4223,14 @@ module Aws::IoT
4034
4223
  # operator: "IN", # accepts IN, NOT_IN
4035
4224
  # },
4036
4225
  # criteria: {
4037
- # 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
4038
4227
  # value: {
4039
4228
  # count: 1,
4040
4229
  # cidrs: ["Cidr"],
4041
4230
  # ports: [1],
4231
+ # number: 1.0,
4232
+ # numbers: [1.0],
4233
+ # strings: ["stringValue"],
4042
4234
  # },
4043
4235
  # duration_seconds: 1,
4044
4236
  # consecutive_datapoints_to_alarm: 1,
@@ -4046,7 +4238,11 @@ module Aws::IoT
4046
4238
  # statistical_threshold: {
4047
4239
  # statistic: "EvaluationStatistic",
4048
4240
  # },
4241
+ # ml_detection_config: {
4242
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
4243
+ # },
4049
4244
  # },
4245
+ # suppress_alerts: false,
4050
4246
  # },
4051
4247
  # ],
4052
4248
  # alert_targets: {
@@ -4098,13 +4294,15 @@ module Aws::IoT
4098
4294
  #
4099
4295
  # A list of metrics whose data is retained (stored). By default, data
4100
4296
  # is retained for any metric used in the profile's `behaviors`, but
4101
- # 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.
4102
4299
  # @return [Array<String>]
4103
4300
  #
4104
4301
  # @!attribute [rw] additional_metrics_to_retain_v2
4105
4302
  # A list of metrics whose data is retained (stored). By default, data
4106
4303
  # is retained for any metric used in the profile's `behaviors`, but
4107
- # 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.
4108
4306
  # @return [Array<Types::MetricToRetain>]
4109
4307
  #
4110
4308
  # @!attribute [rw] tags
@@ -4429,6 +4627,12 @@ module Aws::IoT
4429
4627
  # http_url_configuration: {
4430
4628
  # confirmation_url: "Url", # required
4431
4629
  # },
4630
+ # vpc_configuration: {
4631
+ # subnet_ids: ["SubnetId"], # required
4632
+ # security_groups: ["SecurityGroupId"],
4633
+ # vpc_id: "VpcId", # required
4634
+ # role_arn: "AwsArn", # required
4635
+ # },
4432
4636
  # },
4433
4637
  # }
4434
4638
  #
@@ -4515,6 +4719,7 @@ module Aws::IoT
4515
4719
  # role_arn: "AwsArn", # required
4516
4720
  # delivery_stream_name: "DeliveryStreamName", # required
4517
4721
  # separator: "FirehoseSeparator",
4722
+ # batch_mode: false,
4518
4723
  # },
4519
4724
  # cloudwatch_metric: {
4520
4725
  # role_arn: "AwsArn", # required
@@ -4548,11 +4753,13 @@ module Aws::IoT
4548
4753
  # iot_analytics: {
4549
4754
  # channel_arn: "AwsArn",
4550
4755
  # channel_name: "ChannelName",
4756
+ # batch_mode: false,
4551
4757
  # role_arn: "AwsArn",
4552
4758
  # },
4553
4759
  # iot_events: {
4554
4760
  # input_name: "InputName", # required
4555
4761
  # message_id: "MessageId",
4762
+ # batch_mode: false,
4556
4763
  # role_arn: "AwsArn", # required
4557
4764
  # },
4558
4765
  # iot_site_wise: {
@@ -4618,6 +4825,15 @@ module Aws::IoT
4618
4825
  # },
4619
4826
  # },
4620
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
+ # },
4621
4837
  # },
4622
4838
  # ],
4623
4839
  # rule_disabled: false,
@@ -4674,6 +4890,7 @@ module Aws::IoT
4674
4890
  # role_arn: "AwsArn", # required
4675
4891
  # delivery_stream_name: "DeliveryStreamName", # required
4676
4892
  # separator: "FirehoseSeparator",
4893
+ # batch_mode: false,
4677
4894
  # },
4678
4895
  # cloudwatch_metric: {
4679
4896
  # role_arn: "AwsArn", # required
@@ -4707,11 +4924,13 @@ module Aws::IoT
4707
4924
  # iot_analytics: {
4708
4925
  # channel_arn: "AwsArn",
4709
4926
  # channel_name: "ChannelName",
4927
+ # batch_mode: false,
4710
4928
  # role_arn: "AwsArn",
4711
4929
  # },
4712
4930
  # iot_events: {
4713
4931
  # input_name: "InputName", # required
4714
4932
  # message_id: "MessageId",
4933
+ # batch_mode: false,
4715
4934
  # role_arn: "AwsArn", # required
4716
4935
  # },
4717
4936
  # iot_site_wise: {
@@ -4777,6 +4996,15 @@ module Aws::IoT
4777
4996
  # },
4778
4997
  # },
4779
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
+ # },
4780
5008
  # },
4781
5009
  # },
4782
5010
  # tags: "String",
@@ -5026,6 +5254,25 @@ module Aws::IoT
5026
5254
  include Aws::Structure
5027
5255
  end
5028
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
+
5029
5276
  # @note When making an API call, you may pass DeleteDimensionRequest
5030
5277
  # data as a hash:
5031
5278
  #
@@ -5244,13 +5491,16 @@ module Aws::IoT
5244
5491
  # @return [String]
5245
5492
  #
5246
5493
  # @!attribute [rw] delete_stream
5247
- # Specifies if the stream associated with an OTA update should be
5248
- # 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.
5249
5497
  # @return [Boolean]
5250
5498
  #
5251
5499
  # @!attribute [rw] force_delete_aws_job
5252
- # Specifies if the AWS Job associated with the OTA update should be
5253
- # 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.
5254
5504
  # @return [Boolean]
5255
5505
  #
5256
5506
  class DeleteOTAUpdateRequest < Struct.new(
@@ -5700,7 +5950,7 @@ module Aws::IoT
5700
5950
  # data as a hash:
5701
5951
  #
5702
5952
  # {
5703
- # task_id: "AuditMitigationActionsTaskId", # required
5953
+ # task_id: "MitigationActionsTaskId", # required
5704
5954
  # }
5705
5955
  #
5706
5956
  # @!attribute [rw] task_id
@@ -6032,6 +6282,62 @@ module Aws::IoT
6032
6282
  include Aws::Structure
6033
6283
  end
6034
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
+
6035
6341
  # @api private
6036
6342
  #
6037
6343
  class DescribeDefaultAuthorizerRequest < Aws::EmptyStructure; end
@@ -6046,6 +6352,33 @@ module Aws::IoT
6046
6352
  include Aws::Structure
6047
6353
  end
6048
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
+
6049
6382
  # @note When making an API call, you may pass DescribeDimensionRequest
6050
6383
  # data as a hash:
6051
6384
  #
@@ -6068,7 +6401,7 @@ module Aws::IoT
6068
6401
  # @return [String]
6069
6402
  #
6070
6403
  # @!attribute [rw] arn
6071
- # The ARN (Amazon resource name) for the dimension.
6404
+ # The Amazon Resource Name (ARN) for the dimension.
6072
6405
  # @return [String]
6073
6406
  #
6074
6407
  # @!attribute [rw] type
@@ -6605,21 +6938,21 @@ module Aws::IoT
6605
6938
  end
6606
6939
 
6607
6940
  # @!attribute [rw] frequency
6608
- # How often the scheduled audit takes place. One of "DAILY",
6609
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each
6610
- # 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.
6611
6944
  # @return [String]
6612
6945
  #
6613
6946
  # @!attribute [rw] day_of_month
6614
- # The day of the month on which the scheduled audit takes place. Will
6615
- # be "1" through "31" or "LAST". If days 29-31 are specified,
6616
- # and the month does not have that many days, the audit takes place on
6617
- # 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.
6618
6951
  # @return [String]
6619
6952
  #
6620
6953
  # @!attribute [rw] day_of_week
6621
- # The day of the week on which the scheduled audit takes place. One of
6622
- # "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`.
6623
6956
  # @return [String]
6624
6957
  #
6625
6958
  # @!attribute [rw] target_check_names
@@ -7185,84 +7518,248 @@ module Aws::IoT
7185
7518
  #
7186
7519
  class DetachThingPrincipalResponse < Aws::EmptyStructure; end
7187
7520
 
7188
- # The input for the DisableTopicRuleRequest operation.
7189
- #
7190
- # @note When making an API call, you may pass DisableTopicRuleRequest
7191
- # data as a hash:
7192
- #
7193
- # {
7194
- # rule_name: "RuleName", # required
7195
- # }
7521
+ # Describes which mitigation actions should be executed.
7196
7522
  #
7197
- # @!attribute [rw] rule_name
7198
- # The name of the rule to disable.
7523
+ # @!attribute [rw] task_id
7524
+ # The unique identifier of the task.
7199
7525
  # @return [String]
7200
7526
  #
7201
- class DisableTopicRuleRequest < Struct.new(
7202
- :rule_name)
7203
- SENSITIVE = []
7204
- include Aws::Structure
7205
- end
7206
-
7207
- # The summary of a domain configuration. A domain configuration
7208
- # specifies custom IoT-specific information about a domain. A domain
7209
- # configuration can be associated with an AWS-managed domain (for
7210
- # example, dbc123defghijk.iot.us-west-2.amazonaws.com), a customer
7211
- # managed domain, or a default endpoint.
7212
- #
7213
- # * Data
7527
+ # @!attribute [rw] violation_id
7528
+ # The unique identifier of the violation.
7529
+ # @return [String]
7214
7530
  #
7215
- # * Jobs
7531
+ # @!attribute [rw] action_name
7532
+ # The friendly name that uniquely identifies the mitigation action.
7533
+ # @return [String]
7216
7534
  #
7217
- # * CredentialProvider
7535
+ # @!attribute [rw] thing_name
7536
+ # The name of the thing.
7537
+ # @return [String]
7218
7538
  #
7219
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
7220
- # to change.
7539
+ # @!attribute [rw] execution_start_date
7540
+ # The date a mitigation action was started.
7541
+ # @return [Time]
7221
7542
  #
7222
- # </note>
7543
+ # @!attribute [rw] execution_end_date
7544
+ # The date a mitigation action ended.
7545
+ # @return [Time]
7223
7546
  #
7224
- # @!attribute [rw] domain_configuration_name
7225
- # The name of the domain configuration. This value must be unique to a
7226
- # region.
7547
+ # @!attribute [rw] status
7548
+ # The status of a mitigation action.
7227
7549
  # @return [String]
7228
7550
  #
7229
- # @!attribute [rw] domain_configuration_arn
7230
- # The ARN of the domain configuration.
7551
+ # @!attribute [rw] error_code
7552
+ # The error code of a mitigation action.
7231
7553
  # @return [String]
7232
7554
  #
7233
- # @!attribute [rw] service_type
7234
- # The type of service delivered by the endpoint.
7555
+ # @!attribute [rw] message
7556
+ # The message of a mitigation action.
7235
7557
  # @return [String]
7236
7558
  #
7237
- class DomainConfigurationSummary < Struct.new(
7238
- :domain_configuration_name,
7239
- :domain_configuration_arn,
7240
- :service_type)
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)
7241
7569
  SENSITIVE = []
7242
7570
  include Aws::Structure
7243
7571
  end
7244
7572
 
7245
- # Describes an action to write to a DynamoDB table.
7573
+ # The statistics of a mitigation action task.
7246
7574
  #
7247
- # The `tableName`, `hashKeyField`, and `rangeKeyField` values must match
7248
- # the values used when you created the table.
7575
+ # @!attribute [rw] actions_executed
7576
+ # The actions that were performed.
7577
+ # @return [Integer]
7249
7578
  #
7250
- # The `hashKeyValue` and `rangeKeyvalue` fields use a substitution
7251
- # template syntax. These templates provide data at runtime. The syntax
7252
- # is as follows: $\\\{*sql-expression*\\}.
7579
+ # @!attribute [rw] actions_skipped
7580
+ # The actions that were skipped.
7581
+ # @return [Integer]
7253
7582
  #
7254
- # You can specify any valid expression in a WHERE or SELECT clause,
7255
- # including JSON properties, comparisons, calculations, and functions.
7256
- # For example, the following field uses the third level of the topic:
7583
+ # @!attribute [rw] actions_failed
7584
+ # The actions that failed.
7585
+ # @return [Integer]
7257
7586
  #
7258
- # `"hashKeyValue": "$\{topic(3)\}"`
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.
7259
7596
  #
7260
- # The following field uses the timestamp:
7597
+ # @!attribute [rw] task_id
7598
+ # The unique identifier of the task.
7599
+ # @return [String]
7261
7600
  #
7262
- # `"rangeKeyValue": "$\{timestamp()\}"`
7601
+ # @!attribute [rw] task_status
7602
+ # The status of the task.
7603
+ # @return [String]
7263
7604
  #
7264
- # @note When making an API call, you may pass DynamoDBAction
7265
- # data as a hash:
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
+
7685
+ # The input for the DisableTopicRuleRequest operation.
7686
+ #
7687
+ # @note When making an API call, you may pass DisableTopicRuleRequest
7688
+ # data as a hash:
7689
+ #
7690
+ # {
7691
+ # rule_name: "RuleName", # required
7692
+ # }
7693
+ #
7694
+ # @!attribute [rw] rule_name
7695
+ # The name of the rule to disable.
7696
+ # @return [String]
7697
+ #
7698
+ class DisableTopicRuleRequest < Struct.new(
7699
+ :rule_name)
7700
+ SENSITIVE = []
7701
+ include Aws::Structure
7702
+ end
7703
+
7704
+ # The summary of a domain configuration. A domain configuration
7705
+ # specifies custom IoT-specific information about a domain. A domain
7706
+ # configuration can be associated with an AWS-managed domain (for
7707
+ # example, dbc123defghijk.iot.us-west-2.amazonaws.com), a customer
7708
+ # managed domain, or a default endpoint.
7709
+ #
7710
+ # * Data
7711
+ #
7712
+ # * Jobs
7713
+ #
7714
+ # * CredentialProvider
7715
+ #
7716
+ # <note markdown="1"> The domain configuration feature is in public preview and is subject
7717
+ # to change.
7718
+ #
7719
+ # </note>
7720
+ #
7721
+ # @!attribute [rw] domain_configuration_name
7722
+ # The name of the domain configuration. This value must be unique to a
7723
+ # region.
7724
+ # @return [String]
7725
+ #
7726
+ # @!attribute [rw] domain_configuration_arn
7727
+ # The ARN of the domain configuration.
7728
+ # @return [String]
7729
+ #
7730
+ # @!attribute [rw] service_type
7731
+ # The type of service delivered by the endpoint.
7732
+ # @return [String]
7733
+ #
7734
+ class DomainConfigurationSummary < Struct.new(
7735
+ :domain_configuration_name,
7736
+ :domain_configuration_arn,
7737
+ :service_type)
7738
+ SENSITIVE = []
7739
+ include Aws::Structure
7740
+ end
7741
+
7742
+ # Describes an action to write to a DynamoDB table.
7743
+ #
7744
+ # The `tableName`, `hashKeyField`, and `rangeKeyField` values must match
7745
+ # the values used when you created the table.
7746
+ #
7747
+ # The `hashKeyValue` and `rangeKeyvalue` fields use a substitution
7748
+ # template syntax. These templates provide data at runtime. The syntax
7749
+ # is as follows: $\\\{*sql-expression*\\}.
7750
+ #
7751
+ # You can specify any valid expression in a WHERE or SELECT clause,
7752
+ # including JSON properties, comparisons, calculations, and functions.
7753
+ # For example, the following field uses the third level of the topic:
7754
+ #
7755
+ # `"hashKeyValue": "$\{topic(3)\}"`
7756
+ #
7757
+ # The following field uses the timestamp:
7758
+ #
7759
+ # `"rangeKeyValue": "$\{timestamp()\}"`
7760
+ #
7761
+ # @note When making an API call, you may pass DynamoDBAction
7762
+ # data as a hash:
7266
7763
  #
7267
7764
  # {
7268
7765
  # table_name: "TableName", # required
@@ -7449,11 +7946,11 @@ module Aws::IoT
7449
7946
  # }
7450
7947
  #
7451
7948
  # @!attribute [rw] role_arn_for_logging
7452
- # The ARN of the IAM role used for logging.
7949
+ # The Amazon Resource Name (ARN) of the IAM role used for logging.
7453
7950
  # @return [String]
7454
7951
  #
7455
7952
  # @!attribute [rw] log_level
7456
- # Specifies the types of information to be logged.
7953
+ # Specifies the type of information to be logged.
7457
7954
  # @return [String]
7458
7955
  #
7459
7956
  class EnableIoTLoggingParams < Struct.new(
@@ -7617,6 +8114,7 @@ module Aws::IoT
7617
8114
  # role_arn: "AwsArn", # required
7618
8115
  # delivery_stream_name: "DeliveryStreamName", # required
7619
8116
  # separator: "FirehoseSeparator",
8117
+ # batch_mode: false,
7620
8118
  # }
7621
8119
  #
7622
8120
  # @!attribute [rw] role_arn
@@ -7634,10 +8132,72 @@ module Aws::IoT
7634
8132
  # (tab), '\\r\\n' (Windows newline), ',' (comma).
7635
8133
  # @return [String]
7636
8134
  #
8135
+ # @!attribute [rw] batch_mode
8136
+ # Whether to deliver the Kinesis Data Firehose stream as a batch by
8137
+ # using [ `PutRecordBatch` ][1]. The default value is `false`.
8138
+ #
8139
+ # When `batchMode` is `true` and the rule's SQL statement evaluates
8140
+ # to an Array, each Array element forms one record in the [
8141
+ # `PutRecordBatch` ][1] request. The resulting array can't have more
8142
+ # than 500 records.
8143
+ #
8144
+ #
8145
+ #
8146
+ # [1]: https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html
8147
+ # @return [Boolean]
8148
+ #
7637
8149
  class FirehoseAction < Struct.new(
7638
8150
  :role_arn,
7639
8151
  :delivery_stream_name,
7640
- :separator)
8152
+ :separator,
8153
+ :batch_mode)
8154
+ SENSITIVE = []
8155
+ include Aws::Structure
8156
+ end
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)
7641
8201
  SENSITIVE = []
7642
8202
  include Aws::Structure
7643
8203
  end
@@ -8482,6 +9042,7 @@ module Aws::IoT
8482
9042
  # {
8483
9043
  # channel_arn: "AwsArn",
8484
9044
  # channel_name: "ChannelName",
9045
+ # batch_mode: false,
8485
9046
  # role_arn: "AwsArn",
8486
9047
  # }
8487
9048
  #
@@ -8495,6 +9056,20 @@ module Aws::IoT
8495
9056
  # sent.
8496
9057
  # @return [String]
8497
9058
  #
9059
+ # @!attribute [rw] batch_mode
9060
+ # Whether to process the action as a batch. The default value is
9061
+ # `false`.
9062
+ #
9063
+ # When `batchMode` is `true` and the rule SQL statement evaluates to
9064
+ # an Array, each Array element is delivered as a separate message when
9065
+ # passed by [ `BatchPutMessage` ][1] to the AWS IoT Analytics channel.
9066
+ # The resulting array can't have more than 100 messages.
9067
+ #
9068
+ #
9069
+ #
9070
+ # [1]: https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_BatchPutMessage.html
9071
+ # @return [Boolean]
9072
+ #
8498
9073
  # @!attribute [rw] role_arn
8499
9074
  # The ARN of the role which has a policy that grants IoT Analytics
8500
9075
  # permission to send message data via IoT Analytics
@@ -8504,6 +9079,7 @@ module Aws::IoT
8504
9079
  class IotAnalyticsAction < Struct.new(
8505
9080
  :channel_arn,
8506
9081
  :channel_name,
9082
+ :batch_mode,
8507
9083
  :role_arn)
8508
9084
  SENSITIVE = []
8509
9085
  include Aws::Structure
@@ -8517,6 +9093,7 @@ module Aws::IoT
8517
9093
  # {
8518
9094
  # input_name: "InputName", # required
8519
9095
  # message_id: "MessageId",
9096
+ # batch_mode: false,
8520
9097
  # role_arn: "AwsArn", # required
8521
9098
  # }
8522
9099
  #
@@ -8525,10 +9102,32 @@ module Aws::IoT
8525
9102
  # @return [String]
8526
9103
  #
8527
9104
  # @!attribute [rw] message_id
8528
- # \[Optional\] Use this to ensure that only one input (message) with a
8529
- # given messageId will be processed by an AWS IoT Events detector.
9105
+ # The ID of the message. The default `messageId` is a new UUID value.
9106
+ #
9107
+ # When `batchMode` is `true`, you can't specify a `messageId`--a new
9108
+ # UUID value will be assigned.
9109
+ #
9110
+ # Assign a value to this property to ensure that only one input
9111
+ # (message) with a given `messageId` will be processed by an AWS IoT
9112
+ # Events detector.
8530
9113
  # @return [String]
8531
9114
  #
9115
+ # @!attribute [rw] batch_mode
9116
+ # Whether to process the event actions as a batch. The default value
9117
+ # is `false`.
9118
+ #
9119
+ # When `batchMode` is `true`, you can't specify a `messageId`.
9120
+ #
9121
+ # When `batchMode` is `true` and the rule SQL statement evaluates to
9122
+ # an Array, each Array element is treated as a separate message when
9123
+ # it's sent to AWS IoT Events by calling [ `BatchPutMessage` ][1].
9124
+ # The resulting array can't have more than 10 messages.
9125
+ #
9126
+ #
9127
+ #
9128
+ # [1]: https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchPutMessage.html
9129
+ # @return [Boolean]
9130
+ #
8532
9131
  # @!attribute [rw] role_arn
8533
9132
  # The ARN of the role that grants AWS IoT permission to send an input
8534
9133
  # to an AWS IoT Events detector.
@@ -8538,6 +9137,7 @@ module Aws::IoT
8538
9137
  class IotEventsAction < Struct.new(
8539
9138
  :input_name,
8540
9139
  :message_id,
9140
+ :batch_mode,
8541
9141
  :role_arn)
8542
9142
  SENSITIVE = []
8543
9143
  include Aws::Structure
@@ -9020,6 +9620,52 @@ module Aws::IoT
9020
9620
  include Aws::Structure
9021
9621
  end
9022
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
+
9023
9669
  # Describes a key pair.
9024
9670
  #
9025
9671
  # @!attribute [rw] public_key
@@ -9106,6 +9752,8 @@ module Aws::IoT
9106
9752
  # {
9107
9753
  # thing_name: "DeviceDefenderThingName",
9108
9754
  # security_profile_name: "SecurityProfileName",
9755
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
9756
+ # list_suppressed_alerts: false,
9109
9757
  # next_token: "NextToken",
9110
9758
  # max_results: 1,
9111
9759
  # }
@@ -9119,6 +9767,14 @@ module Aws::IoT
9119
9767
  # violations are listed.
9120
9768
  # @return [String]
9121
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
+ #
9122
9778
  # @!attribute [rw] next_token
9123
9779
  # The token for the next set of results.
9124
9780
  # @return [String]
@@ -9130,6 +9786,8 @@ module Aws::IoT
9130
9786
  class ListActiveViolationsRequest < Struct.new(
9131
9787
  :thing_name,
9132
9788
  :security_profile_name,
9789
+ :behavior_criteria_type,
9790
+ :list_suppressed_alerts,
9133
9791
  :next_token,
9134
9792
  :max_results)
9135
9793
  SENSITIVE = []
@@ -9310,7 +9968,7 @@ module Aws::IoT
9310
9968
  # data as a hash:
9311
9969
  #
9312
9970
  # {
9313
- # task_id: "AuditMitigationActionsTaskId", # required
9971
+ # task_id: "MitigationActionsTaskId", # required
9314
9972
  # action_status: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED, CANCELED, SKIPPED, PENDING
9315
9973
  # finding_id: "FindingId", # required
9316
9974
  # max_results: 1,
@@ -9648,7 +10306,9 @@ module Aws::IoT
9648
10306
  # }
9649
10307
  #
9650
10308
  # @!attribute [rw] next_token
9651
- # The token to retrieve the next set of results.
10309
+ # To retrieve the next set of results, the `nextToken` value from a
10310
+ # previous response; otherwise **null** to receive the first set of
10311
+ # results.
9652
10312
  # @return [String]
9653
10313
  #
9654
10314
  # @!attribute [rw] max_results
@@ -9673,8 +10333,8 @@ module Aws::IoT
9673
10333
  # @return [Array<Types::GroupNameAndArn>]
9674
10334
  #
9675
10335
  # @!attribute [rw] next_token
9676
- # The token used to get the next set of results, or **null** if there
9677
- # are no additional results.
10336
+ # The token to use to get the next set of results, or **null** if
10337
+ # there are no additional results.
9678
10338
  # @return [String]
9679
10339
  #
9680
10340
  class ListBillingGroupsResponse < Struct.new(
@@ -9840,6 +10500,175 @@ module Aws::IoT
9840
10500
  include Aws::Structure
9841
10501
  end
9842
10502
 
10503
+ # @note When making an API call, you may pass ListCustomMetricsRequest
10504
+ # data as a hash:
10505
+ #
10506
+ # {
10507
+ # next_token: "NextToken",
10508
+ # max_results: 1,
10509
+ # }
10510
+ #
10511
+ # @!attribute [rw] next_token
10512
+ # The token for the next set of results.
10513
+ # @return [String]
10514
+ #
10515
+ # @!attribute [rw] max_results
10516
+ # The maximum number of results to return at one time. The default is
10517
+ # 25.
10518
+ # @return [Integer]
10519
+ #
10520
+ class ListCustomMetricsRequest < Struct.new(
10521
+ :next_token,
10522
+ :max_results)
10523
+ SENSITIVE = []
10524
+ include Aws::Structure
10525
+ end
10526
+
10527
+ # @!attribute [rw] metric_names
10528
+ # The name of the custom metric.
10529
+ # @return [Array<String>]
10530
+ #
10531
+ # @!attribute [rw] next_token
10532
+ # A token that can be used to retrieve the next set of results, or
10533
+ # `null` if there are no additional results.
10534
+ # @return [String]
10535
+ #
10536
+ class ListCustomMetricsResponse < Struct.new(
10537
+ :metric_names,
10538
+ :next_token)
10539
+ SENSITIVE = []
10540
+ include Aws::Structure
10541
+ end
10542
+
10543
+ # @note When making an API call, you may pass ListDetectMitigationActionsExecutionsRequest
10544
+ # data as a hash:
10545
+ #
10546
+ # {
10547
+ # task_id: "MitigationActionsTaskId",
10548
+ # violation_id: "ViolationId",
10549
+ # thing_name: "DeviceDefenderThingName",
10550
+ # start_time: Time.now,
10551
+ # end_time: Time.now,
10552
+ # max_results: 1,
10553
+ # next_token: "NextToken",
10554
+ # }
10555
+ #
10556
+ # @!attribute [rw] task_id
10557
+ # The unique identifier of the task.
10558
+ # @return [String]
10559
+ #
10560
+ # @!attribute [rw] violation_id
10561
+ # The unique identifier of the violation.
10562
+ # @return [String]
10563
+ #
10564
+ # @!attribute [rw] thing_name
10565
+ # The name of the thing whose mitigation actions are listed.
10566
+ # @return [String]
10567
+ #
10568
+ # @!attribute [rw] start_time
10569
+ # A filter to limit results to those found after the specified time.
10570
+ # You must specify either the startTime and endTime or the taskId, but
10571
+ # not both.
10572
+ # @return [Time]
10573
+ #
10574
+ # @!attribute [rw] end_time
10575
+ # The end of the time period for which ML Detect mitigation actions
10576
+ # executions are returned.
10577
+ # @return [Time]
10578
+ #
10579
+ # @!attribute [rw] max_results
10580
+ # The maximum number of results to return at one time. The default is
10581
+ # 25.
10582
+ # @return [Integer]
10583
+ #
10584
+ # @!attribute [rw] next_token
10585
+ # The token for the next set of results.
10586
+ # @return [String]
10587
+ #
10588
+ class ListDetectMitigationActionsExecutionsRequest < Struct.new(
10589
+ :task_id,
10590
+ :violation_id,
10591
+ :thing_name,
10592
+ :start_time,
10593
+ :end_time,
10594
+ :max_results,
10595
+ :next_token)
10596
+ SENSITIVE = []
10597
+ include Aws::Structure
10598
+ end
10599
+
10600
+ # @!attribute [rw] actions_executions
10601
+ # List of actions executions.
10602
+ # @return [Array<Types::DetectMitigationActionExecution>]
10603
+ #
10604
+ # @!attribute [rw] next_token
10605
+ # A token that can be used to retrieve the next set of results, or
10606
+ # `null` if there are no additional results.
10607
+ # @return [String]
10608
+ #
10609
+ class ListDetectMitigationActionsExecutionsResponse < Struct.new(
10610
+ :actions_executions,
10611
+ :next_token)
10612
+ SENSITIVE = []
10613
+ include Aws::Structure
10614
+ end
10615
+
10616
+ # @note When making an API call, you may pass ListDetectMitigationActionsTasksRequest
10617
+ # data as a hash:
10618
+ #
10619
+ # {
10620
+ # max_results: 1,
10621
+ # next_token: "NextToken",
10622
+ # start_time: Time.now, # required
10623
+ # end_time: Time.now, # required
10624
+ # }
10625
+ #
10626
+ # @!attribute [rw] max_results
10627
+ # The maximum number of results to return at one time. The default is
10628
+ # 25.
10629
+ # @return [Integer]
10630
+ #
10631
+ # @!attribute [rw] next_token
10632
+ # The token for the next set of results.
10633
+ # @return [String]
10634
+ #
10635
+ # @!attribute [rw] start_time
10636
+ # A filter to limit results to those found after the specified time.
10637
+ # You must specify either the startTime and endTime or the taskId, but
10638
+ # not both.
10639
+ # @return [Time]
10640
+ #
10641
+ # @!attribute [rw] end_time
10642
+ # The end of the time period for which ML Detect mitigation actions
10643
+ # tasks are returned.
10644
+ # @return [Time]
10645
+ #
10646
+ class ListDetectMitigationActionsTasksRequest < Struct.new(
10647
+ :max_results,
10648
+ :next_token,
10649
+ :start_time,
10650
+ :end_time)
10651
+ SENSITIVE = []
10652
+ include Aws::Structure
10653
+ end
10654
+
10655
+ # @!attribute [rw] tasks
10656
+ # The collection of ML Detect mitigation tasks that matched the filter
10657
+ # criteria.
10658
+ # @return [Array<Types::DetectMitigationActionsTaskSummary>]
10659
+ #
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.
10663
+ # @return [String]
10664
+ #
10665
+ class ListDetectMitigationActionsTasksResponse < Struct.new(
10666
+ :tasks,
10667
+ :next_token)
10668
+ SENSITIVE = []
10669
+ include Aws::Structure
10670
+ end
10671
+
9843
10672
  # @note When making an API call, you may pass ListDimensionsRequest
9844
10673
  # data as a hash:
9845
10674
  #
@@ -10519,7 +11348,9 @@ module Aws::IoT
10519
11348
  # }
10520
11349
  #
10521
11350
  # @!attribute [rw] next_token
10522
- # The token to retrieve the next set of results.
11351
+ # To retrieve the next set of results, the `nextToken` value from a
11352
+ # previous response; otherwise **null** to receive the first set of
11353
+ # results.
10523
11354
  # @return [String]
10524
11355
  #
10525
11356
  # @!attribute [rw] max_results
@@ -10545,8 +11376,8 @@ module Aws::IoT
10545
11376
  # @return [Array<String>]
10546
11377
  #
10547
11378
  # @!attribute [rw] next_token
10548
- # The token used to get the next set of results, or **null** if there
10549
- # are no additional results.
11379
+ # The token to use to get the next set of results, or **null** if
11380
+ # there are no additional results.
10550
11381
  # @return [String]
10551
11382
  #
10552
11383
  class ListPrincipalThingsResponse < Struct.new(
@@ -10781,6 +11612,7 @@ module Aws::IoT
10781
11612
  # next_token: "NextToken",
10782
11613
  # max_results: 1,
10783
11614
  # dimension_name: "DimensionName",
11615
+ # metric_name: "MetricName",
10784
11616
  # }
10785
11617
  #
10786
11618
  # @!attribute [rw] next_token
@@ -10793,13 +11625,18 @@ module Aws::IoT
10793
11625
  #
10794
11626
  # @!attribute [rw] dimension_name
10795
11627
  # A filter to limit results to the security profiles that use the
10796
- # 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`.
10797
11633
  # @return [String]
10798
11634
  #
10799
11635
  class ListSecurityProfilesRequest < Struct.new(
10800
11636
  :next_token,
10801
11637
  :max_results,
10802
- :dimension_name)
11638
+ :dimension_name,
11639
+ :metric_name)
10803
11640
  SENSITIVE = []
10804
11641
  include Aws::Structure
10805
11642
  end
@@ -10877,7 +11714,9 @@ module Aws::IoT
10877
11714
  # @return [String]
10878
11715
  #
10879
11716
  # @!attribute [rw] next_token
10880
- # The token to retrieve the next set of results.
11717
+ # To retrieve the next set of results, the `nextToken` value from a
11718
+ # previous response; otherwise **null** to receive the first set of
11719
+ # results.
10881
11720
  # @return [String]
10882
11721
  #
10883
11722
  class ListTagsForResourceRequest < Struct.new(
@@ -10892,8 +11731,8 @@ module Aws::IoT
10892
11731
  # @return [Array<Types::Tag>]
10893
11732
  #
10894
11733
  # @!attribute [rw] next_token
10895
- # The token used to get the next set of results, or **null** if there
10896
- # are no additional results.
11734
+ # The token to use to get the next set of results, or **null** if
11735
+ # there are no additional results.
10897
11736
  # @return [String]
10898
11737
  #
10899
11738
  class ListTagsForResourceResponse < Struct.new(
@@ -11006,7 +11845,9 @@ module Aws::IoT
11006
11845
  # @return [String]
11007
11846
  #
11008
11847
  # @!attribute [rw] next_token
11009
- # The token to retrieve the next set of results.
11848
+ # To retrieve the next set of results, the `nextToken` value from a
11849
+ # previous response; otherwise **null** to receive the first set of
11850
+ # results.
11010
11851
  # @return [String]
11011
11852
  #
11012
11853
  # @!attribute [rw] max_results
@@ -11026,8 +11867,8 @@ module Aws::IoT
11026
11867
  # @return [Array<Types::GroupNameAndArn>]
11027
11868
  #
11028
11869
  # @!attribute [rw] next_token
11029
- # The token used to get the next set of results, or **null** if there
11030
- # are no additional results.
11870
+ # The token to use to get the next set of results, or **null** if
11871
+ # there are no additional results.
11031
11872
  # @return [String]
11032
11873
  #
11033
11874
  class ListThingGroupsForThingResponse < Struct.new(
@@ -11049,7 +11890,9 @@ module Aws::IoT
11049
11890
  # }
11050
11891
  #
11051
11892
  # @!attribute [rw] next_token
11052
- # The token to retrieve the next set of results.
11893
+ # To retrieve the next set of results, the `nextToken` value from a
11894
+ # previous response; otherwise **null** to receive the first set of
11895
+ # results.
11053
11896
  # @return [String]
11054
11897
  #
11055
11898
  # @!attribute [rw] max_results
@@ -11085,8 +11928,8 @@ module Aws::IoT
11085
11928
  # @return [Array<Types::GroupNameAndArn>]
11086
11929
  #
11087
11930
  # @!attribute [rw] next_token
11088
- # The token used to get the next set of results. Will not be returned
11089
- # if operation has returned all results.
11931
+ # The token to use to get the next set of results. Will not be
11932
+ # returned if operation has returned all results.
11090
11933
  # @return [String]
11091
11934
  #
11092
11935
  class ListThingGroupsResponse < Struct.new(
@@ -11101,15 +11944,29 @@ module Aws::IoT
11101
11944
  # @note When making an API call, you may pass ListThingPrincipalsRequest
11102
11945
  # data as a hash:
11103
11946
  #
11104
- # {
11105
- # thing_name: "ThingName", # required
11106
- # }
11947
+ # {
11948
+ # next_token: "NextToken",
11949
+ # max_results: 1,
11950
+ # thing_name: "ThingName", # required
11951
+ # }
11952
+ #
11953
+ # @!attribute [rw] next_token
11954
+ # To retrieve the next set of results, the `nextToken` value from a
11955
+ # previous response; otherwise **null** to receive the first set of
11956
+ # results.
11957
+ # @return [String]
11958
+ #
11959
+ # @!attribute [rw] max_results
11960
+ # The maximum number of results to return in this operation.
11961
+ # @return [Integer]
11107
11962
  #
11108
11963
  # @!attribute [rw] thing_name
11109
11964
  # The name of the thing.
11110
11965
  # @return [String]
11111
11966
  #
11112
11967
  class ListThingPrincipalsRequest < Struct.new(
11968
+ :next_token,
11969
+ :max_results,
11113
11970
  :thing_name)
11114
11971
  SENSITIVE = []
11115
11972
  include Aws::Structure
@@ -11121,8 +11978,14 @@ module Aws::IoT
11121
11978
  # The principals associated with the thing.
11122
11979
  # @return [Array<String>]
11123
11980
  #
11981
+ # @!attribute [rw] next_token
11982
+ # The token to use to get the next set of results, or **null** if
11983
+ # there are no additional results.
11984
+ # @return [String]
11985
+ #
11124
11986
  class ListThingPrincipalsResponse < Struct.new(
11125
- :principals)
11987
+ :principals,
11988
+ :next_token)
11126
11989
  SENSITIVE = []
11127
11990
  include Aws::Structure
11128
11991
  end
@@ -11146,7 +12009,9 @@ module Aws::IoT
11146
12009
  # @return [String]
11147
12010
  #
11148
12011
  # @!attribute [rw] next_token
11149
- # The token to retrieve the next set of results.
12012
+ # To retrieve the next set of results, the `nextToken` value from a
12013
+ # previous response; otherwise **null** to receive the first set of
12014
+ # results.
11150
12015
  # @return [String]
11151
12016
  #
11152
12017
  # @!attribute [rw] max_results
@@ -11171,8 +12036,8 @@ module Aws::IoT
11171
12036
  # @return [String]
11172
12037
  #
11173
12038
  # @!attribute [rw] next_token
11174
- # The token used to get the next set of results, or **null** if there
11175
- # are no additional results.
12039
+ # The token to use to get the next set of results, or **null** if
12040
+ # there are no additional results.
11176
12041
  # @return [String]
11177
12042
  #
11178
12043
  class ListThingRegistrationTaskReportsResponse < Struct.new(
@@ -11193,7 +12058,9 @@ module Aws::IoT
11193
12058
  # }
11194
12059
  #
11195
12060
  # @!attribute [rw] next_token
11196
- # The token to retrieve the next set of results.
12061
+ # To retrieve the next set of results, the `nextToken` value from a
12062
+ # previous response; otherwise **null** to receive the first set of
12063
+ # results.
11197
12064
  # @return [String]
11198
12065
  #
11199
12066
  # @!attribute [rw] max_results
@@ -11217,8 +12084,8 @@ module Aws::IoT
11217
12084
  # @return [Array<String>]
11218
12085
  #
11219
12086
  # @!attribute [rw] next_token
11220
- # The token used to get the next set of results, or **null** if there
11221
- # are no additional results.
12087
+ # The token to use to get the next set of results, or **null** if
12088
+ # there are no additional results.
11222
12089
  # @return [String]
11223
12090
  #
11224
12091
  class ListThingRegistrationTasksResponse < Struct.new(
@@ -11240,7 +12107,9 @@ module Aws::IoT
11240
12107
  # }
11241
12108
  #
11242
12109
  # @!attribute [rw] next_token
11243
- # The token to retrieve the next set of results.
12110
+ # To retrieve the next set of results, the `nextToken` value from a
12111
+ # previous response; otherwise **null** to receive the first set of
12112
+ # results.
11244
12113
  # @return [String]
11245
12114
  #
11246
12115
  # @!attribute [rw] max_results
@@ -11291,7 +12160,9 @@ module Aws::IoT
11291
12160
  # @return [String]
11292
12161
  #
11293
12162
  # @!attribute [rw] next_token
11294
- # The token to retrieve the next set of results.
12163
+ # To retrieve the next set of results, the `nextToken` value from a
12164
+ # previous response; otherwise **null** to receive the first set of
12165
+ # results.
11295
12166
  # @return [String]
11296
12167
  #
11297
12168
  # @!attribute [rw] max_results
@@ -11311,8 +12182,8 @@ module Aws::IoT
11311
12182
  # @return [Array<String>]
11312
12183
  #
11313
12184
  # @!attribute [rw] next_token
11314
- # The token used to get the next set of results. Will not be returned
11315
- # if operation has returned all results.
12185
+ # The token to use to get the next set of results. Will not be
12186
+ # returned if operation has returned all results.
11316
12187
  # @return [String]
11317
12188
  #
11318
12189
  class ListThingsInBillingGroupResponse < Struct.new(
@@ -11342,7 +12213,9 @@ module Aws::IoT
11342
12213
  # @return [Boolean]
11343
12214
  #
11344
12215
  # @!attribute [rw] next_token
11345
- # The token to retrieve the next set of results.
12216
+ # To retrieve the next set of results, the `nextToken` value from a
12217
+ # previous response; otherwise **null** to receive the first set of
12218
+ # results.
11346
12219
  # @return [String]
11347
12220
  #
11348
12221
  # @!attribute [rw] max_results
@@ -11363,8 +12236,8 @@ module Aws::IoT
11363
12236
  # @return [Array<String>]
11364
12237
  #
11365
12238
  # @!attribute [rw] next_token
11366
- # The token used to get the next set of results, or **null** if there
11367
- # are no additional results.
12239
+ # The token to use to get the next set of results, or **null** if
12240
+ # there are no additional results.
11368
12241
  # @return [String]
11369
12242
  #
11370
12243
  class ListThingsInThingGroupResponse < Struct.new(
@@ -11388,7 +12261,9 @@ module Aws::IoT
11388
12261
  # }
11389
12262
  #
11390
12263
  # @!attribute [rw] next_token
11391
- # The token to retrieve the next set of results.
12264
+ # To retrieve the next set of results, the `nextToken` value from a
12265
+ # previous response; otherwise **null** to receive the first set of
12266
+ # results.
11392
12267
  # @return [String]
11393
12268
  #
11394
12269
  # @!attribute [rw] max_results
@@ -11424,8 +12299,8 @@ module Aws::IoT
11424
12299
  # @return [Array<Types::ThingAttribute>]
11425
12300
  #
11426
12301
  # @!attribute [rw] next_token
11427
- # The token used to get the next set of results. Will not be returned
11428
- # if operation has returned all results.
12302
+ # The token to use to get the next set of results. Will not be
12303
+ # returned if operation has returned all results.
11429
12304
  # @return [String]
11430
12305
  #
11431
12306
  class ListThingsResponse < Struct.new(
@@ -11448,7 +12323,9 @@ module Aws::IoT
11448
12323
  # @return [Integer]
11449
12324
  #
11450
12325
  # @!attribute [rw] next_token
11451
- # The token to retrieve the next set of results.
12326
+ # To retrieve the next set of results, the `nextToken` value from a
12327
+ # previous response; otherwise **null** to receive the first set of
12328
+ # results.
11452
12329
  # @return [String]
11453
12330
  #
11454
12331
  class ListTopicRuleDestinationsRequest < Struct.new(
@@ -11463,7 +12340,8 @@ module Aws::IoT
11463
12340
  # @return [Array<Types::TopicRuleDestinationSummary>]
11464
12341
  #
11465
12342
  # @!attribute [rw] next_token
11466
- # The token to retrieve the next set of results.
12343
+ # The token to use to get the next set of results, or **null** if
12344
+ # there are no additional results.
11467
12345
  # @return [String]
11468
12346
  #
11469
12347
  class ListTopicRuleDestinationsResponse < Struct.new(
@@ -11494,7 +12372,9 @@ module Aws::IoT
11494
12372
  # @return [Integer]
11495
12373
  #
11496
12374
  # @!attribute [rw] next_token
11497
- # A token used to retrieve the next value.
12375
+ # To retrieve the next set of results, the `nextToken` value from a
12376
+ # previous response; otherwise **null** to receive the first set of
12377
+ # results.
11498
12378
  # @return [String]
11499
12379
  #
11500
12380
  # @!attribute [rw] rule_disabled
@@ -11517,7 +12397,8 @@ module Aws::IoT
11517
12397
  # @return [Array<Types::TopicRuleListItem>]
11518
12398
  #
11519
12399
  # @!attribute [rw] next_token
11520
- # A token used to retrieve the next value.
12400
+ # The token to use to get the next set of results, or **null** if
12401
+ # there are no additional results.
11521
12402
  # @return [String]
11522
12403
  #
11523
12404
  class ListTopicRulesResponse < Struct.new(
@@ -11542,8 +12423,9 @@ module Aws::IoT
11542
12423
  # @return [String]
11543
12424
  #
11544
12425
  # @!attribute [rw] next_token
11545
- # The token used to get the next set of results, or **null** if there
11546
- # are no additional results.
12426
+ # To retrieve the next set of results, the `nextToken` value from a
12427
+ # previous response; otherwise **null** to receive the first set of
12428
+ # results.
11547
12429
  # @return [String]
11548
12430
  #
11549
12431
  # @!attribute [rw] max_results
@@ -11563,8 +12445,8 @@ module Aws::IoT
11563
12445
  # @return [Array<Types::LogTargetConfiguration>]
11564
12446
  #
11565
12447
  # @!attribute [rw] next_token
11566
- # The token used to get the next set of results, or **null** if there
11567
- # are no additional results.
12448
+ # The token to use to get the next set of results, or **null** if
12449
+ # there are no additional results.
11568
12450
  # @return [String]
11569
12451
  #
11570
12452
  class ListV2LoggingLevelsResponse < Struct.new(
@@ -11582,6 +12464,8 @@ module Aws::IoT
11582
12464
  # end_time: Time.now, # required
11583
12465
  # thing_name: "DeviceDefenderThingName",
11584
12466
  # security_profile_name: "SecurityProfileName",
12467
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
12468
+ # list_suppressed_alerts: false,
11585
12469
  # next_token: "NextToken",
11586
12470
  # max_results: 1,
11587
12471
  # }
@@ -11604,6 +12488,14 @@ module Aws::IoT
11604
12488
  # security profile.
11605
12489
  # @return [String]
11606
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
+ #
11607
12499
  # @!attribute [rw] next_token
11608
12500
  # The token for the next set of results.
11609
12501
  # @return [String]
@@ -11617,6 +12509,8 @@ module Aws::IoT
11617
12509
  :end_time,
11618
12510
  :thing_name,
11619
12511
  :security_profile_name,
12512
+ :behavior_criteria_type,
12513
+ :list_suppressed_alerts,
11620
12514
  :next_token,
11621
12515
  :max_results)
11622
12516
  SENSITIVE = []
@@ -11708,6 +12602,26 @@ module Aws::IoT
11708
12602
  include Aws::Structure
11709
12603
  end
11710
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
+
11711
12625
  # The policy documentation is not valid.
11712
12626
  #
11713
12627
  # @!attribute [rw] message
@@ -11769,7 +12683,7 @@ module Aws::IoT
11769
12683
  # @return [String]
11770
12684
  #
11771
12685
  # @!attribute [rw] metric_dimension
11772
- # The dimension of a metric.
12686
+ # The dimension of a metric. This can't be used with custom metrics.
11773
12687
  # @return [Types::MetricDimension]
11774
12688
  #
11775
12689
  class MetricToRetain < Struct.new(
@@ -11788,6 +12702,9 @@ module Aws::IoT
11788
12702
  # count: 1,
11789
12703
  # cidrs: ["Cidr"],
11790
12704
  # ports: [1],
12705
+ # number: 1.0,
12706
+ # numbers: [1.0],
12707
+ # strings: ["stringValue"],
11791
12708
  # }
11792
12709
  #
11793
12710
  # @!attribute [rw] count
@@ -11805,10 +12722,25 @@ module Aws::IoT
11805
12722
  # specify that set to be compared with the `metric`.
11806
12723
  # @return [Array<Integer>]
11807
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
+ #
11808
12737
  class MetricValue < Struct.new(
11809
12738
  :count,
11810
12739
  :cidrs,
11811
- :ports)
12740
+ :ports,
12741
+ :number,
12742
+ :numbers,
12743
+ :strings)
11812
12744
  SENSITIVE = []
11813
12745
  include Aws::Structure
11814
12746
  end
@@ -11923,8 +12855,8 @@ module Aws::IoT
11923
12855
  #
11924
12856
  # @!attribute [rw] publish_finding_to_sns_params
11925
12857
  # Parameters to define a mitigation action that publishes findings to
11926
- # Amazon SNS. You can implement your own custom actions in response to
11927
- # 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.
11928
12860
  # @return [Types::PublishFindingToSnsParams]
11929
12861
  #
11930
12862
  class MitigationActionParams < Struct.new(
@@ -12011,6 +12943,7 @@ module Aws::IoT
12011
12943
  #
12012
12944
  # {
12013
12945
  # file_name: "FileName",
12946
+ # file_type: 1,
12014
12947
  # file_version: "OTAUpdateFileVersion",
12015
12948
  # file_location: {
12016
12949
  # stream: {
@@ -12060,6 +12993,11 @@ module Aws::IoT
12060
12993
  # The name of the file.
12061
12994
  # @return [String]
12062
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
+ #
12063
13001
  # @!attribute [rw] file_version
12064
13002
  # The file version.
12065
13003
  # @return [String]
@@ -12078,6 +13016,7 @@ module Aws::IoT
12078
13016
  #
12079
13017
  class OTAUpdateFile < Struct.new(
12080
13018
  :file_name,
13019
+ :file_type,
12081
13020
  :file_version,
12082
13021
  :file_location,
12083
13022
  :code_signing,
@@ -13051,6 +13990,7 @@ module Aws::IoT
13051
13990
  # role_arn: "AwsArn", # required
13052
13991
  # delivery_stream_name: "DeliveryStreamName", # required
13053
13992
  # separator: "FirehoseSeparator",
13993
+ # batch_mode: false,
13054
13994
  # },
13055
13995
  # cloudwatch_metric: {
13056
13996
  # role_arn: "AwsArn", # required
@@ -13084,11 +14024,13 @@ module Aws::IoT
13084
14024
  # iot_analytics: {
13085
14025
  # channel_arn: "AwsArn",
13086
14026
  # channel_name: "ChannelName",
14027
+ # batch_mode: false,
13087
14028
  # role_arn: "AwsArn",
13088
14029
  # },
13089
14030
  # iot_events: {
13090
14031
  # input_name: "InputName", # required
13091
14032
  # message_id: "MessageId",
14033
+ # batch_mode: false,
13092
14034
  # role_arn: "AwsArn", # required
13093
14035
  # },
13094
14036
  # iot_site_wise: {
@@ -13154,6 +14096,15 @@ module Aws::IoT
13154
14096
  # },
13155
14097
  # },
13156
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
+ # },
13157
14108
  # },
13158
14109
  # ],
13159
14110
  # rule_disabled: false,
@@ -13210,6 +14161,7 @@ module Aws::IoT
13210
14161
  # role_arn: "AwsArn", # required
13211
14162
  # delivery_stream_name: "DeliveryStreamName", # required
13212
14163
  # separator: "FirehoseSeparator",
14164
+ # batch_mode: false,
13213
14165
  # },
13214
14166
  # cloudwatch_metric: {
13215
14167
  # role_arn: "AwsArn", # required
@@ -13243,11 +14195,13 @@ module Aws::IoT
13243
14195
  # iot_analytics: {
13244
14196
  # channel_arn: "AwsArn",
13245
14197
  # channel_name: "ChannelName",
14198
+ # batch_mode: false,
13246
14199
  # role_arn: "AwsArn",
13247
14200
  # },
13248
14201
  # iot_events: {
13249
14202
  # input_name: "InputName", # required
13250
14203
  # message_id: "MessageId",
14204
+ # batch_mode: false,
13251
14205
  # role_arn: "AwsArn", # required
13252
14206
  # },
13253
14207
  # iot_site_wise: {
@@ -13313,6 +14267,15 @@ module Aws::IoT
13313
14267
  # },
13314
14268
  # },
13315
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
+ # },
13316
14279
  # },
13317
14280
  # },
13318
14281
  # }
@@ -13537,7 +14500,12 @@ module Aws::IoT
13537
14500
  # @return [String]
13538
14501
  #
13539
14502
  # @!attribute [rw] key
13540
- # The object key.
14503
+ # The object key. For more information, see [Actions, resources, and
14504
+ # condition keys for Amazon S3][1].
14505
+ #
14506
+ #
14507
+ #
14508
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
13541
14509
  # @return [String]
13542
14510
  #
13543
14511
  # @!attribute [rw] canned_acl
@@ -13747,7 +14715,7 @@ module Aws::IoT
13747
14715
  # Identifying information for a Device Defender security profile.
13748
14716
  #
13749
14717
  # @!attribute [rw] name
13750
- # The name you have given to the security profile.
14718
+ # The name you've given to the security profile.
13751
14719
  # @return [String]
13752
14720
  #
13753
14721
  # @!attribute [rw] arn
@@ -13961,7 +14929,11 @@ module Aws::IoT
13961
14929
  include Aws::Structure
13962
14930
  end
13963
14931
 
13964
- # Use Sig V4 authorization.
14932
+ # For more information, see [Signature Version 4 signing process][1].
14933
+ #
14934
+ #
14935
+ #
14936
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
13965
14937
  #
13966
14938
  # @note When making an API call, you may pass SigV4Authorization
13967
14939
  # data as a hash:
@@ -14111,7 +15083,7 @@ module Aws::IoT
14111
15083
  # data as a hash:
14112
15084
  #
14113
15085
  # {
14114
- # task_id: "AuditMitigationActionsTaskId", # required
15086
+ # task_id: "MitigationActionsTaskId", # required
14115
15087
  # target: { # required
14116
15088
  # audit_task_id: "AuditTaskId",
14117
15089
  # finding_ids: ["FindingId"],
@@ -14133,7 +15105,7 @@ module Aws::IoT
14133
15105
  # @!attribute [rw] target
14134
15106
  # Specifies the audit findings to which the mitigation actions are
14135
15107
  # applied. You can apply them to a type of audit check, to all
14136
- # findings from an audit, or to a speecific set of findings.
15108
+ # findings from an audit, or to a specific set of findings.
14137
15109
  # @return [Types::AuditMitigationActionsTaskTarget]
14138
15110
  #
14139
15111
  # @!attribute [rw] audit_check_to_actions_mapping
@@ -14171,6 +15143,84 @@ module Aws::IoT
14171
15143
  include Aws::Structure
14172
15144
  end
14173
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
+
14174
15224
  # @note When making an API call, you may pass StartOnDemandAuditTaskRequest
14175
15225
  # data as a hash:
14176
15226
  #
@@ -14290,9 +15340,9 @@ module Aws::IoT
14290
15340
  include Aws::Structure
14291
15341
  end
14292
15342
 
14293
- # A statistical ranking (percentile) which indicates a threshold value
14294
- # by which a behavior is determined to be in compliance or in violation
14295
- # 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.
14296
15346
  #
14297
15347
  # @note When making an API call, you may pass StatisticalThreshold
14298
15348
  # data as a hash:
@@ -14302,7 +15352,7 @@ module Aws::IoT
14302
15352
  # }
14303
15353
  #
14304
15354
  # @!attribute [rw] statistic
14305
- # The percentile which resolves to a threshold value by which
15355
+ # The percentile that resolves to a threshold value by which
14306
15356
  # compliance with a behavior is determined. Metrics are collected over
14307
15357
  # the specified period (`durationSeconds`) from all reporting devices
14308
15358
  # in your account and statistical ranks are calculated. Then, the
@@ -15511,6 +16561,14 @@ module Aws::IoT
15511
16561
  # to be sent to your confirmation endpoint.
15512
16562
  # @return [String]
15513
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
+ #
15514
16572
  # @!attribute [rw] status_reason
15515
16573
  # Additional details or reason why the topic rule destination is in
15516
16574
  # the current status.
@@ -15520,11 +16578,18 @@ module Aws::IoT
15520
16578
  # Properties of the HTTP URL.
15521
16579
  # @return [Types::HttpUrlDestinationProperties]
15522
16580
  #
16581
+ # @!attribute [rw] vpc_properties
16582
+ # Properties of the virtual private cloud (VPC) connection.
16583
+ # @return [Types::VpcDestinationProperties]
16584
+ #
15523
16585
  class TopicRuleDestination < Struct.new(
15524
16586
  :arn,
15525
16587
  :status,
16588
+ :created_at,
16589
+ :last_updated_at,
15526
16590
  :status_reason,
15527
- :http_url_properties)
16591
+ :http_url_properties,
16592
+ :vpc_properties)
15528
16593
  SENSITIVE = []
15529
16594
  include Aws::Structure
15530
16595
  end
@@ -15538,14 +16603,25 @@ module Aws::IoT
15538
16603
  # http_url_configuration: {
15539
16604
  # confirmation_url: "Url", # required
15540
16605
  # },
16606
+ # vpc_configuration: {
16607
+ # subnet_ids: ["SubnetId"], # required
16608
+ # security_groups: ["SecurityGroupId"],
16609
+ # vpc_id: "VpcId", # required
16610
+ # role_arn: "AwsArn", # required
16611
+ # },
15541
16612
  # }
15542
16613
  #
15543
16614
  # @!attribute [rw] http_url_configuration
15544
16615
  # Configuration of the HTTP URL.
15545
16616
  # @return [Types::HttpUrlDestinationConfiguration]
15546
16617
  #
16618
+ # @!attribute [rw] vpc_configuration
16619
+ # Configuration of the virtual private cloud (VPC) connection.
16620
+ # @return [Types::VpcDestinationConfiguration]
16621
+ #
15547
16622
  class TopicRuleDestinationConfiguration < Struct.new(
15548
- :http_url_configuration)
16623
+ :http_url_configuration,
16624
+ :vpc_configuration)
15549
16625
  SENSITIVE = []
15550
16626
  include Aws::Structure
15551
16627
  end
@@ -15589,6 +16665,14 @@ module Aws::IoT
15589
16665
  # to be sent to your confirmation endpoint.
15590
16666
  # @return [String]
15591
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
+ #
15592
16676
  # @!attribute [rw] status_reason
15593
16677
  # The reason the topic rule destination is in the current status.
15594
16678
  # @return [String]
@@ -15597,11 +16681,18 @@ module Aws::IoT
15597
16681
  # Information about the HTTP URL.
15598
16682
  # @return [Types::HttpUrlDestinationSummary]
15599
16683
  #
16684
+ # @!attribute [rw] vpc_destination_summary
16685
+ # Information about the virtual private cloud (VPC) connection.
16686
+ # @return [Types::VpcDestinationSummary]
16687
+ #
15600
16688
  class TopicRuleDestinationSummary < Struct.new(
15601
16689
  :arn,
15602
16690
  :status,
16691
+ :created_at,
16692
+ :last_updated_at,
15603
16693
  :status_reason,
15604
- :http_url_summary)
16694
+ :http_url_summary,
16695
+ :vpc_destination_summary)
15605
16696
  SENSITIVE = []
15606
16697
  include Aws::Structure
15607
16698
  end
@@ -15699,6 +16790,7 @@ module Aws::IoT
15699
16790
  # role_arn: "AwsArn", # required
15700
16791
  # delivery_stream_name: "DeliveryStreamName", # required
15701
16792
  # separator: "FirehoseSeparator",
16793
+ # batch_mode: false,
15702
16794
  # },
15703
16795
  # cloudwatch_metric: {
15704
16796
  # role_arn: "AwsArn", # required
@@ -15732,11 +16824,13 @@ module Aws::IoT
15732
16824
  # iot_analytics: {
15733
16825
  # channel_arn: "AwsArn",
15734
16826
  # channel_name: "ChannelName",
16827
+ # batch_mode: false,
15735
16828
  # role_arn: "AwsArn",
15736
16829
  # },
15737
16830
  # iot_events: {
15738
16831
  # input_name: "InputName", # required
15739
16832
  # message_id: "MessageId",
16833
+ # batch_mode: false,
15740
16834
  # role_arn: "AwsArn", # required
15741
16835
  # },
15742
16836
  # iot_site_wise: {
@@ -15802,6 +16896,15 @@ module Aws::IoT
15802
16896
  # },
15803
16897
  # },
15804
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
+ # },
15805
16908
  # },
15806
16909
  # ],
15807
16910
  # rule_disabled: false,
@@ -15858,6 +16961,7 @@ module Aws::IoT
15858
16961
  # role_arn: "AwsArn", # required
15859
16962
  # delivery_stream_name: "DeliveryStreamName", # required
15860
16963
  # separator: "FirehoseSeparator",
16964
+ # batch_mode: false,
15861
16965
  # },
15862
16966
  # cloudwatch_metric: {
15863
16967
  # role_arn: "AwsArn", # required
@@ -15891,11 +16995,13 @@ module Aws::IoT
15891
16995
  # iot_analytics: {
15892
16996
  # channel_arn: "AwsArn",
15893
16997
  # channel_name: "ChannelName",
16998
+ # batch_mode: false,
15894
16999
  # role_arn: "AwsArn",
15895
17000
  # },
15896
17001
  # iot_events: {
15897
17002
  # input_name: "InputName", # required
15898
17003
  # message_id: "MessageId",
17004
+ # batch_mode: false,
15899
17005
  # role_arn: "AwsArn", # required
15900
17006
  # },
15901
17007
  # iot_site_wise: {
@@ -15961,6 +17067,15 @@ module Aws::IoT
15961
17067
  # },
15962
17068
  # },
15963
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
+ # },
15964
17079
  # },
15965
17080
  # }
15966
17081
  #
@@ -16163,9 +17278,9 @@ module Aws::IoT
16163
17278
  # }
16164
17279
  #
16165
17280
  # @!attribute [rw] role_arn
16166
- # The ARN of the role that grants permission to AWS IoT to access
16167
- # information about your devices, policies, certificates and other
16168
- # 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.
16169
17284
  # @return [String]
16170
17285
  #
16171
17286
  # @!attribute [rw] audit_notification_target_configurations
@@ -16181,7 +17296,7 @@ module Aws::IoT
16181
17296
  # enabled. When a check is disabled, any data collected so far in
16182
17297
  # relation to the check is deleted.
16183
17298
  #
16184
- # 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
16185
17300
  # must first delete the check from the scheduled audit or delete the
16186
17301
  # scheduled audit itself.
16187
17302
  #
@@ -16372,7 +17487,7 @@ module Aws::IoT
16372
17487
  # }
16373
17488
  #
16374
17489
  # @!attribute [rw] action
16375
- # 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
16376
17491
  # supported value is `DEACTIVATE`.
16377
17492
  # @return [String]
16378
17493
  #
@@ -16466,6 +17581,68 @@ module Aws::IoT
16466
17581
  include Aws::Structure
16467
17582
  end
16468
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
+
16469
17646
  # Parameters to define a mitigation action that changes the state of the
16470
17647
  # device certificate to inactive.
16471
17648
  #
@@ -16477,7 +17654,7 @@ module Aws::IoT
16477
17654
  # }
16478
17655
  #
16479
17656
  # @!attribute [rw] action
16480
- # 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
16481
17658
  # only supported value is `DEACTIVATE`.
16482
17659
  # @return [String]
16483
17660
  #
@@ -16519,7 +17696,7 @@ module Aws::IoT
16519
17696
  # @return [String]
16520
17697
  #
16521
17698
  # @!attribute [rw] arn
16522
- # The ARN (Amazon resource name) of the created dimension.
17699
+ # The Amazon Resource Name (ARN)of the created dimension.
16523
17700
  # @return [String]
16524
17701
  #
16525
17702
  # @!attribute [rw] type
@@ -16879,9 +18056,9 @@ module Aws::IoT
16879
18056
  # }
16880
18057
  #
16881
18058
  # @!attribute [rw] action_name
16882
- # The friendly name for the mitigation action. You can't change the
18059
+ # The friendly name for the mitigation action. You cannot change the
16883
18060
  # name by using `UpdateMitigationAction`. Instead, you must delete and
16884
- # re-create the mitigation action with the new name.
18061
+ # recreate the mitigation action with the new name.
16885
18062
  # @return [String]
16886
18063
  #
16887
18064
  # @!attribute [rw] role_arn
@@ -17030,24 +18207,24 @@ module Aws::IoT
17030
18207
  # }
17031
18208
  #
17032
18209
  # @!attribute [rw] frequency
17033
- # How often the scheduled audit takes place. Can be one of "DAILY",
17034
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each
17035
- # 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.
17036
18213
  # @return [String]
17037
18214
  #
17038
18215
  # @!attribute [rw] day_of_month
17039
- # The day of the month on which the scheduled audit takes place. Can
17040
- # be "1" through "31" or "LAST". This field is required if the
17041
- # "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
17042
18219
  # specified, and the month does not have that many days, the audit
17043
18220
  # takes place on the "LAST" day of the month.
17044
18221
  # @return [String]
17045
18222
  #
17046
18223
  # @!attribute [rw] day_of_week
17047
- # The day of the week on which the scheduled audit takes place. Can be
17048
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
17049
- # "SAT". This field is required if the "frequency" parameter is
17050
- # 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`.
17051
18228
  # @return [String]
17052
18229
  #
17053
18230
  # @!attribute [rw] target_check_names
@@ -17098,11 +18275,14 @@ module Aws::IoT
17098
18275
  # operator: "IN", # accepts IN, NOT_IN
17099
18276
  # },
17100
18277
  # criteria: {
17101
- # 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
17102
18279
  # value: {
17103
18280
  # count: 1,
17104
18281
  # cidrs: ["Cidr"],
17105
18282
  # ports: [1],
18283
+ # number: 1.0,
18284
+ # numbers: [1.0],
18285
+ # strings: ["stringValue"],
17106
18286
  # },
17107
18287
  # duration_seconds: 1,
17108
18288
  # consecutive_datapoints_to_alarm: 1,
@@ -17110,7 +18290,11 @@ module Aws::IoT
17110
18290
  # statistical_threshold: {
17111
18291
  # statistic: "EvaluationStatistic",
17112
18292
  # },
18293
+ # ml_detection_config: {
18294
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18295
+ # },
17113
18296
  # },
18297
+ # suppress_alerts: false,
17114
18298
  # },
17115
18299
  # ],
17116
18300
  # alert_targets: {
@@ -17158,13 +18342,15 @@ module Aws::IoT
17158
18342
  #
17159
18343
  # A list of metrics whose data is retained (stored). By default, data
17160
18344
  # is retained for any metric used in the profile's `behaviors`, but
17161
- # 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.
17162
18347
  # @return [Array<String>]
17163
18348
  #
17164
18349
  # @!attribute [rw] additional_metrics_to_retain_v2
17165
18350
  # A list of metrics whose data is retained (stored). By default, data
17166
18351
  # is retained for any metric used in the profile's behaviors, but it
17167
- # 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.
17168
18354
  # @return [Array<Types::MetricToRetain>]
17169
18355
  #
17170
18356
  # @!attribute [rw] delete_behaviors
@@ -17240,7 +18426,8 @@ module Aws::IoT
17240
18426
  # @!attribute [rw] additional_metrics_to_retain_v2
17241
18427
  # A list of metrics whose data is retained (stored). By default, data
17242
18428
  # is retained for any metric used in the profile's behaviors, but it
17243
- # 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.
17244
18431
  # @return [Array<Types::MetricToRetain>]
17245
18432
  #
17246
18433
  # @!attribute [rw] version
@@ -17499,7 +18686,7 @@ module Aws::IoT
17499
18686
  #
17500
18687
  # {
17501
18688
  # arn: "AwsArn", # required
17502
- # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR
18689
+ # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR, DELETING
17503
18690
  # }
17504
18691
  #
17505
18692
  # @!attribute [rw] arn
@@ -17561,11 +18748,14 @@ module Aws::IoT
17561
18748
  # operator: "IN", # accepts IN, NOT_IN
17562
18749
  # },
17563
18750
  # criteria: {
17564
- # 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
17565
18752
  # value: {
17566
18753
  # count: 1,
17567
18754
  # cidrs: ["Cidr"],
17568
18755
  # ports: [1],
18756
+ # number: 1.0,
18757
+ # numbers: [1.0],
18758
+ # strings: ["stringValue"],
17569
18759
  # },
17570
18760
  # duration_seconds: 1,
17571
18761
  # consecutive_datapoints_to_alarm: 1,
@@ -17573,7 +18763,11 @@ module Aws::IoT
17573
18763
  # statistical_threshold: {
17574
18764
  # statistic: "EvaluationStatistic",
17575
18765
  # },
18766
+ # ml_detection_config: {
18767
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18768
+ # },
17576
18769
  # },
18770
+ # suppress_alerts: false,
17577
18771
  # },
17578
18772
  # ],
17579
18773
  # }
@@ -17658,13 +18852,17 @@ module Aws::IoT
17658
18852
  # @return [String]
17659
18853
  #
17660
18854
  # @!attribute [rw] behavior
17661
- # The behavior which was violated.
18855
+ # The behavior that was violated.
17662
18856
  # @return [Types::Behavior]
17663
18857
  #
17664
18858
  # @!attribute [rw] metric_value
17665
18859
  # The value of the metric (the measurement).
17666
18860
  # @return [Types::MetricValue]
17667
18861
  #
18862
+ # @!attribute [rw] violation_event_additional_info
18863
+ # The details of a violation event.
18864
+ # @return [Types::ViolationEventAdditionalInfo]
18865
+ #
17668
18866
  # @!attribute [rw] violation_event_type
17669
18867
  # The type of violation event.
17670
18868
  # @return [String]
@@ -17679,11 +18877,147 @@ module Aws::IoT
17679
18877
  :security_profile_name,
17680
18878
  :behavior,
17681
18879
  :metric_value,
18880
+ :violation_event_additional_info,
17682
18881
  :violation_event_type,
17683
18882
  :violation_event_time)
17684
18883
  SENSITIVE = []
17685
18884
  include Aws::Structure
17686
18885
  end
17687
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
+
17688
19022
  end
17689
19023
  end