aws-sdk-iot 1.60.0 → 1.65.0

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