aws-sdk-iot 1.59.0 → 1.64.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -161,6 +161,7 @@ module Aws::IoT
161
161
  # role_arn: "AwsArn", # required
162
162
  # delivery_stream_name: "DeliveryStreamName", # required
163
163
  # separator: "FirehoseSeparator",
164
+ # batch_mode: false,
164
165
  # },
165
166
  # cloudwatch_metric: {
166
167
  # role_arn: "AwsArn", # required
@@ -194,11 +195,13 @@ module Aws::IoT
194
195
  # iot_analytics: {
195
196
  # channel_arn: "AwsArn",
196
197
  # channel_name: "ChannelName",
198
+ # batch_mode: false,
197
199
  # role_arn: "AwsArn",
198
200
  # },
199
201
  # iot_events: {
200
202
  # input_name: "InputName", # required
201
203
  # message_id: "MessageId",
204
+ # batch_mode: false,
202
205
  # role_arn: "AwsArn", # required
203
206
  # },
204
207
  # iot_site_wise: {
@@ -264,6 +267,15 @@ module Aws::IoT
264
267
  # },
265
268
  # },
266
269
  # },
270
+ # kafka: {
271
+ # destination_arn: "AwsArn", # required
272
+ # topic: "String", # required
273
+ # key: "String",
274
+ # partition: "String",
275
+ # client_properties: { # required
276
+ # "String" => "String",
277
+ # },
278
+ # },
267
279
  # }
268
280
  #
269
281
  # @!attribute [rw] dynamo_db
@@ -355,6 +367,11 @@ module Aws::IoT
355
367
  # Send data to an HTTPS endpoint.
356
368
  # @return [Types::HttpAction]
357
369
  #
370
+ # @!attribute [rw] kafka
371
+ # Send messages to an Amazon Managed Streaming for Apache Kafka
372
+ # (Amazon MSK) or self-managed Apache Kafka cluster.
373
+ # @return [Types::KafkaAction]
374
+ #
358
375
  class Action < Struct.new(
359
376
  :dynamo_db,
360
377
  :dynamo_d_bv_2,
@@ -375,7 +392,8 @@ module Aws::IoT
375
392
  :iot_site_wise,
376
393
  :step_functions,
377
394
  :timestream,
378
- :http)
395
+ :http,
396
+ :kafka)
379
397
  SENSITIVE = []
380
398
  include Aws::Structure
381
399
  end
@@ -392,18 +410,22 @@ module Aws::IoT
392
410
  # @return [String]
393
411
  #
394
412
  # @!attribute [rw] security_profile_name
395
- # The security profile whose behavior is in violation.
413
+ # The security profile with the behavior is in violation.
396
414
  # @return [String]
397
415
  #
398
416
  # @!attribute [rw] behavior
399
- # The behavior which is being violated.
417
+ # The behavior that is being violated.
400
418
  # @return [Types::Behavior]
401
419
  #
402
420
  # @!attribute [rw] last_violation_value
403
- # The value of the metric (the measurement) which caused the most
421
+ # The value of the metric (the measurement) that caused the most
404
422
  # recent violation.
405
423
  # @return [Types::MetricValue]
406
424
  #
425
+ # @!attribute [rw] violation_event_additional_info
426
+ # The details of a violation event.
427
+ # @return [Types::ViolationEventAdditionalInfo]
428
+ #
407
429
  # @!attribute [rw] last_violation_time
408
430
  # The time the most recent violation occurred.
409
431
  # @return [Time]
@@ -418,6 +440,7 @@ module Aws::IoT
418
440
  :security_profile_name,
419
441
  :behavior,
420
442
  :last_violation_value,
443
+ :violation_event_additional_info,
421
444
  :last_violation_time,
422
445
  :violation_start_time)
423
446
  SENSITIVE = []
@@ -521,14 +544,14 @@ module Aws::IoT
521
544
  # @!attribute [rw] thing_group_names
522
545
  # The list of groups to which you want to add the things that
523
546
  # triggered the mitigation action. You can add a thing to a maximum of
524
- # 10 groups, but you cannot add a thing to more than one group in the
547
+ # 10 groups, but you can't add a thing to more than one group in the
525
548
  # same hierarchy.
526
549
  # @return [Array<String>]
527
550
  #
528
551
  # @!attribute [rw] override_dynamic_groups
529
552
  # Specifies if this mitigation action can move the things that
530
553
  # triggered the mitigation action even if they are part of one or more
531
- # dynamic things groups.
554
+ # dynamic thing groups.
532
555
  # @return [Boolean]
533
556
  #
534
557
  class AddThingsToThingGroupParams < Struct.new(
@@ -549,7 +572,8 @@ module Aws::IoT
549
572
  # }
550
573
  #
551
574
  # @!attribute [rw] alert_target_arn
552
- # The ARN of the notification target to which alerts are sent.
575
+ # The Amazon Resource Name (ARN) of the notification target to which
576
+ # alerts are sent.
553
577
  # @return [String]
554
578
  #
555
579
  # @!attribute [rw] role_arn
@@ -692,6 +716,7 @@ module Aws::IoT
692
716
  # targets: ["TargetArn"], # required
693
717
  # job_id: "JobId", # required
694
718
  # comment: "Comment",
719
+ # namespace_id: "NamespaceId",
695
720
  # }
696
721
  #
697
722
  # @!attribute [rw] targets
@@ -707,10 +732,25 @@ module Aws::IoT
707
732
  # with the targets.
708
733
  # @return [String]
709
734
  #
735
+ # @!attribute [rw] namespace_id
736
+ # The namespace used to indicate that a job is a customer-managed job.
737
+ #
738
+ # When you specify a value for this parameter, AWS IoT Core sends jobs
739
+ # notifications to MQTT topics that contain the value in the following
740
+ # format.
741
+ #
742
+ # `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`
743
+ #
744
+ # <note markdown="1"> The `namespaceId` feature is in public preview.
745
+ #
746
+ # </note>
747
+ # @return [String]
748
+ #
710
749
  class AssociateTargetsWithJobRequest < Struct.new(
711
750
  :targets,
712
751
  :job_id,
713
- :comment)
752
+ :comment,
753
+ :namespace_id)
714
754
  SENSITIVE = []
715
755
  include Aws::Structure
716
756
  end
@@ -1623,11 +1663,14 @@ module Aws::IoT
1623
1663
  # operator: "IN", # accepts IN, NOT_IN
1624
1664
  # },
1625
1665
  # criteria: {
1626
- # 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
1627
1667
  # value: {
1628
1668
  # count: 1,
1629
1669
  # cidrs: ["Cidr"],
1630
1670
  # ports: [1],
1671
+ # number: 1.0,
1672
+ # numbers: [1.0],
1673
+ # strings: ["stringValue"],
1631
1674
  # },
1632
1675
  # duration_seconds: 1,
1633
1676
  # consecutive_datapoints_to_alarm: 1,
@@ -1635,11 +1678,15 @@ module Aws::IoT
1635
1678
  # statistical_threshold: {
1636
1679
  # statistic: "EvaluationStatistic",
1637
1680
  # },
1681
+ # ml_detection_config: {
1682
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
1683
+ # },
1638
1684
  # },
1685
+ # suppress_alerts: false,
1639
1686
  # }
1640
1687
  #
1641
1688
  # @!attribute [rw] name
1642
- # The name you have given to the behavior.
1689
+ # The name you've given to the behavior.
1643
1690
  # @return [String]
1644
1691
  #
1645
1692
  # @!attribute [rw] metric
@@ -1649,8 +1696,8 @@ module Aws::IoT
1649
1696
  # @!attribute [rw] metric_dimension
1650
1697
  # The dimension for a metric in your behavior. For example, using a
1651
1698
  # `TOPIC_FILTER` dimension, you can narrow down the scope of the
1652
- # metric only to MQTT topics whose name match the pattern specified in
1653
- # 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.
1654
1701
  # @return [Types::MetricDimension]
1655
1702
  #
1656
1703
  # @!attribute [rw] criteria
@@ -1658,11 +1705,16 @@ module Aws::IoT
1658
1705
  # regard to the `metric`.
1659
1706
  # @return [Types::BehaviorCriteria]
1660
1707
  #
1708
+ # @!attribute [rw] suppress_alerts
1709
+ # Suppresses alerts.
1710
+ # @return [Boolean]
1711
+ #
1661
1712
  class Behavior < Struct.new(
1662
1713
  :name,
1663
1714
  :metric,
1664
1715
  :metric_dimension,
1665
- :criteria)
1716
+ :criteria,
1717
+ :suppress_alerts)
1666
1718
  SENSITIVE = []
1667
1719
  include Aws::Structure
1668
1720
  end
@@ -1673,11 +1725,14 @@ module Aws::IoT
1673
1725
  # data as a hash:
1674
1726
  #
1675
1727
  # {
1676
- # 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
1677
1729
  # value: {
1678
1730
  # count: 1,
1679
1731
  # cidrs: ["Cidr"],
1680
1732
  # ports: [1],
1733
+ # number: 1.0,
1734
+ # numbers: [1.0],
1735
+ # strings: ["stringValue"],
1681
1736
  # },
1682
1737
  # duration_seconds: 1,
1683
1738
  # consecutive_datapoints_to_alarm: 1,
@@ -1685,11 +1740,24 @@ module Aws::IoT
1685
1740
  # statistical_threshold: {
1686
1741
  # statistic: "EvaluationStatistic",
1687
1742
  # },
1743
+ # ml_detection_config: {
1744
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
1745
+ # },
1688
1746
  # }
1689
1747
  #
1690
1748
  # @!attribute [rw] comparison_operator
1691
1749
  # The operator that relates the thing measured (`metric`) to the
1692
- # 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`
1693
1761
  # @return [String]
1694
1762
  #
1695
1763
  # @!attribute [rw] value
@@ -1698,12 +1766,13 @@ module Aws::IoT
1698
1766
  #
1699
1767
  # @!attribute [rw] duration_seconds
1700
1768
  # Use this to specify the time duration over which the behavior is
1701
- # evaluated, for those criteria which have a time dimension (for
1769
+ # evaluated, for those criteria that have a time dimension (for
1702
1770
  # example, `NUM_MESSAGES_SENT`). For a `statisticalThreshhold` metric
1703
1771
  # comparison, measurements from all devices are accumulated over this
1704
1772
  # time duration before being used to calculate percentiles, and later,
1705
1773
  # measurements from an individual device are also accumulated over
1706
- # 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.
1707
1776
  # @return [Integer]
1708
1777
  #
1709
1778
  # @!attribute [rw] consecutive_datapoints_to_alarm
@@ -1720,18 +1789,60 @@ module Aws::IoT
1720
1789
  # @return [Integer]
1721
1790
  #
1722
1791
  # @!attribute [rw] statistical_threshold
1723
- # A statistical ranking (percentile) which indicates a threshold value
1792
+ # A statistical ranking (percentile)that indicates a threshold value
1724
1793
  # by which a behavior is determined to be in compliance or in
1725
1794
  # violation of the behavior.
1726
1795
  # @return [Types::StatisticalThreshold]
1727
1796
  #
1797
+ # @!attribute [rw] ml_detection_config
1798
+ # The configuration of an ML Detect
1799
+ # @return [Types::MachineLearningDetectionConfig]
1800
+ #
1728
1801
  class BehaviorCriteria < Struct.new(
1729
1802
  :comparison_operator,
1730
1803
  :value,
1731
1804
  :duration_seconds,
1732
1805
  :consecutive_datapoints_to_alarm,
1733
1806
  :consecutive_datapoints_to_clear,
1734
- :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)
1735
1846
  SENSITIVE = []
1736
1847
  include Aws::Structure
1737
1848
  end
@@ -1864,7 +1975,7 @@ module Aws::IoT
1864
1975
  # data as a hash:
1865
1976
  #
1866
1977
  # {
1867
- # task_id: "AuditMitigationActionsTaskId", # required
1978
+ # task_id: "MitigationActionsTaskId", # required
1868
1979
  # }
1869
1980
  #
1870
1981
  # @!attribute [rw] task_id
@@ -1919,6 +2030,25 @@ module Aws::IoT
1919
2030
  include Aws::Structure
1920
2031
  end
1921
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
+
1922
2052
  # @note When making an API call, you may pass CancelJobExecutionRequest
1923
2053
  # data as a hash:
1924
2054
  #
@@ -2753,6 +2883,80 @@ module Aws::IoT
2753
2883
  include Aws::Structure
2754
2884
  end
2755
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
+
2756
2960
  # @note When making an API call, you may pass CreateDimensionRequest
2757
2961
  # data as a hash:
2758
2962
  #
@@ -2814,7 +3018,7 @@ module Aws::IoT
2814
3018
  # @return [String]
2815
3019
  #
2816
3020
  # @!attribute [rw] arn
2817
- # The ARN (Amazon resource name) of the created dimension.
3021
+ # The Amazon Resource Name (ARN) of the created dimension.
2818
3022
  # @return [String]
2819
3023
  #
2820
3024
  class CreateDimensionResponse < Struct.new(
@@ -3075,6 +3279,7 @@ module Aws::IoT
3075
3279
  # value: "TagValue",
3076
3280
  # },
3077
3281
  # ],
3282
+ # namespace_id: "NamespaceId",
3078
3283
  # }
3079
3284
  #
3080
3285
  # @!attribute [rw] job_id
@@ -3144,6 +3349,20 @@ module Aws::IoT
3144
3349
  # Metadata which can be used to manage the job.
3145
3350
  # @return [Array<Types::Tag>]
3146
3351
  #
3352
+ # @!attribute [rw] namespace_id
3353
+ # The namespace used to indicate that a job is a customer-managed job.
3354
+ #
3355
+ # When you specify a value for this parameter, AWS IoT Core sends jobs
3356
+ # notifications to MQTT topics that contain the value in the following
3357
+ # format.
3358
+ #
3359
+ # `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`
3360
+ #
3361
+ # <note markdown="1"> The `namespaceId` feature is in public preview.
3362
+ #
3363
+ # </note>
3364
+ # @return [String]
3365
+ #
3147
3366
  class CreateJobRequest < Struct.new(
3148
3367
  :job_id,
3149
3368
  :targets,
@@ -3155,7 +3374,8 @@ module Aws::IoT
3155
3374
  :job_executions_rollout_config,
3156
3375
  :abort_config,
3157
3376
  :timeout_config,
3158
- :tags)
3377
+ :tags,
3378
+ :namespace_id)
3159
3379
  SENSITIVE = []
3160
3380
  include Aws::Structure
3161
3381
  end
@@ -3344,6 +3564,7 @@ module Aws::IoT
3344
3564
  # files: [ # required
3345
3565
  # {
3346
3566
  # file_name: "FileName",
3567
+ # file_type: 1,
3347
3568
  # file_version: "OTAUpdateFileVersion",
3348
3569
  # file_location: {
3349
3570
  # stream: {
@@ -3929,24 +4150,24 @@ module Aws::IoT
3929
4150
  # }
3930
4151
  #
3931
4152
  # @!attribute [rw] frequency
3932
- # How often the scheduled audit takes place. Can be one of "DAILY",
3933
- # "WEEKLY", "BIWEEKLY" or "MONTHLY". The start time of each
3934
- # 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.
3935
4156
  # @return [String]
3936
4157
  #
3937
4158
  # @!attribute [rw] day_of_month
3938
- # The day of the month on which the scheduled audit takes place. Can
3939
- # be "1" through "31" or "LAST". This field is required if the
3940
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
3941
- # specified, and the month does not have that many days, the audit
3942
- # 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.
3943
4164
  # @return [String]
3944
4165
  #
3945
4166
  # @!attribute [rw] day_of_week
3946
- # The day of the week on which the scheduled audit takes place. Can be
3947
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
3948
- # "SAT". This field is required if the "frequency" parameter is
3949
- # 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`.
3950
4171
  # @return [String]
3951
4172
  #
3952
4173
  # @!attribute [rw] target_check_names
@@ -4002,11 +4223,14 @@ module Aws::IoT
4002
4223
  # operator: "IN", # accepts IN, NOT_IN
4003
4224
  # },
4004
4225
  # criteria: {
4005
- # 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
4006
4227
  # value: {
4007
4228
  # count: 1,
4008
4229
  # cidrs: ["Cidr"],
4009
4230
  # ports: [1],
4231
+ # number: 1.0,
4232
+ # numbers: [1.0],
4233
+ # strings: ["stringValue"],
4010
4234
  # },
4011
4235
  # duration_seconds: 1,
4012
4236
  # consecutive_datapoints_to_alarm: 1,
@@ -4014,7 +4238,11 @@ module Aws::IoT
4014
4238
  # statistical_threshold: {
4015
4239
  # statistic: "EvaluationStatistic",
4016
4240
  # },
4241
+ # ml_detection_config: {
4242
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
4243
+ # },
4017
4244
  # },
4245
+ # suppress_alerts: false,
4018
4246
  # },
4019
4247
  # ],
4020
4248
  # alert_targets: {
@@ -4066,13 +4294,15 @@ module Aws::IoT
4066
4294
  #
4067
4295
  # A list of metrics whose data is retained (stored). By default, data
4068
4296
  # is retained for any metric used in the profile's `behaviors`, but
4069
- # 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.
4070
4299
  # @return [Array<String>]
4071
4300
  #
4072
4301
  # @!attribute [rw] additional_metrics_to_retain_v2
4073
4302
  # A list of metrics whose data is retained (stored). By default, data
4074
4303
  # is retained for any metric used in the profile's `behaviors`, but
4075
- # 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.
4076
4306
  # @return [Array<Types::MetricToRetain>]
4077
4307
  #
4078
4308
  # @!attribute [rw] tags
@@ -4397,6 +4627,12 @@ module Aws::IoT
4397
4627
  # http_url_configuration: {
4398
4628
  # confirmation_url: "Url", # required
4399
4629
  # },
4630
+ # vpc_configuration: {
4631
+ # subnet_ids: ["SubnetId"], # required
4632
+ # security_groups: ["SecurityGroupId"],
4633
+ # vpc_id: "VpcId", # required
4634
+ # role_arn: "AwsArn", # required
4635
+ # },
4400
4636
  # },
4401
4637
  # }
4402
4638
  #
@@ -4483,6 +4719,7 @@ module Aws::IoT
4483
4719
  # role_arn: "AwsArn", # required
4484
4720
  # delivery_stream_name: "DeliveryStreamName", # required
4485
4721
  # separator: "FirehoseSeparator",
4722
+ # batch_mode: false,
4486
4723
  # },
4487
4724
  # cloudwatch_metric: {
4488
4725
  # role_arn: "AwsArn", # required
@@ -4516,11 +4753,13 @@ module Aws::IoT
4516
4753
  # iot_analytics: {
4517
4754
  # channel_arn: "AwsArn",
4518
4755
  # channel_name: "ChannelName",
4756
+ # batch_mode: false,
4519
4757
  # role_arn: "AwsArn",
4520
4758
  # },
4521
4759
  # iot_events: {
4522
4760
  # input_name: "InputName", # required
4523
4761
  # message_id: "MessageId",
4762
+ # batch_mode: false,
4524
4763
  # role_arn: "AwsArn", # required
4525
4764
  # },
4526
4765
  # iot_site_wise: {
@@ -4586,6 +4825,15 @@ module Aws::IoT
4586
4825
  # },
4587
4826
  # },
4588
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
+ # },
4589
4837
  # },
4590
4838
  # ],
4591
4839
  # rule_disabled: false,
@@ -4642,6 +4890,7 @@ module Aws::IoT
4642
4890
  # role_arn: "AwsArn", # required
4643
4891
  # delivery_stream_name: "DeliveryStreamName", # required
4644
4892
  # separator: "FirehoseSeparator",
4893
+ # batch_mode: false,
4645
4894
  # },
4646
4895
  # cloudwatch_metric: {
4647
4896
  # role_arn: "AwsArn", # required
@@ -4675,11 +4924,13 @@ module Aws::IoT
4675
4924
  # iot_analytics: {
4676
4925
  # channel_arn: "AwsArn",
4677
4926
  # channel_name: "ChannelName",
4927
+ # batch_mode: false,
4678
4928
  # role_arn: "AwsArn",
4679
4929
  # },
4680
4930
  # iot_events: {
4681
4931
  # input_name: "InputName", # required
4682
4932
  # message_id: "MessageId",
4933
+ # batch_mode: false,
4683
4934
  # role_arn: "AwsArn", # required
4684
4935
  # },
4685
4936
  # iot_site_wise: {
@@ -4745,6 +4996,15 @@ module Aws::IoT
4745
4996
  # },
4746
4997
  # },
4747
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
+ # },
4748
5008
  # },
4749
5009
  # },
4750
5010
  # tags: "String",
@@ -4994,6 +5254,25 @@ module Aws::IoT
4994
5254
  include Aws::Structure
4995
5255
  end
4996
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
+
4997
5276
  # @note When making an API call, you may pass DeleteDimensionRequest
4998
5277
  # data as a hash:
4999
5278
  #
@@ -5065,6 +5344,7 @@ module Aws::IoT
5065
5344
  # thing_name: "ThingName", # required
5066
5345
  # execution_number: 1, # required
5067
5346
  # force: false,
5347
+ # namespace_id: "NamespaceId",
5068
5348
  # }
5069
5349
  #
5070
5350
  # @!attribute [rw] job_id
@@ -5099,11 +5379,26 @@ module Aws::IoT
5099
5379
  # </note>
5100
5380
  # @return [Boolean]
5101
5381
  #
5382
+ # @!attribute [rw] namespace_id
5383
+ # The namespace used to indicate that a job is a customer-managed job.
5384
+ #
5385
+ # When you specify a value for this parameter, AWS IoT Core sends jobs
5386
+ # notifications to MQTT topics that contain the value in the following
5387
+ # format.
5388
+ #
5389
+ # `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`
5390
+ #
5391
+ # <note markdown="1"> The `namespaceId` feature is in public preview.
5392
+ #
5393
+ # </note>
5394
+ # @return [String]
5395
+ #
5102
5396
  class DeleteJobExecutionRequest < Struct.new(
5103
5397
  :job_id,
5104
5398
  :thing_name,
5105
5399
  :execution_number,
5106
- :force)
5400
+ :force,
5401
+ :namespace_id)
5107
5402
  SENSITIVE = []
5108
5403
  include Aws::Structure
5109
5404
  end
@@ -5114,6 +5409,7 @@ module Aws::IoT
5114
5409
  # {
5115
5410
  # job_id: "JobId", # required
5116
5411
  # force: false,
5412
+ # namespace_id: "NamespaceId",
5117
5413
  # }
5118
5414
  #
5119
5415
  # @!attribute [rw] job_id
@@ -5140,9 +5436,24 @@ module Aws::IoT
5140
5436
  # </note>
5141
5437
  # @return [Boolean]
5142
5438
  #
5439
+ # @!attribute [rw] namespace_id
5440
+ # The namespace used to indicate that a job is a customer-managed job.
5441
+ #
5442
+ # When you specify a value for this parameter, AWS IoT Core sends jobs
5443
+ # notifications to MQTT topics that contain the value in the following
5444
+ # format.
5445
+ #
5446
+ # `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`
5447
+ #
5448
+ # <note markdown="1"> The `namespaceId` feature is in public preview.
5449
+ #
5450
+ # </note>
5451
+ # @return [String]
5452
+ #
5143
5453
  class DeleteJobRequest < Struct.new(
5144
5454
  :job_id,
5145
- :force)
5455
+ :force,
5456
+ :namespace_id)
5146
5457
  SENSITIVE = []
5147
5458
  include Aws::Structure
5148
5459
  end
@@ -5636,7 +5947,7 @@ module Aws::IoT
5636
5947
  # data as a hash:
5637
5948
  #
5638
5949
  # {
5639
- # task_id: "AuditMitigationActionsTaskId", # required
5950
+ # task_id: "MitigationActionsTaskId", # required
5640
5951
  # }
5641
5952
  #
5642
5953
  # @!attribute [rw] task_id
@@ -5968,6 +6279,62 @@ module Aws::IoT
5968
6279
  include Aws::Structure
5969
6280
  end
5970
6281
 
6282
+ # @note When making an API call, you may pass DescribeCustomMetricRequest
6283
+ # data as a hash:
6284
+ #
6285
+ # {
6286
+ # metric_name: "MetricName", # required
6287
+ # }
6288
+ #
6289
+ # @!attribute [rw] metric_name
6290
+ # The name of the custom metric.
6291
+ # @return [String]
6292
+ #
6293
+ class DescribeCustomMetricRequest < Struct.new(
6294
+ :metric_name)
6295
+ SENSITIVE = []
6296
+ include Aws::Structure
6297
+ end
6298
+
6299
+ # @!attribute [rw] metric_name
6300
+ # The name of the custom metric.
6301
+ # @return [String]
6302
+ #
6303
+ # @!attribute [rw] metric_arn
6304
+ # The Amazon Resource Number (ARN) of the custom metric.
6305
+ # @return [String]
6306
+ #
6307
+ # @!attribute [rw] metric_type
6308
+ # The type of the custom metric. Types include `string-list`,
6309
+ # `ip-address-list`, `number-list`, and `number`.
6310
+ # @return [String]
6311
+ #
6312
+ # @!attribute [rw] display_name
6313
+ # Field represents a friendly name in the console for the custom
6314
+ # metric; doesn't have to be unique. Don't use this name as the
6315
+ # metric identifier in the device metric report. Can be updated.
6316
+ # @return [String]
6317
+ #
6318
+ # @!attribute [rw] creation_date
6319
+ # The creation date of the custom metric in milliseconds since epoch.
6320
+ # @return [Time]
6321
+ #
6322
+ # @!attribute [rw] last_modified_date
6323
+ # The time the custom metric was last modified in milliseconds since
6324
+ # epoch.
6325
+ # @return [Time]
6326
+ #
6327
+ class DescribeCustomMetricResponse < Struct.new(
6328
+ :metric_name,
6329
+ :metric_arn,
6330
+ :metric_type,
6331
+ :display_name,
6332
+ :creation_date,
6333
+ :last_modified_date)
6334
+ SENSITIVE = []
6335
+ include Aws::Structure
6336
+ end
6337
+
5971
6338
  # @api private
5972
6339
  #
5973
6340
  class DescribeDefaultAuthorizerRequest < Aws::EmptyStructure; end
@@ -5982,6 +6349,33 @@ module Aws::IoT
5982
6349
  include Aws::Structure
5983
6350
  end
5984
6351
 
6352
+ # @note When making an API call, you may pass DescribeDetectMitigationActionsTaskRequest
6353
+ # data as a hash:
6354
+ #
6355
+ # {
6356
+ # task_id: "MitigationActionsTaskId", # required
6357
+ # }
6358
+ #
6359
+ # @!attribute [rw] task_id
6360
+ # The unique identifier of the task.
6361
+ # @return [String]
6362
+ #
6363
+ class DescribeDetectMitigationActionsTaskRequest < Struct.new(
6364
+ :task_id)
6365
+ SENSITIVE = []
6366
+ include Aws::Structure
6367
+ end
6368
+
6369
+ # @!attribute [rw] task_summary
6370
+ # The description of a task.
6371
+ # @return [Types::DetectMitigationActionsTaskSummary]
6372
+ #
6373
+ class DescribeDetectMitigationActionsTaskResponse < Struct.new(
6374
+ :task_summary)
6375
+ SENSITIVE = []
6376
+ include Aws::Structure
6377
+ end
6378
+
5985
6379
  # @note When making an API call, you may pass DescribeDimensionRequest
5986
6380
  # data as a hash:
5987
6381
  #
@@ -6004,7 +6398,7 @@ module Aws::IoT
6004
6398
  # @return [String]
6005
6399
  #
6006
6400
  # @!attribute [rw] arn
6007
- # The ARN (Amazon resource name) for the dimension.
6401
+ # The Amazon Resource Name (ARN) for the dimension.
6008
6402
  # @return [String]
6009
6403
  #
6010
6404
  # @!attribute [rw] type
@@ -6541,21 +6935,21 @@ module Aws::IoT
6541
6935
  end
6542
6936
 
6543
6937
  # @!attribute [rw] frequency
6544
- # How often the scheduled audit takes place. One of "DAILY",
6545
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each
6546
- # audit is determined by the system.
6938
+ # How often the scheduled audit takes place, either one of `DAILY`,
6939
+ # `WEEKLY`, `BIWEEKLY`, or `MONTHLY`. The start time of each audit is
6940
+ # determined by the system.
6547
6941
  # @return [String]
6548
6942
  #
6549
6943
  # @!attribute [rw] day_of_month
6550
- # The day of the month on which the scheduled audit takes place. Will
6551
- # be "1" through "31" or "LAST". If days 29-31 are specified,
6552
- # and the month does not have that many days, the audit takes place on
6553
- # the "LAST" day of the month.
6944
+ # The day of the month on which the scheduled audit takes place. This
6945
+ # is will be `1` through `31` or `LAST`. If days `29`-`31` are
6946
+ # specified, and the month does not have that many days, the audit
6947
+ # takes place on the `LAST` day of the month.
6554
6948
  # @return [String]
6555
6949
  #
6556
6950
  # @!attribute [rw] day_of_week
6557
- # The day of the week on which the scheduled audit takes place. One of
6558
- # "SUN", "MON", "TUE", "WED", "THU", "FRI", or "SAT".
6951
+ # The day of the week on which the scheduled audit takes place, either
6952
+ # one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`.
6559
6953
  # @return [String]
6560
6954
  #
6561
6955
  # @!attribute [rw] target_check_names
@@ -7121,57 +7515,221 @@ module Aws::IoT
7121
7515
  #
7122
7516
  class DetachThingPrincipalResponse < Aws::EmptyStructure; end
7123
7517
 
7124
- # The input for the DisableTopicRuleRequest operation.
7125
- #
7126
- # @note When making an API call, you may pass DisableTopicRuleRequest
7127
- # data as a hash:
7128
- #
7129
- # {
7130
- # rule_name: "RuleName", # required
7131
- # }
7518
+ # Describes which mitigation actions should be executed.
7132
7519
  #
7133
- # @!attribute [rw] rule_name
7134
- # The name of the rule to disable.
7520
+ # @!attribute [rw] task_id
7521
+ # The unique identifier of the task.
7135
7522
  # @return [String]
7136
7523
  #
7137
- class DisableTopicRuleRequest < Struct.new(
7138
- :rule_name)
7139
- SENSITIVE = []
7140
- include Aws::Structure
7141
- end
7142
-
7143
- # The summary of a domain configuration. A domain configuration
7144
- # specifies custom IoT-specific information about a domain. A domain
7145
- # configuration can be associated with an AWS-managed domain (for
7146
- # example, dbc123defghijk.iot.us-west-2.amazonaws.com), a customer
7147
- # managed domain, or a default endpoint.
7148
- #
7149
- # * Data
7524
+ # @!attribute [rw] violation_id
7525
+ # The unique identifier of the violation.
7526
+ # @return [String]
7150
7527
  #
7151
- # * Jobs
7528
+ # @!attribute [rw] action_name
7529
+ # The friendly name that uniquely identifies the mitigation action.
7530
+ # @return [String]
7152
7531
  #
7153
- # * CredentialProvider
7532
+ # @!attribute [rw] thing_name
7533
+ # The name of the thing.
7534
+ # @return [String]
7154
7535
  #
7155
- # <note markdown="1"> The domain configuration feature is in public preview and is subject
7156
- # to change.
7536
+ # @!attribute [rw] execution_start_date
7537
+ # The date a mitigation action was started.
7538
+ # @return [Time]
7157
7539
  #
7158
- # </note>
7540
+ # @!attribute [rw] execution_end_date
7541
+ # The date a mitigation action ended.
7542
+ # @return [Time]
7159
7543
  #
7160
- # @!attribute [rw] domain_configuration_name
7161
- # The name of the domain configuration. This value must be unique to a
7162
- # region.
7544
+ # @!attribute [rw] status
7545
+ # The status of a mitigation action.
7163
7546
  # @return [String]
7164
7547
  #
7165
- # @!attribute [rw] domain_configuration_arn
7166
- # The ARN of the domain configuration.
7548
+ # @!attribute [rw] error_code
7549
+ # The error code of a mitigation action.
7167
7550
  # @return [String]
7168
7551
  #
7169
- # @!attribute [rw] service_type
7170
- # The type of service delivered by the endpoint.
7552
+ # @!attribute [rw] message
7553
+ # The message of a mitigation action.
7171
7554
  # @return [String]
7172
7555
  #
7173
- class DomainConfigurationSummary < Struct.new(
7174
- :domain_configuration_name,
7556
+ class DetectMitigationActionExecution < Struct.new(
7557
+ :task_id,
7558
+ :violation_id,
7559
+ :action_name,
7560
+ :thing_name,
7561
+ :execution_start_date,
7562
+ :execution_end_date,
7563
+ :status,
7564
+ :error_code,
7565
+ :message)
7566
+ SENSITIVE = []
7567
+ include Aws::Structure
7568
+ end
7569
+
7570
+ # The statistics of a mitigation action task.
7571
+ #
7572
+ # @!attribute [rw] actions_executed
7573
+ # The actions that were performed.
7574
+ # @return [Integer]
7575
+ #
7576
+ # @!attribute [rw] actions_skipped
7577
+ # The actions that were skipped.
7578
+ # @return [Integer]
7579
+ #
7580
+ # @!attribute [rw] actions_failed
7581
+ # The actions that failed.
7582
+ # @return [Integer]
7583
+ #
7584
+ class DetectMitigationActionsTaskStatistics < Struct.new(
7585
+ :actions_executed,
7586
+ :actions_skipped,
7587
+ :actions_failed)
7588
+ SENSITIVE = []
7589
+ include Aws::Structure
7590
+ end
7591
+
7592
+ # The summary of the mitigation action tasks.
7593
+ #
7594
+ # @!attribute [rw] task_id
7595
+ # The unique identifier of the task.
7596
+ # @return [String]
7597
+ #
7598
+ # @!attribute [rw] task_status
7599
+ # The status of the task.
7600
+ # @return [String]
7601
+ #
7602
+ # @!attribute [rw] task_start_time
7603
+ # The date the task started.
7604
+ # @return [Time]
7605
+ #
7606
+ # @!attribute [rw] task_end_time
7607
+ # The date the task ended.
7608
+ # @return [Time]
7609
+ #
7610
+ # @!attribute [rw] target
7611
+ # Specifies the ML Detect findings to which the mitigation actions are
7612
+ # applied.
7613
+ # @return [Types::DetectMitigationActionsTaskTarget]
7614
+ #
7615
+ # @!attribute [rw] violation_event_occurrence_range
7616
+ # Specifies the time period of which violation events occurred
7617
+ # between.
7618
+ # @return [Types::ViolationEventOccurrenceRange]
7619
+ #
7620
+ # @!attribute [rw] only_active_violations_included
7621
+ # Includes only active violations.
7622
+ # @return [Boolean]
7623
+ #
7624
+ # @!attribute [rw] suppressed_alerts_included
7625
+ # Includes suppressed alerts.
7626
+ # @return [Boolean]
7627
+ #
7628
+ # @!attribute [rw] actions_definition
7629
+ # The definition of the actions.
7630
+ # @return [Array<Types::MitigationAction>]
7631
+ #
7632
+ # @!attribute [rw] task_statistics
7633
+ # The statistics of a mitigation action task.
7634
+ # @return [Types::DetectMitigationActionsTaskStatistics]
7635
+ #
7636
+ class DetectMitigationActionsTaskSummary < Struct.new(
7637
+ :task_id,
7638
+ :task_status,
7639
+ :task_start_time,
7640
+ :task_end_time,
7641
+ :target,
7642
+ :violation_event_occurrence_range,
7643
+ :only_active_violations_included,
7644
+ :suppressed_alerts_included,
7645
+ :actions_definition,
7646
+ :task_statistics)
7647
+ SENSITIVE = []
7648
+ include Aws::Structure
7649
+ end
7650
+
7651
+ # The target of a mitigation action task.
7652
+ #
7653
+ # @note When making an API call, you may pass DetectMitigationActionsTaskTarget
7654
+ # data as a hash:
7655
+ #
7656
+ # {
7657
+ # violation_ids: ["ViolationId"],
7658
+ # security_profile_name: "SecurityProfileName",
7659
+ # behavior_name: "BehaviorName",
7660
+ # }
7661
+ #
7662
+ # @!attribute [rw] violation_ids
7663
+ # The unique identifiers of the violations.
7664
+ # @return [Array<String>]
7665
+ #
7666
+ # @!attribute [rw] security_profile_name
7667
+ # The name of the security profile.
7668
+ # @return [String]
7669
+ #
7670
+ # @!attribute [rw] behavior_name
7671
+ # The name of the behavior.
7672
+ # @return [String]
7673
+ #
7674
+ class DetectMitigationActionsTaskTarget < Struct.new(
7675
+ :violation_ids,
7676
+ :security_profile_name,
7677
+ :behavior_name)
7678
+ SENSITIVE = []
7679
+ include Aws::Structure
7680
+ end
7681
+
7682
+ # The input for the DisableTopicRuleRequest operation.
7683
+ #
7684
+ # @note When making an API call, you may pass DisableTopicRuleRequest
7685
+ # data as a hash:
7686
+ #
7687
+ # {
7688
+ # rule_name: "RuleName", # required
7689
+ # }
7690
+ #
7691
+ # @!attribute [rw] rule_name
7692
+ # The name of the rule to disable.
7693
+ # @return [String]
7694
+ #
7695
+ class DisableTopicRuleRequest < Struct.new(
7696
+ :rule_name)
7697
+ SENSITIVE = []
7698
+ include Aws::Structure
7699
+ end
7700
+
7701
+ # The summary of a domain configuration. A domain configuration
7702
+ # specifies custom IoT-specific information about a domain. A domain
7703
+ # configuration can be associated with an AWS-managed domain (for
7704
+ # example, dbc123defghijk.iot.us-west-2.amazonaws.com), a customer
7705
+ # managed domain, or a default endpoint.
7706
+ #
7707
+ # * Data
7708
+ #
7709
+ # * Jobs
7710
+ #
7711
+ # * CredentialProvider
7712
+ #
7713
+ # <note markdown="1"> The domain configuration feature is in public preview and is subject
7714
+ # to change.
7715
+ #
7716
+ # </note>
7717
+ #
7718
+ # @!attribute [rw] domain_configuration_name
7719
+ # The name of the domain configuration. This value must be unique to a
7720
+ # region.
7721
+ # @return [String]
7722
+ #
7723
+ # @!attribute [rw] domain_configuration_arn
7724
+ # The ARN of the domain configuration.
7725
+ # @return [String]
7726
+ #
7727
+ # @!attribute [rw] service_type
7728
+ # The type of service delivered by the endpoint.
7729
+ # @return [String]
7730
+ #
7731
+ class DomainConfigurationSummary < Struct.new(
7732
+ :domain_configuration_name,
7175
7733
  :domain_configuration_arn,
7176
7734
  :service_type)
7177
7735
  SENSITIVE = []
@@ -7385,11 +7943,11 @@ module Aws::IoT
7385
7943
  # }
7386
7944
  #
7387
7945
  # @!attribute [rw] role_arn_for_logging
7388
- # The ARN of the IAM role used for logging.
7946
+ # The Amazon Resource Name (ARN) of the IAM role used for logging.
7389
7947
  # @return [String]
7390
7948
  #
7391
7949
  # @!attribute [rw] log_level
7392
- # Specifies the types of information to be logged.
7950
+ # Specifies the type of information to be logged.
7393
7951
  # @return [String]
7394
7952
  #
7395
7953
  class EnableIoTLoggingParams < Struct.new(
@@ -7553,6 +8111,7 @@ module Aws::IoT
7553
8111
  # role_arn: "AwsArn", # required
7554
8112
  # delivery_stream_name: "DeliveryStreamName", # required
7555
8113
  # separator: "FirehoseSeparator",
8114
+ # batch_mode: false,
7556
8115
  # }
7557
8116
  #
7558
8117
  # @!attribute [rw] role_arn
@@ -7570,10 +8129,72 @@ module Aws::IoT
7570
8129
  # (tab), '\\r\\n' (Windows newline), ',' (comma).
7571
8130
  # @return [String]
7572
8131
  #
8132
+ # @!attribute [rw] batch_mode
8133
+ # Whether to deliver the Kinesis Data Firehose stream as a batch by
8134
+ # using [ `PutRecordBatch` ][1]. The default value is `false`.
8135
+ #
8136
+ # When `batchMode` is `true` and the rule's SQL statement evaluates
8137
+ # to an Array, each Array element forms one record in the [
8138
+ # `PutRecordBatch` ][1] request. The resulting array can't have more
8139
+ # than 500 records.
8140
+ #
8141
+ #
8142
+ #
8143
+ # [1]: https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html
8144
+ # @return [Boolean]
8145
+ #
7573
8146
  class FirehoseAction < Struct.new(
7574
8147
  :role_arn,
7575
8148
  :delivery_stream_name,
7576
- :separator)
8149
+ :separator,
8150
+ :batch_mode)
8151
+ SENSITIVE = []
8152
+ include Aws::Structure
8153
+ end
8154
+
8155
+ # @note When making an API call, you may pass GetBehaviorModelTrainingSummariesRequest
8156
+ # data as a hash:
8157
+ #
8158
+ # {
8159
+ # security_profile_name: "SecurityProfileName",
8160
+ # max_results: 1,
8161
+ # next_token: "NextToken",
8162
+ # }
8163
+ #
8164
+ # @!attribute [rw] security_profile_name
8165
+ # The name of the security profile.
8166
+ # @return [String]
8167
+ #
8168
+ # @!attribute [rw] max_results
8169
+ # The maximum number of results to return at one time. The default is
8170
+ # 25.
8171
+ # @return [Integer]
8172
+ #
8173
+ # @!attribute [rw] next_token
8174
+ # The token for the next set of results.
8175
+ # @return [String]
8176
+ #
8177
+ class GetBehaviorModelTrainingSummariesRequest < Struct.new(
8178
+ :security_profile_name,
8179
+ :max_results,
8180
+ :next_token)
8181
+ SENSITIVE = []
8182
+ include Aws::Structure
8183
+ end
8184
+
8185
+ # @!attribute [rw] summaries
8186
+ # A list of all ML Detect behaviors and their model status for a given
8187
+ # Security Profile.
8188
+ # @return [Array<Types::BehaviorModelTrainingSummary>]
8189
+ #
8190
+ # @!attribute [rw] next_token
8191
+ # A token that can be used to retrieve the next set of results, or
8192
+ # `null` if there are no additional results.
8193
+ # @return [String]
8194
+ #
8195
+ class GetBehaviorModelTrainingSummariesResponse < Struct.new(
8196
+ :summaries,
8197
+ :next_token)
7577
8198
  SENSITIVE = []
7578
8199
  include Aws::Structure
7579
8200
  end
@@ -8418,6 +9039,7 @@ module Aws::IoT
8418
9039
  # {
8419
9040
  # channel_arn: "AwsArn",
8420
9041
  # channel_name: "ChannelName",
9042
+ # batch_mode: false,
8421
9043
  # role_arn: "AwsArn",
8422
9044
  # }
8423
9045
  #
@@ -8431,6 +9053,20 @@ module Aws::IoT
8431
9053
  # sent.
8432
9054
  # @return [String]
8433
9055
  #
9056
+ # @!attribute [rw] batch_mode
9057
+ # Whether to process the action as a batch. The default value is
9058
+ # `false`.
9059
+ #
9060
+ # When `batchMode` is `true` and the rule SQL statement evaluates to
9061
+ # an Array, each Array element is delivered as a separate message when
9062
+ # passed by [ `BatchPutMessage` ][1] to the AWS IoT Analytics channel.
9063
+ # The resulting array can't have more than 100 messages.
9064
+ #
9065
+ #
9066
+ #
9067
+ # [1]: https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_BatchPutMessage.html
9068
+ # @return [Boolean]
9069
+ #
8434
9070
  # @!attribute [rw] role_arn
8435
9071
  # The ARN of the role which has a policy that grants IoT Analytics
8436
9072
  # permission to send message data via IoT Analytics
@@ -8440,6 +9076,7 @@ module Aws::IoT
8440
9076
  class IotAnalyticsAction < Struct.new(
8441
9077
  :channel_arn,
8442
9078
  :channel_name,
9079
+ :batch_mode,
8443
9080
  :role_arn)
8444
9081
  SENSITIVE = []
8445
9082
  include Aws::Structure
@@ -8453,6 +9090,7 @@ module Aws::IoT
8453
9090
  # {
8454
9091
  # input_name: "InputName", # required
8455
9092
  # message_id: "MessageId",
9093
+ # batch_mode: false,
8456
9094
  # role_arn: "AwsArn", # required
8457
9095
  # }
8458
9096
  #
@@ -8461,10 +9099,32 @@ module Aws::IoT
8461
9099
  # @return [String]
8462
9100
  #
8463
9101
  # @!attribute [rw] message_id
8464
- # \[Optional\] Use this to ensure that only one input (message) with a
8465
- # given messageId will be processed by an AWS IoT Events detector.
9102
+ # The ID of the message. The default `messageId` is a new UUID value.
9103
+ #
9104
+ # When `batchMode` is `true`, you can't specify a `messageId`--a new
9105
+ # UUID value will be assigned.
9106
+ #
9107
+ # Assign a value to this property to ensure that only one input
9108
+ # (message) with a given `messageId` will be processed by an AWS IoT
9109
+ # Events detector.
8466
9110
  # @return [String]
8467
9111
  #
9112
+ # @!attribute [rw] batch_mode
9113
+ # Whether to process the event actions as a batch. The default value
9114
+ # is `false`.
9115
+ #
9116
+ # When `batchMode` is `true`, you can't specify a `messageId`.
9117
+ #
9118
+ # When `batchMode` is `true` and the rule SQL statement evaluates to
9119
+ # an Array, each Array element is treated as a separate message when
9120
+ # it's sent to AWS IoT Events by calling [ `BatchPutMessage` ][1].
9121
+ # The resulting array can't have more than 10 messages.
9122
+ #
9123
+ #
9124
+ #
9125
+ # [1]: https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchPutMessage.html
9126
+ # @return [Boolean]
9127
+ #
8468
9128
  # @!attribute [rw] role_arn
8469
9129
  # The ARN of the role that grants AWS IoT permission to send an input
8470
9130
  # to an AWS IoT Events detector.
@@ -8474,6 +9134,7 @@ module Aws::IoT
8474
9134
  class IotEventsAction < Struct.new(
8475
9135
  :input_name,
8476
9136
  :message_id,
9137
+ :batch_mode,
8477
9138
  :role_arn)
8478
9139
  SENSITIVE = []
8479
9140
  include Aws::Structure
@@ -8614,6 +9275,20 @@ module Aws::IoT
8614
9275
  # set to `TIMED_OUT`.
8615
9276
  # @return [Types::TimeoutConfig]
8616
9277
  #
9278
+ # @!attribute [rw] namespace_id
9279
+ # The namespace used to indicate that a job is a customer-managed job.
9280
+ #
9281
+ # When you specify a value for this parameter, AWS IoT Core sends jobs
9282
+ # notifications to MQTT topics that contain the value in the following
9283
+ # format.
9284
+ #
9285
+ # `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`
9286
+ #
9287
+ # <note markdown="1"> The `namespaceId` feature is in public preview.
9288
+ #
9289
+ # </note>
9290
+ # @return [String]
9291
+ #
8617
9292
  class Job < Struct.new(
8618
9293
  :job_arn,
8619
9294
  :job_id,
@@ -8631,7 +9306,8 @@ module Aws::IoT
8631
9306
  :last_updated_at,
8632
9307
  :completed_at,
8633
9308
  :job_process_details,
8634
- :timeout_config)
9309
+ :timeout_config,
9310
+ :namespace_id)
8635
9311
  SENSITIVE = []
8636
9312
  include Aws::Structure
8637
9313
  end
@@ -8941,6 +9617,52 @@ module Aws::IoT
8941
9617
  include Aws::Structure
8942
9618
  end
8943
9619
 
9620
+ # Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon
9621
+ # MSK) or self-managed Apache Kafka cluster.
9622
+ #
9623
+ # @note When making an API call, you may pass KafkaAction
9624
+ # data as a hash:
9625
+ #
9626
+ # {
9627
+ # destination_arn: "AwsArn", # required
9628
+ # topic: "String", # required
9629
+ # key: "String",
9630
+ # partition: "String",
9631
+ # client_properties: { # required
9632
+ # "String" => "String",
9633
+ # },
9634
+ # }
9635
+ #
9636
+ # @!attribute [rw] destination_arn
9637
+ # The ARN of Kafka action's VPC `TopicRuleDestination`.
9638
+ # @return [String]
9639
+ #
9640
+ # @!attribute [rw] topic
9641
+ # The Kafka topic for messages to be sent to the Kafka broker.
9642
+ # @return [String]
9643
+ #
9644
+ # @!attribute [rw] key
9645
+ # The Kafka message key.
9646
+ # @return [String]
9647
+ #
9648
+ # @!attribute [rw] partition
9649
+ # The Kafka message partition.
9650
+ # @return [String]
9651
+ #
9652
+ # @!attribute [rw] client_properties
9653
+ # Properties of the Apache Kafka producer client.
9654
+ # @return [Hash<String,String>]
9655
+ #
9656
+ class KafkaAction < Struct.new(
9657
+ :destination_arn,
9658
+ :topic,
9659
+ :key,
9660
+ :partition,
9661
+ :client_properties)
9662
+ SENSITIVE = []
9663
+ include Aws::Structure
9664
+ end
9665
+
8944
9666
  # Describes a key pair.
8945
9667
  #
8946
9668
  # @!attribute [rw] public_key
@@ -9027,6 +9749,8 @@ module Aws::IoT
9027
9749
  # {
9028
9750
  # thing_name: "DeviceDefenderThingName",
9029
9751
  # security_profile_name: "SecurityProfileName",
9752
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
9753
+ # list_suppressed_alerts: false,
9030
9754
  # next_token: "NextToken",
9031
9755
  # max_results: 1,
9032
9756
  # }
@@ -9040,6 +9764,14 @@ module Aws::IoT
9040
9764
  # violations are listed.
9041
9765
  # @return [String]
9042
9766
  #
9767
+ # @!attribute [rw] behavior_criteria_type
9768
+ # The criteria for a behavior.
9769
+ # @return [String]
9770
+ #
9771
+ # @!attribute [rw] list_suppressed_alerts
9772
+ # A list of all suppressed alerts.
9773
+ # @return [Boolean]
9774
+ #
9043
9775
  # @!attribute [rw] next_token
9044
9776
  # The token for the next set of results.
9045
9777
  # @return [String]
@@ -9051,6 +9783,8 @@ module Aws::IoT
9051
9783
  class ListActiveViolationsRequest < Struct.new(
9052
9784
  :thing_name,
9053
9785
  :security_profile_name,
9786
+ :behavior_criteria_type,
9787
+ :list_suppressed_alerts,
9054
9788
  :next_token,
9055
9789
  :max_results)
9056
9790
  SENSITIVE = []
@@ -9231,7 +9965,7 @@ module Aws::IoT
9231
9965
  # data as a hash:
9232
9966
  #
9233
9967
  # {
9234
- # task_id: "AuditMitigationActionsTaskId", # required
9968
+ # task_id: "MitigationActionsTaskId", # required
9235
9969
  # action_status: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED, CANCELED, SKIPPED, PENDING
9236
9970
  # finding_id: "FindingId", # required
9237
9971
  # max_results: 1,
@@ -9569,7 +10303,9 @@ module Aws::IoT
9569
10303
  # }
9570
10304
  #
9571
10305
  # @!attribute [rw] next_token
9572
- # The token to retrieve the next set of results.
10306
+ # To retrieve the next set of results, the `nextToken` value from a
10307
+ # previous response; otherwise **null** to receive the first set of
10308
+ # results.
9573
10309
  # @return [String]
9574
10310
  #
9575
10311
  # @!attribute [rw] max_results
@@ -9594,8 +10330,8 @@ module Aws::IoT
9594
10330
  # @return [Array<Types::GroupNameAndArn>]
9595
10331
  #
9596
10332
  # @!attribute [rw] next_token
9597
- # The token used to get the next set of results, or **null** if there
9598
- # are no additional results.
10333
+ # The token to use to get the next set of results, or **null** if
10334
+ # there are no additional results.
9599
10335
  # @return [String]
9600
10336
  #
9601
10337
  class ListBillingGroupsResponse < Struct.new(
@@ -9761,6 +10497,175 @@ module Aws::IoT
9761
10497
  include Aws::Structure
9762
10498
  end
9763
10499
 
10500
+ # @note When making an API call, you may pass ListCustomMetricsRequest
10501
+ # data as a hash:
10502
+ #
10503
+ # {
10504
+ # next_token: "NextToken",
10505
+ # max_results: 1,
10506
+ # }
10507
+ #
10508
+ # @!attribute [rw] next_token
10509
+ # The token for the next set of results.
10510
+ # @return [String]
10511
+ #
10512
+ # @!attribute [rw] max_results
10513
+ # The maximum number of results to return at one time. The default is
10514
+ # 25.
10515
+ # @return [Integer]
10516
+ #
10517
+ class ListCustomMetricsRequest < Struct.new(
10518
+ :next_token,
10519
+ :max_results)
10520
+ SENSITIVE = []
10521
+ include Aws::Structure
10522
+ end
10523
+
10524
+ # @!attribute [rw] metric_names
10525
+ # The name of the custom metric.
10526
+ # @return [Array<String>]
10527
+ #
10528
+ # @!attribute [rw] next_token
10529
+ # A token that can be used to retrieve the next set of results, or
10530
+ # `null` if there are no additional results.
10531
+ # @return [String]
10532
+ #
10533
+ class ListCustomMetricsResponse < Struct.new(
10534
+ :metric_names,
10535
+ :next_token)
10536
+ SENSITIVE = []
10537
+ include Aws::Structure
10538
+ end
10539
+
10540
+ # @note When making an API call, you may pass ListDetectMitigationActionsExecutionsRequest
10541
+ # data as a hash:
10542
+ #
10543
+ # {
10544
+ # task_id: "MitigationActionsTaskId",
10545
+ # violation_id: "ViolationId",
10546
+ # thing_name: "DeviceDefenderThingName",
10547
+ # start_time: Time.now,
10548
+ # end_time: Time.now,
10549
+ # max_results: 1,
10550
+ # next_token: "NextToken",
10551
+ # }
10552
+ #
10553
+ # @!attribute [rw] task_id
10554
+ # The unique identifier of the task.
10555
+ # @return [String]
10556
+ #
10557
+ # @!attribute [rw] violation_id
10558
+ # The unique identifier of the violation.
10559
+ # @return [String]
10560
+ #
10561
+ # @!attribute [rw] thing_name
10562
+ # The name of the thing whose mitigation actions are listed.
10563
+ # @return [String]
10564
+ #
10565
+ # @!attribute [rw] start_time
10566
+ # A filter to limit results to those found after the specified time.
10567
+ # You must specify either the startTime and endTime or the taskId, but
10568
+ # not both.
10569
+ # @return [Time]
10570
+ #
10571
+ # @!attribute [rw] end_time
10572
+ # The end of the time period for which ML Detect mitigation actions
10573
+ # executions are returned.
10574
+ # @return [Time]
10575
+ #
10576
+ # @!attribute [rw] max_results
10577
+ # The maximum number of results to return at one time. The default is
10578
+ # 25.
10579
+ # @return [Integer]
10580
+ #
10581
+ # @!attribute [rw] next_token
10582
+ # The token for the next set of results.
10583
+ # @return [String]
10584
+ #
10585
+ class ListDetectMitigationActionsExecutionsRequest < Struct.new(
10586
+ :task_id,
10587
+ :violation_id,
10588
+ :thing_name,
10589
+ :start_time,
10590
+ :end_time,
10591
+ :max_results,
10592
+ :next_token)
10593
+ SENSITIVE = []
10594
+ include Aws::Structure
10595
+ end
10596
+
10597
+ # @!attribute [rw] actions_executions
10598
+ # List of actions executions.
10599
+ # @return [Array<Types::DetectMitigationActionExecution>]
10600
+ #
10601
+ # @!attribute [rw] next_token
10602
+ # A token that can be used to retrieve the next set of results, or
10603
+ # `null` if there are no additional results.
10604
+ # @return [String]
10605
+ #
10606
+ class ListDetectMitigationActionsExecutionsResponse < Struct.new(
10607
+ :actions_executions,
10608
+ :next_token)
10609
+ SENSITIVE = []
10610
+ include Aws::Structure
10611
+ end
10612
+
10613
+ # @note When making an API call, you may pass ListDetectMitigationActionsTasksRequest
10614
+ # data as a hash:
10615
+ #
10616
+ # {
10617
+ # max_results: 1,
10618
+ # next_token: "NextToken",
10619
+ # start_time: Time.now, # required
10620
+ # end_time: Time.now, # required
10621
+ # }
10622
+ #
10623
+ # @!attribute [rw] max_results
10624
+ # The maximum number of results to return at one time. The default is
10625
+ # 25.
10626
+ # @return [Integer]
10627
+ #
10628
+ # @!attribute [rw] next_token
10629
+ # The token for the next set of results.
10630
+ # @return [String]
10631
+ #
10632
+ # @!attribute [rw] start_time
10633
+ # A filter to limit results to those found after the specified time.
10634
+ # You must specify either the startTime and endTime or the taskId, but
10635
+ # not both.
10636
+ # @return [Time]
10637
+ #
10638
+ # @!attribute [rw] end_time
10639
+ # The end of the time period for which ML Detect mitigation actions
10640
+ # tasks are returned.
10641
+ # @return [Time]
10642
+ #
10643
+ class ListDetectMitigationActionsTasksRequest < Struct.new(
10644
+ :max_results,
10645
+ :next_token,
10646
+ :start_time,
10647
+ :end_time)
10648
+ SENSITIVE = []
10649
+ include Aws::Structure
10650
+ end
10651
+
10652
+ # @!attribute [rw] tasks
10653
+ # The collection of ML Detect mitigation tasks that matched the filter
10654
+ # criteria.
10655
+ # @return [Array<Types::DetectMitigationActionsTaskSummary>]
10656
+ #
10657
+ # @!attribute [rw] next_token
10658
+ # A token that can be used to retrieve the next set of results, or
10659
+ # `null` if there are no additional results.
10660
+ # @return [String]
10661
+ #
10662
+ class ListDetectMitigationActionsTasksResponse < Struct.new(
10663
+ :tasks,
10664
+ :next_token)
10665
+ SENSITIVE = []
10666
+ include Aws::Structure
10667
+ end
10668
+
9764
10669
  # @note When making an API call, you may pass ListDimensionsRequest
9765
10670
  # data as a hash:
9766
10671
  #
@@ -9943,6 +10848,7 @@ module Aws::IoT
9943
10848
  # {
9944
10849
  # thing_name: "ThingName", # required
9945
10850
  # status: "QUEUED", # accepts QUEUED, IN_PROGRESS, SUCCEEDED, FAILED, TIMED_OUT, REJECTED, REMOVED, CANCELED
10851
+ # namespace_id: "NamespaceId",
9946
10852
  # max_results: 1,
9947
10853
  # next_token: "NextToken",
9948
10854
  # }
@@ -9956,6 +10862,20 @@ module Aws::IoT
9956
10862
  # specified status.
9957
10863
  # @return [String]
9958
10864
  #
10865
+ # @!attribute [rw] namespace_id
10866
+ # The namespace used to indicate that a job is a customer-managed job.
10867
+ #
10868
+ # When you specify a value for this parameter, AWS IoT Core sends jobs
10869
+ # notifications to MQTT topics that contain the value in the following
10870
+ # format.
10871
+ #
10872
+ # `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`
10873
+ #
10874
+ # <note markdown="1"> The `namespaceId` feature is in public preview.
10875
+ #
10876
+ # </note>
10877
+ # @return [String]
10878
+ #
9959
10879
  # @!attribute [rw] max_results
9960
10880
  # The maximum number of results to be returned per request.
9961
10881
  # @return [Integer]
@@ -9967,6 +10887,7 @@ module Aws::IoT
9967
10887
  class ListJobExecutionsForThingRequest < Struct.new(
9968
10888
  :thing_name,
9969
10889
  :status,
10890
+ :namespace_id,
9970
10891
  :max_results,
9971
10892
  :next_token)
9972
10893
  SENSITIVE = []
@@ -9999,6 +10920,7 @@ module Aws::IoT
9999
10920
  # next_token: "NextToken",
10000
10921
  # thing_group_name: "ThingGroupName",
10001
10922
  # thing_group_id: "ThingGroupId",
10923
+ # namespace_id: "NamespaceId",
10002
10924
  # }
10003
10925
  #
10004
10926
  # @!attribute [rw] status
@@ -10033,13 +10955,28 @@ module Aws::IoT
10033
10955
  # group.
10034
10956
  # @return [String]
10035
10957
  #
10958
+ # @!attribute [rw] namespace_id
10959
+ # The namespace used to indicate that a job is a customer-managed job.
10960
+ #
10961
+ # When you specify a value for this parameter, AWS IoT Core sends jobs
10962
+ # notifications to MQTT topics that contain the value in the following
10963
+ # format.
10964
+ #
10965
+ # `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`
10966
+ #
10967
+ # <note markdown="1"> The `namespaceId` feature is in public preview.
10968
+ #
10969
+ # </note>
10970
+ # @return [String]
10971
+ #
10036
10972
  class ListJobsRequest < Struct.new(
10037
10973
  :status,
10038
10974
  :target_selection,
10039
10975
  :max_results,
10040
10976
  :next_token,
10041
10977
  :thing_group_name,
10042
- :thing_group_id)
10978
+ :thing_group_id,
10979
+ :namespace_id)
10043
10980
  SENSITIVE = []
10044
10981
  include Aws::Structure
10045
10982
  end
@@ -10408,7 +11345,9 @@ module Aws::IoT
10408
11345
  # }
10409
11346
  #
10410
11347
  # @!attribute [rw] next_token
10411
- # The token to retrieve the next set of results.
11348
+ # To retrieve the next set of results, the `nextToken` value from a
11349
+ # previous response; otherwise **null** to receive the first set of
11350
+ # results.
10412
11351
  # @return [String]
10413
11352
  #
10414
11353
  # @!attribute [rw] max_results
@@ -10434,8 +11373,8 @@ module Aws::IoT
10434
11373
  # @return [Array<String>]
10435
11374
  #
10436
11375
  # @!attribute [rw] next_token
10437
- # The token used to get the next set of results, or **null** if there
10438
- # are no additional results.
11376
+ # The token to use to get the next set of results, or **null** if
11377
+ # there are no additional results.
10439
11378
  # @return [String]
10440
11379
  #
10441
11380
  class ListPrincipalThingsResponse < Struct.new(
@@ -10670,6 +11609,7 @@ module Aws::IoT
10670
11609
  # next_token: "NextToken",
10671
11610
  # max_results: 1,
10672
11611
  # dimension_name: "DimensionName",
11612
+ # metric_name: "MetricName",
10673
11613
  # }
10674
11614
  #
10675
11615
  # @!attribute [rw] next_token
@@ -10682,13 +11622,18 @@ module Aws::IoT
10682
11622
  #
10683
11623
  # @!attribute [rw] dimension_name
10684
11624
  # A filter to limit results to the security profiles that use the
10685
- # defined dimension.
11625
+ # defined dimension. Cannot be used with `metricName`
11626
+ # @return [String]
11627
+ #
11628
+ # @!attribute [rw] metric_name
11629
+ # The name of the custom metric. Cannot be used with `dimensionName`.
10686
11630
  # @return [String]
10687
11631
  #
10688
11632
  class ListSecurityProfilesRequest < Struct.new(
10689
11633
  :next_token,
10690
11634
  :max_results,
10691
- :dimension_name)
11635
+ :dimension_name,
11636
+ :metric_name)
10692
11637
  SENSITIVE = []
10693
11638
  include Aws::Structure
10694
11639
  end
@@ -10766,7 +11711,9 @@ module Aws::IoT
10766
11711
  # @return [String]
10767
11712
  #
10768
11713
  # @!attribute [rw] next_token
10769
- # The token to retrieve the next set of results.
11714
+ # To retrieve the next set of results, the `nextToken` value from a
11715
+ # previous response; otherwise **null** to receive the first set of
11716
+ # results.
10770
11717
  # @return [String]
10771
11718
  #
10772
11719
  class ListTagsForResourceRequest < Struct.new(
@@ -10781,8 +11728,8 @@ module Aws::IoT
10781
11728
  # @return [Array<Types::Tag>]
10782
11729
  #
10783
11730
  # @!attribute [rw] next_token
10784
- # The token used to get the next set of results, or **null** if there
10785
- # are no additional results.
11731
+ # The token to use to get the next set of results, or **null** if
11732
+ # there are no additional results.
10786
11733
  # @return [String]
10787
11734
  #
10788
11735
  class ListTagsForResourceResponse < Struct.new(
@@ -10895,7 +11842,9 @@ module Aws::IoT
10895
11842
  # @return [String]
10896
11843
  #
10897
11844
  # @!attribute [rw] next_token
10898
- # The token to retrieve the next set of results.
11845
+ # To retrieve the next set of results, the `nextToken` value from a
11846
+ # previous response; otherwise **null** to receive the first set of
11847
+ # results.
10899
11848
  # @return [String]
10900
11849
  #
10901
11850
  # @!attribute [rw] max_results
@@ -10915,8 +11864,8 @@ module Aws::IoT
10915
11864
  # @return [Array<Types::GroupNameAndArn>]
10916
11865
  #
10917
11866
  # @!attribute [rw] next_token
10918
- # The token used to get the next set of results, or **null** if there
10919
- # are no additional results.
11867
+ # The token to use to get the next set of results, or **null** if
11868
+ # there are no additional results.
10920
11869
  # @return [String]
10921
11870
  #
10922
11871
  class ListThingGroupsForThingResponse < Struct.new(
@@ -10938,7 +11887,9 @@ module Aws::IoT
10938
11887
  # }
10939
11888
  #
10940
11889
  # @!attribute [rw] next_token
10941
- # The token to retrieve the next set of results.
11890
+ # To retrieve the next set of results, the `nextToken` value from a
11891
+ # previous response; otherwise **null** to receive the first set of
11892
+ # results.
10942
11893
  # @return [String]
10943
11894
  #
10944
11895
  # @!attribute [rw] max_results
@@ -10974,8 +11925,8 @@ module Aws::IoT
10974
11925
  # @return [Array<Types::GroupNameAndArn>]
10975
11926
  #
10976
11927
  # @!attribute [rw] next_token
10977
- # The token used to get the next set of results. Will not be returned
10978
- # if operation has returned all results.
11928
+ # The token to use to get the next set of results. Will not be
11929
+ # returned if operation has returned all results.
10979
11930
  # @return [String]
10980
11931
  #
10981
11932
  class ListThingGroupsResponse < Struct.new(
@@ -10991,14 +11942,28 @@ module Aws::IoT
10991
11942
  # data as a hash:
10992
11943
  #
10993
11944
  # {
11945
+ # next_token: "NextToken",
11946
+ # max_results: 1,
10994
11947
  # thing_name: "ThingName", # required
10995
11948
  # }
10996
11949
  #
11950
+ # @!attribute [rw] next_token
11951
+ # To retrieve the next set of results, the `nextToken` value from a
11952
+ # previous response; otherwise **null** to receive the first set of
11953
+ # results.
11954
+ # @return [String]
11955
+ #
11956
+ # @!attribute [rw] max_results
11957
+ # The maximum number of results to return in this operation.
11958
+ # @return [Integer]
11959
+ #
10997
11960
  # @!attribute [rw] thing_name
10998
11961
  # The name of the thing.
10999
11962
  # @return [String]
11000
11963
  #
11001
11964
  class ListThingPrincipalsRequest < Struct.new(
11965
+ :next_token,
11966
+ :max_results,
11002
11967
  :thing_name)
11003
11968
  SENSITIVE = []
11004
11969
  include Aws::Structure
@@ -11010,8 +11975,14 @@ module Aws::IoT
11010
11975
  # The principals associated with the thing.
11011
11976
  # @return [Array<String>]
11012
11977
  #
11978
+ # @!attribute [rw] next_token
11979
+ # The token to use to get the next set of results, or **null** if
11980
+ # there are no additional results.
11981
+ # @return [String]
11982
+ #
11013
11983
  class ListThingPrincipalsResponse < Struct.new(
11014
- :principals)
11984
+ :principals,
11985
+ :next_token)
11015
11986
  SENSITIVE = []
11016
11987
  include Aws::Structure
11017
11988
  end
@@ -11035,7 +12006,9 @@ module Aws::IoT
11035
12006
  # @return [String]
11036
12007
  #
11037
12008
  # @!attribute [rw] next_token
11038
- # The token to retrieve the next set of results.
12009
+ # To retrieve the next set of results, the `nextToken` value from a
12010
+ # previous response; otherwise **null** to receive the first set of
12011
+ # results.
11039
12012
  # @return [String]
11040
12013
  #
11041
12014
  # @!attribute [rw] max_results
@@ -11060,8 +12033,8 @@ module Aws::IoT
11060
12033
  # @return [String]
11061
12034
  #
11062
12035
  # @!attribute [rw] next_token
11063
- # The token used to get the next set of results, or **null** if there
11064
- # are no additional results.
12036
+ # The token to use to get the next set of results, or **null** if
12037
+ # there are no additional results.
11065
12038
  # @return [String]
11066
12039
  #
11067
12040
  class ListThingRegistrationTaskReportsResponse < Struct.new(
@@ -11082,7 +12055,9 @@ module Aws::IoT
11082
12055
  # }
11083
12056
  #
11084
12057
  # @!attribute [rw] next_token
11085
- # The token to retrieve the next set of results.
12058
+ # To retrieve the next set of results, the `nextToken` value from a
12059
+ # previous response; otherwise **null** to receive the first set of
12060
+ # results.
11086
12061
  # @return [String]
11087
12062
  #
11088
12063
  # @!attribute [rw] max_results
@@ -11106,8 +12081,8 @@ module Aws::IoT
11106
12081
  # @return [Array<String>]
11107
12082
  #
11108
12083
  # @!attribute [rw] next_token
11109
- # The token used to get the next set of results, or **null** if there
11110
- # are no additional results.
12084
+ # The token to use to get the next set of results, or **null** if
12085
+ # there are no additional results.
11111
12086
  # @return [String]
11112
12087
  #
11113
12088
  class ListThingRegistrationTasksResponse < Struct.new(
@@ -11129,7 +12104,9 @@ module Aws::IoT
11129
12104
  # }
11130
12105
  #
11131
12106
  # @!attribute [rw] next_token
11132
- # The token to retrieve the next set of results.
12107
+ # To retrieve the next set of results, the `nextToken` value from a
12108
+ # previous response; otherwise **null** to receive the first set of
12109
+ # results.
11133
12110
  # @return [String]
11134
12111
  #
11135
12112
  # @!attribute [rw] max_results
@@ -11180,7 +12157,9 @@ module Aws::IoT
11180
12157
  # @return [String]
11181
12158
  #
11182
12159
  # @!attribute [rw] next_token
11183
- # The token to retrieve the next set of results.
12160
+ # To retrieve the next set of results, the `nextToken` value from a
12161
+ # previous response; otherwise **null** to receive the first set of
12162
+ # results.
11184
12163
  # @return [String]
11185
12164
  #
11186
12165
  # @!attribute [rw] max_results
@@ -11200,8 +12179,8 @@ module Aws::IoT
11200
12179
  # @return [Array<String>]
11201
12180
  #
11202
12181
  # @!attribute [rw] next_token
11203
- # The token used to get the next set of results. Will not be returned
11204
- # if operation has returned all results.
12182
+ # The token to use to get the next set of results. Will not be
12183
+ # returned if operation has returned all results.
11205
12184
  # @return [String]
11206
12185
  #
11207
12186
  class ListThingsInBillingGroupResponse < Struct.new(
@@ -11231,7 +12210,9 @@ module Aws::IoT
11231
12210
  # @return [Boolean]
11232
12211
  #
11233
12212
  # @!attribute [rw] next_token
11234
- # The token to retrieve the next set of results.
12213
+ # To retrieve the next set of results, the `nextToken` value from a
12214
+ # previous response; otherwise **null** to receive the first set of
12215
+ # results.
11235
12216
  # @return [String]
11236
12217
  #
11237
12218
  # @!attribute [rw] max_results
@@ -11252,8 +12233,8 @@ module Aws::IoT
11252
12233
  # @return [Array<String>]
11253
12234
  #
11254
12235
  # @!attribute [rw] next_token
11255
- # The token used to get the next set of results, or **null** if there
11256
- # are no additional results.
12236
+ # The token to use to get the next set of results, or **null** if
12237
+ # there are no additional results.
11257
12238
  # @return [String]
11258
12239
  #
11259
12240
  class ListThingsInThingGroupResponse < Struct.new(
@@ -11277,7 +12258,9 @@ module Aws::IoT
11277
12258
  # }
11278
12259
  #
11279
12260
  # @!attribute [rw] next_token
11280
- # The token to retrieve the next set of results.
12261
+ # To retrieve the next set of results, the `nextToken` value from a
12262
+ # previous response; otherwise **null** to receive the first set of
12263
+ # results.
11281
12264
  # @return [String]
11282
12265
  #
11283
12266
  # @!attribute [rw] max_results
@@ -11313,8 +12296,8 @@ module Aws::IoT
11313
12296
  # @return [Array<Types::ThingAttribute>]
11314
12297
  #
11315
12298
  # @!attribute [rw] next_token
11316
- # The token used to get the next set of results. Will not be returned
11317
- # if operation has returned all results.
12299
+ # The token to use to get the next set of results. Will not be
12300
+ # returned if operation has returned all results.
11318
12301
  # @return [String]
11319
12302
  #
11320
12303
  class ListThingsResponse < Struct.new(
@@ -11337,7 +12320,9 @@ module Aws::IoT
11337
12320
  # @return [Integer]
11338
12321
  #
11339
12322
  # @!attribute [rw] next_token
11340
- # The token to retrieve the next set of results.
12323
+ # To retrieve the next set of results, the `nextToken` value from a
12324
+ # previous response; otherwise **null** to receive the first set of
12325
+ # results.
11341
12326
  # @return [String]
11342
12327
  #
11343
12328
  class ListTopicRuleDestinationsRequest < Struct.new(
@@ -11352,7 +12337,8 @@ module Aws::IoT
11352
12337
  # @return [Array<Types::TopicRuleDestinationSummary>]
11353
12338
  #
11354
12339
  # @!attribute [rw] next_token
11355
- # The token to retrieve the next set of results.
12340
+ # The token to use to get the next set of results, or **null** if
12341
+ # there are no additional results.
11356
12342
  # @return [String]
11357
12343
  #
11358
12344
  class ListTopicRuleDestinationsResponse < Struct.new(
@@ -11383,7 +12369,9 @@ module Aws::IoT
11383
12369
  # @return [Integer]
11384
12370
  #
11385
12371
  # @!attribute [rw] next_token
11386
- # A token used to retrieve the next value.
12372
+ # To retrieve the next set of results, the `nextToken` value from a
12373
+ # previous response; otherwise **null** to receive the first set of
12374
+ # results.
11387
12375
  # @return [String]
11388
12376
  #
11389
12377
  # @!attribute [rw] rule_disabled
@@ -11406,7 +12394,8 @@ module Aws::IoT
11406
12394
  # @return [Array<Types::TopicRuleListItem>]
11407
12395
  #
11408
12396
  # @!attribute [rw] next_token
11409
- # A token used to retrieve the next value.
12397
+ # The token to use to get the next set of results, or **null** if
12398
+ # there are no additional results.
11410
12399
  # @return [String]
11411
12400
  #
11412
12401
  class ListTopicRulesResponse < Struct.new(
@@ -11431,8 +12420,9 @@ module Aws::IoT
11431
12420
  # @return [String]
11432
12421
  #
11433
12422
  # @!attribute [rw] next_token
11434
- # The token used to get the next set of results, or **null** if there
11435
- # are no additional results.
12423
+ # To retrieve the next set of results, the `nextToken` value from a
12424
+ # previous response; otherwise **null** to receive the first set of
12425
+ # results.
11436
12426
  # @return [String]
11437
12427
  #
11438
12428
  # @!attribute [rw] max_results
@@ -11452,8 +12442,8 @@ module Aws::IoT
11452
12442
  # @return [Array<Types::LogTargetConfiguration>]
11453
12443
  #
11454
12444
  # @!attribute [rw] next_token
11455
- # The token used to get the next set of results, or **null** if there
11456
- # are no additional results.
12445
+ # The token to use to get the next set of results, or **null** if
12446
+ # there are no additional results.
11457
12447
  # @return [String]
11458
12448
  #
11459
12449
  class ListV2LoggingLevelsResponse < Struct.new(
@@ -11471,6 +12461,8 @@ module Aws::IoT
11471
12461
  # end_time: Time.now, # required
11472
12462
  # thing_name: "DeviceDefenderThingName",
11473
12463
  # security_profile_name: "SecurityProfileName",
12464
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
12465
+ # list_suppressed_alerts: false,
11474
12466
  # next_token: "NextToken",
11475
12467
  # max_results: 1,
11476
12468
  # }
@@ -11493,6 +12485,14 @@ module Aws::IoT
11493
12485
  # security profile.
11494
12486
  # @return [String]
11495
12487
  #
12488
+ # @!attribute [rw] behavior_criteria_type
12489
+ # The criteria for a behavior.
12490
+ # @return [String]
12491
+ #
12492
+ # @!attribute [rw] list_suppressed_alerts
12493
+ # A list of all suppressed alerts.
12494
+ # @return [Boolean]
12495
+ #
11496
12496
  # @!attribute [rw] next_token
11497
12497
  # The token for the next set of results.
11498
12498
  # @return [String]
@@ -11506,6 +12506,8 @@ module Aws::IoT
11506
12506
  :end_time,
11507
12507
  :thing_name,
11508
12508
  :security_profile_name,
12509
+ :behavior_criteria_type,
12510
+ :list_suppressed_alerts,
11509
12511
  :next_token,
11510
12512
  :max_results)
11511
12513
  SENSITIVE = []
@@ -11597,6 +12599,26 @@ module Aws::IoT
11597
12599
  include Aws::Structure
11598
12600
  end
11599
12601
 
12602
+ # The configuration of an ML Detect Security Profile.
12603
+ #
12604
+ # @note When making an API call, you may pass MachineLearningDetectionConfig
12605
+ # data as a hash:
12606
+ #
12607
+ # {
12608
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
12609
+ # }
12610
+ #
12611
+ # @!attribute [rw] confidence_level
12612
+ # The sensitivity of anomalous behavior evaluation. Can be `Low`,
12613
+ # `Medium`, or `High`.
12614
+ # @return [String]
12615
+ #
12616
+ class MachineLearningDetectionConfig < Struct.new(
12617
+ :confidence_level)
12618
+ SENSITIVE = []
12619
+ include Aws::Structure
12620
+ end
12621
+
11600
12622
  # The policy documentation is not valid.
11601
12623
  #
11602
12624
  # @!attribute [rw] message
@@ -11658,7 +12680,7 @@ module Aws::IoT
11658
12680
  # @return [String]
11659
12681
  #
11660
12682
  # @!attribute [rw] metric_dimension
11661
- # The dimension of a metric.
12683
+ # The dimension of a metric. This can't be used with custom metrics.
11662
12684
  # @return [Types::MetricDimension]
11663
12685
  #
11664
12686
  class MetricToRetain < Struct.new(
@@ -11677,6 +12699,9 @@ module Aws::IoT
11677
12699
  # count: 1,
11678
12700
  # cidrs: ["Cidr"],
11679
12701
  # ports: [1],
12702
+ # number: 1.0,
12703
+ # numbers: [1.0],
12704
+ # strings: ["stringValue"],
11680
12705
  # }
11681
12706
  #
11682
12707
  # @!attribute [rw] count
@@ -11694,10 +12719,25 @@ module Aws::IoT
11694
12719
  # specify that set to be compared with the `metric`.
11695
12720
  # @return [Array<Integer>]
11696
12721
  #
12722
+ # @!attribute [rw] number
12723
+ # The numeral value of a metric.
12724
+ # @return [Float]
12725
+ #
12726
+ # @!attribute [rw] numbers
12727
+ # The numeral values of a metric.
12728
+ # @return [Array<Float>]
12729
+ #
12730
+ # @!attribute [rw] strings
12731
+ # The string values of a metric.
12732
+ # @return [Array<String>]
12733
+ #
11697
12734
  class MetricValue < Struct.new(
11698
12735
  :count,
11699
12736
  :cidrs,
11700
- :ports)
12737
+ :ports,
12738
+ :number,
12739
+ :numbers,
12740
+ :strings)
11701
12741
  SENSITIVE = []
11702
12742
  include Aws::Structure
11703
12743
  end
@@ -11812,8 +12852,8 @@ module Aws::IoT
11812
12852
  #
11813
12853
  # @!attribute [rw] publish_finding_to_sns_params
11814
12854
  # Parameters to define a mitigation action that publishes findings to
11815
- # Amazon SNS. You can implement your own custom actions in response to
11816
- # the Amazon SNS messages.
12855
+ # Amazon Simple Notification Service (Amazon SNS. You can implement
12856
+ # your own custom actions in response to the Amazon SNS messages.
11817
12857
  # @return [Types::PublishFindingToSnsParams]
11818
12858
  #
11819
12859
  class MitigationActionParams < Struct.new(
@@ -11900,6 +12940,7 @@ module Aws::IoT
11900
12940
  #
11901
12941
  # {
11902
12942
  # file_name: "FileName",
12943
+ # file_type: 1,
11903
12944
  # file_version: "OTAUpdateFileVersion",
11904
12945
  # file_location: {
11905
12946
  # stream: {
@@ -11949,6 +12990,11 @@ module Aws::IoT
11949
12990
  # The name of the file.
11950
12991
  # @return [String]
11951
12992
  #
12993
+ # @!attribute [rw] file_type
12994
+ # An integer value you can include in the job document to allow your
12995
+ # devices to identify the type of file received from the cloud.
12996
+ # @return [Integer]
12997
+ #
11952
12998
  # @!attribute [rw] file_version
11953
12999
  # The file version.
11954
13000
  # @return [String]
@@ -11967,6 +13013,7 @@ module Aws::IoT
11967
13013
  #
11968
13014
  class OTAUpdateFile < Struct.new(
11969
13015
  :file_name,
13016
+ :file_type,
11970
13017
  :file_version,
11971
13018
  :file_location,
11972
13019
  :code_signing,
@@ -12940,6 +13987,7 @@ module Aws::IoT
12940
13987
  # role_arn: "AwsArn", # required
12941
13988
  # delivery_stream_name: "DeliveryStreamName", # required
12942
13989
  # separator: "FirehoseSeparator",
13990
+ # batch_mode: false,
12943
13991
  # },
12944
13992
  # cloudwatch_metric: {
12945
13993
  # role_arn: "AwsArn", # required
@@ -12973,11 +14021,13 @@ module Aws::IoT
12973
14021
  # iot_analytics: {
12974
14022
  # channel_arn: "AwsArn",
12975
14023
  # channel_name: "ChannelName",
14024
+ # batch_mode: false,
12976
14025
  # role_arn: "AwsArn",
12977
14026
  # },
12978
14027
  # iot_events: {
12979
14028
  # input_name: "InputName", # required
12980
14029
  # message_id: "MessageId",
14030
+ # batch_mode: false,
12981
14031
  # role_arn: "AwsArn", # required
12982
14032
  # },
12983
14033
  # iot_site_wise: {
@@ -13043,6 +14093,15 @@ module Aws::IoT
13043
14093
  # },
13044
14094
  # },
13045
14095
  # },
14096
+ # kafka: {
14097
+ # destination_arn: "AwsArn", # required
14098
+ # topic: "String", # required
14099
+ # key: "String",
14100
+ # partition: "String",
14101
+ # client_properties: { # required
14102
+ # "String" => "String",
14103
+ # },
14104
+ # },
13046
14105
  # },
13047
14106
  # ],
13048
14107
  # rule_disabled: false,
@@ -13099,6 +14158,7 @@ module Aws::IoT
13099
14158
  # role_arn: "AwsArn", # required
13100
14159
  # delivery_stream_name: "DeliveryStreamName", # required
13101
14160
  # separator: "FirehoseSeparator",
14161
+ # batch_mode: false,
13102
14162
  # },
13103
14163
  # cloudwatch_metric: {
13104
14164
  # role_arn: "AwsArn", # required
@@ -13132,11 +14192,13 @@ module Aws::IoT
13132
14192
  # iot_analytics: {
13133
14193
  # channel_arn: "AwsArn",
13134
14194
  # channel_name: "ChannelName",
14195
+ # batch_mode: false,
13135
14196
  # role_arn: "AwsArn",
13136
14197
  # },
13137
14198
  # iot_events: {
13138
14199
  # input_name: "InputName", # required
13139
14200
  # message_id: "MessageId",
14201
+ # batch_mode: false,
13140
14202
  # role_arn: "AwsArn", # required
13141
14203
  # },
13142
14204
  # iot_site_wise: {
@@ -13202,6 +14264,15 @@ module Aws::IoT
13202
14264
  # },
13203
14265
  # },
13204
14266
  # },
14267
+ # kafka: {
14268
+ # destination_arn: "AwsArn", # required
14269
+ # topic: "String", # required
14270
+ # key: "String",
14271
+ # partition: "String",
14272
+ # client_properties: { # required
14273
+ # "String" => "String",
14274
+ # },
14275
+ # },
13205
14276
  # },
13206
14277
  # },
13207
14278
  # }
@@ -13426,7 +14497,12 @@ module Aws::IoT
13426
14497
  # @return [String]
13427
14498
  #
13428
14499
  # @!attribute [rw] key
13429
- # The object key.
14500
+ # The object key. For more information, see [Actions, resources, and
14501
+ # condition keys for Amazon S3][1].
14502
+ #
14503
+ #
14504
+ #
14505
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
13430
14506
  # @return [String]
13431
14507
  #
13432
14508
  # @!attribute [rw] canned_acl
@@ -13636,7 +14712,7 @@ module Aws::IoT
13636
14712
  # Identifying information for a Device Defender security profile.
13637
14713
  #
13638
14714
  # @!attribute [rw] name
13639
- # The name you have given to the security profile.
14715
+ # The name you've given to the security profile.
13640
14716
  # @return [String]
13641
14717
  #
13642
14718
  # @!attribute [rw] arn
@@ -13850,7 +14926,11 @@ module Aws::IoT
13850
14926
  include Aws::Structure
13851
14927
  end
13852
14928
 
13853
- # Use Sig V4 authorization.
14929
+ # For more information, see [Signature Version 4 signing process][1].
14930
+ #
14931
+ #
14932
+ #
14933
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
13854
14934
  #
13855
14935
  # @note When making an API call, you may pass SigV4Authorization
13856
14936
  # data as a hash:
@@ -14000,7 +15080,7 @@ module Aws::IoT
14000
15080
  # data as a hash:
14001
15081
  #
14002
15082
  # {
14003
- # task_id: "AuditMitigationActionsTaskId", # required
15083
+ # task_id: "MitigationActionsTaskId", # required
14004
15084
  # target: { # required
14005
15085
  # audit_task_id: "AuditTaskId",
14006
15086
  # finding_ids: ["FindingId"],
@@ -14022,7 +15102,7 @@ module Aws::IoT
14022
15102
  # @!attribute [rw] target
14023
15103
  # Specifies the audit findings to which the mitigation actions are
14024
15104
  # applied. You can apply them to a type of audit check, to all
14025
- # findings from an audit, or to a speecific set of findings.
15105
+ # findings from an audit, or to a specific set of findings.
14026
15106
  # @return [Types::AuditMitigationActionsTaskTarget]
14027
15107
  #
14028
15108
  # @!attribute [rw] audit_check_to_actions_mapping
@@ -14060,6 +15140,84 @@ module Aws::IoT
14060
15140
  include Aws::Structure
14061
15141
  end
14062
15142
 
15143
+ # @note When making an API call, you may pass StartDetectMitigationActionsTaskRequest
15144
+ # data as a hash:
15145
+ #
15146
+ # {
15147
+ # task_id: "MitigationActionsTaskId", # required
15148
+ # target: { # required
15149
+ # violation_ids: ["ViolationId"],
15150
+ # security_profile_name: "SecurityProfileName",
15151
+ # behavior_name: "BehaviorName",
15152
+ # },
15153
+ # actions: ["MitigationActionName"], # required
15154
+ # violation_event_occurrence_range: {
15155
+ # start_time: Time.now, # required
15156
+ # end_time: Time.now, # required
15157
+ # },
15158
+ # include_only_active_violations: false,
15159
+ # include_suppressed_alerts: false,
15160
+ # client_request_token: "ClientRequestToken", # required
15161
+ # }
15162
+ #
15163
+ # @!attribute [rw] task_id
15164
+ # The unique identifier of the task.
15165
+ # @return [String]
15166
+ #
15167
+ # @!attribute [rw] target
15168
+ # Specifies the ML Detect findings to which the mitigation actions are
15169
+ # applied.
15170
+ # @return [Types::DetectMitigationActionsTaskTarget]
15171
+ #
15172
+ # @!attribute [rw] actions
15173
+ # The actions to be performed when a device has unexpected behavior.
15174
+ # @return [Array<String>]
15175
+ #
15176
+ # @!attribute [rw] violation_event_occurrence_range
15177
+ # Specifies the time period of which violation events occurred
15178
+ # between.
15179
+ # @return [Types::ViolationEventOccurrenceRange]
15180
+ #
15181
+ # @!attribute [rw] include_only_active_violations
15182
+ # Specifies to list only active violations.
15183
+ # @return [Boolean]
15184
+ #
15185
+ # @!attribute [rw] include_suppressed_alerts
15186
+ # Specifies to include suppressed alerts.
15187
+ # @return [Boolean]
15188
+ #
15189
+ # @!attribute [rw] client_request_token
15190
+ # Each mitigation action task must have a unique client request token.
15191
+ # If you try to create a new task with the same token as a task that
15192
+ # already exists, an exception occurs. If you omit this value, AWS
15193
+ # SDKs will automatically generate a unique client request.
15194
+ #
15195
+ # **A suitable default value is auto-generated.** You should normally
15196
+ # not need to pass this option.
15197
+ # @return [String]
15198
+ #
15199
+ class StartDetectMitigationActionsTaskRequest < Struct.new(
15200
+ :task_id,
15201
+ :target,
15202
+ :actions,
15203
+ :violation_event_occurrence_range,
15204
+ :include_only_active_violations,
15205
+ :include_suppressed_alerts,
15206
+ :client_request_token)
15207
+ SENSITIVE = []
15208
+ include Aws::Structure
15209
+ end
15210
+
15211
+ # @!attribute [rw] task_id
15212
+ # The unique identifier of the task.
15213
+ # @return [String]
15214
+ #
15215
+ class StartDetectMitigationActionsTaskResponse < Struct.new(
15216
+ :task_id)
15217
+ SENSITIVE = []
15218
+ include Aws::Structure
15219
+ end
15220
+
14063
15221
  # @note When making an API call, you may pass StartOnDemandAuditTaskRequest
14064
15222
  # data as a hash:
14065
15223
  #
@@ -14179,9 +15337,9 @@ module Aws::IoT
14179
15337
  include Aws::Structure
14180
15338
  end
14181
15339
 
14182
- # A statistical ranking (percentile) which indicates a threshold value
14183
- # by which a behavior is determined to be in compliance or in violation
14184
- # of the behavior.
15340
+ # A statistical ranking (percentile) that indicates a threshold value by
15341
+ # which a behavior is determined to be in compliance or in violation of
15342
+ # the behavior.
14185
15343
  #
14186
15344
  # @note When making an API call, you may pass StatisticalThreshold
14187
15345
  # data as a hash:
@@ -14191,7 +15349,7 @@ module Aws::IoT
14191
15349
  # }
14192
15350
  #
14193
15351
  # @!attribute [rw] statistic
14194
- # The percentile which resolves to a threshold value by which
15352
+ # The percentile that resolves to a threshold value by which
14195
15353
  # compliance with a behavior is determined. Metrics are collected over
14196
15354
  # the specified period (`durationSeconds`) from all reporting devices
14197
15355
  # in your account and statistical ranks are calculated. Then, the
@@ -15400,6 +16558,14 @@ module Aws::IoT
15400
16558
  # to be sent to your confirmation endpoint.
15401
16559
  # @return [String]
15402
16560
  #
16561
+ # @!attribute [rw] created_at
16562
+ # The date and time when the topic rule destination was created.
16563
+ # @return [Time]
16564
+ #
16565
+ # @!attribute [rw] last_updated_at
16566
+ # The date and time when the topic rule destination was last updated.
16567
+ # @return [Time]
16568
+ #
15403
16569
  # @!attribute [rw] status_reason
15404
16570
  # Additional details or reason why the topic rule destination is in
15405
16571
  # the current status.
@@ -15409,11 +16575,18 @@ module Aws::IoT
15409
16575
  # Properties of the HTTP URL.
15410
16576
  # @return [Types::HttpUrlDestinationProperties]
15411
16577
  #
16578
+ # @!attribute [rw] vpc_properties
16579
+ # Properties of the virtual private cloud (VPC) connection.
16580
+ # @return [Types::VpcDestinationProperties]
16581
+ #
15412
16582
  class TopicRuleDestination < Struct.new(
15413
16583
  :arn,
15414
16584
  :status,
16585
+ :created_at,
16586
+ :last_updated_at,
15415
16587
  :status_reason,
15416
- :http_url_properties)
16588
+ :http_url_properties,
16589
+ :vpc_properties)
15417
16590
  SENSITIVE = []
15418
16591
  include Aws::Structure
15419
16592
  end
@@ -15427,14 +16600,25 @@ module Aws::IoT
15427
16600
  # http_url_configuration: {
15428
16601
  # confirmation_url: "Url", # required
15429
16602
  # },
16603
+ # vpc_configuration: {
16604
+ # subnet_ids: ["SubnetId"], # required
16605
+ # security_groups: ["SecurityGroupId"],
16606
+ # vpc_id: "VpcId", # required
16607
+ # role_arn: "AwsArn", # required
16608
+ # },
15430
16609
  # }
15431
16610
  #
15432
16611
  # @!attribute [rw] http_url_configuration
15433
16612
  # Configuration of the HTTP URL.
15434
16613
  # @return [Types::HttpUrlDestinationConfiguration]
15435
16614
  #
16615
+ # @!attribute [rw] vpc_configuration
16616
+ # Configuration of the virtual private cloud (VPC) connection.
16617
+ # @return [Types::VpcDestinationConfiguration]
16618
+ #
15436
16619
  class TopicRuleDestinationConfiguration < Struct.new(
15437
- :http_url_configuration)
16620
+ :http_url_configuration,
16621
+ :vpc_configuration)
15438
16622
  SENSITIVE = []
15439
16623
  include Aws::Structure
15440
16624
  end
@@ -15478,6 +16662,14 @@ module Aws::IoT
15478
16662
  # to be sent to your confirmation endpoint.
15479
16663
  # @return [String]
15480
16664
  #
16665
+ # @!attribute [rw] created_at
16666
+ # The date and time when the topic rule destination was created.
16667
+ # @return [Time]
16668
+ #
16669
+ # @!attribute [rw] last_updated_at
16670
+ # The date and time when the topic rule destination was last updated.
16671
+ # @return [Time]
16672
+ #
15481
16673
  # @!attribute [rw] status_reason
15482
16674
  # The reason the topic rule destination is in the current status.
15483
16675
  # @return [String]
@@ -15486,11 +16678,18 @@ module Aws::IoT
15486
16678
  # Information about the HTTP URL.
15487
16679
  # @return [Types::HttpUrlDestinationSummary]
15488
16680
  #
16681
+ # @!attribute [rw] vpc_destination_summary
16682
+ # Information about the virtual private cloud (VPC) connection.
16683
+ # @return [Types::VpcDestinationSummary]
16684
+ #
15489
16685
  class TopicRuleDestinationSummary < Struct.new(
15490
16686
  :arn,
15491
16687
  :status,
16688
+ :created_at,
16689
+ :last_updated_at,
15492
16690
  :status_reason,
15493
- :http_url_summary)
16691
+ :http_url_summary,
16692
+ :vpc_destination_summary)
15494
16693
  SENSITIVE = []
15495
16694
  include Aws::Structure
15496
16695
  end
@@ -15588,6 +16787,7 @@ module Aws::IoT
15588
16787
  # role_arn: "AwsArn", # required
15589
16788
  # delivery_stream_name: "DeliveryStreamName", # required
15590
16789
  # separator: "FirehoseSeparator",
16790
+ # batch_mode: false,
15591
16791
  # },
15592
16792
  # cloudwatch_metric: {
15593
16793
  # role_arn: "AwsArn", # required
@@ -15621,11 +16821,13 @@ module Aws::IoT
15621
16821
  # iot_analytics: {
15622
16822
  # channel_arn: "AwsArn",
15623
16823
  # channel_name: "ChannelName",
16824
+ # batch_mode: false,
15624
16825
  # role_arn: "AwsArn",
15625
16826
  # },
15626
16827
  # iot_events: {
15627
16828
  # input_name: "InputName", # required
15628
16829
  # message_id: "MessageId",
16830
+ # batch_mode: false,
15629
16831
  # role_arn: "AwsArn", # required
15630
16832
  # },
15631
16833
  # iot_site_wise: {
@@ -15691,6 +16893,15 @@ module Aws::IoT
15691
16893
  # },
15692
16894
  # },
15693
16895
  # },
16896
+ # kafka: {
16897
+ # destination_arn: "AwsArn", # required
16898
+ # topic: "String", # required
16899
+ # key: "String",
16900
+ # partition: "String",
16901
+ # client_properties: { # required
16902
+ # "String" => "String",
16903
+ # },
16904
+ # },
15694
16905
  # },
15695
16906
  # ],
15696
16907
  # rule_disabled: false,
@@ -15747,6 +16958,7 @@ module Aws::IoT
15747
16958
  # role_arn: "AwsArn", # required
15748
16959
  # delivery_stream_name: "DeliveryStreamName", # required
15749
16960
  # separator: "FirehoseSeparator",
16961
+ # batch_mode: false,
15750
16962
  # },
15751
16963
  # cloudwatch_metric: {
15752
16964
  # role_arn: "AwsArn", # required
@@ -15780,11 +16992,13 @@ module Aws::IoT
15780
16992
  # iot_analytics: {
15781
16993
  # channel_arn: "AwsArn",
15782
16994
  # channel_name: "ChannelName",
16995
+ # batch_mode: false,
15783
16996
  # role_arn: "AwsArn",
15784
16997
  # },
15785
16998
  # iot_events: {
15786
16999
  # input_name: "InputName", # required
15787
17000
  # message_id: "MessageId",
17001
+ # batch_mode: false,
15788
17002
  # role_arn: "AwsArn", # required
15789
17003
  # },
15790
17004
  # iot_site_wise: {
@@ -15850,6 +17064,15 @@ module Aws::IoT
15850
17064
  # },
15851
17065
  # },
15852
17066
  # },
17067
+ # kafka: {
17068
+ # destination_arn: "AwsArn", # required
17069
+ # topic: "String", # required
17070
+ # key: "String",
17071
+ # partition: "String",
17072
+ # client_properties: { # required
17073
+ # "String" => "String",
17074
+ # },
17075
+ # },
15853
17076
  # },
15854
17077
  # }
15855
17078
  #
@@ -16052,9 +17275,9 @@ module Aws::IoT
16052
17275
  # }
16053
17276
  #
16054
17277
  # @!attribute [rw] role_arn
16055
- # The ARN of the role that grants permission to AWS IoT to access
16056
- # information about your devices, policies, certificates and other
16057
- # items as required when performing an audit.
17278
+ # The Amazon Resource Name (ARN) of the role that grants permission to
17279
+ # AWS IoT to access information about your devices, policies,
17280
+ # certificates, and other items as required when performing an audit.
16058
17281
  # @return [String]
16059
17282
  #
16060
17283
  # @!attribute [rw] audit_notification_target_configurations
@@ -16070,7 +17293,7 @@ module Aws::IoT
16070
17293
  # enabled. When a check is disabled, any data collected so far in
16071
17294
  # relation to the check is deleted.
16072
17295
  #
16073
- # You cannot disable a check if it is used by any scheduled audit. You
17296
+ # You cannot disable a check if it's used by any scheduled audit. You
16074
17297
  # must first delete the check from the scheduled audit or delete the
16075
17298
  # scheduled audit itself.
16076
17299
  #
@@ -16261,7 +17484,7 @@ module Aws::IoT
16261
17484
  # }
16262
17485
  #
16263
17486
  # @!attribute [rw] action
16264
- # The action that you want to apply to the CA cerrtificate. The only
17487
+ # The action that you want to apply to the CA certificate. The only
16265
17488
  # supported value is `DEACTIVATE`.
16266
17489
  # @return [String]
16267
17490
  #
@@ -16355,6 +17578,68 @@ module Aws::IoT
16355
17578
  include Aws::Structure
16356
17579
  end
16357
17580
 
17581
+ # @note When making an API call, you may pass UpdateCustomMetricRequest
17582
+ # data as a hash:
17583
+ #
17584
+ # {
17585
+ # metric_name: "MetricName", # required
17586
+ # display_name: "CustomMetricDisplayName", # required
17587
+ # }
17588
+ #
17589
+ # @!attribute [rw] metric_name
17590
+ # The name of the custom metric. Cannot be updated.
17591
+ # @return [String]
17592
+ #
17593
+ # @!attribute [rw] display_name
17594
+ # Field represents a friendly name in the console for the custom
17595
+ # metric, it doesn't have to be unique. Don't use this name as the
17596
+ # metric identifier in the device metric report. Can be updated.
17597
+ # @return [String]
17598
+ #
17599
+ class UpdateCustomMetricRequest < Struct.new(
17600
+ :metric_name,
17601
+ :display_name)
17602
+ SENSITIVE = []
17603
+ include Aws::Structure
17604
+ end
17605
+
17606
+ # @!attribute [rw] metric_name
17607
+ # The name of the custom metric.
17608
+ # @return [String]
17609
+ #
17610
+ # @!attribute [rw] metric_arn
17611
+ # The Amazon Resource Number (ARN) of the custom metric.
17612
+ # @return [String]
17613
+ #
17614
+ # @!attribute [rw] metric_type
17615
+ # The type of the custom metric. Types include `string-list`,
17616
+ # `ip-address-list`, `number-list`, and `number`.
17617
+ # @return [String]
17618
+ #
17619
+ # @!attribute [rw] display_name
17620
+ # A friendly name in the console for the custom metric
17621
+ # @return [String]
17622
+ #
17623
+ # @!attribute [rw] creation_date
17624
+ # The creation date of the custom metric in milliseconds since epoch.
17625
+ # @return [Time]
17626
+ #
17627
+ # @!attribute [rw] last_modified_date
17628
+ # The time the custom metric was last modified in milliseconds since
17629
+ # epoch.
17630
+ # @return [Time]
17631
+ #
17632
+ class UpdateCustomMetricResponse < Struct.new(
17633
+ :metric_name,
17634
+ :metric_arn,
17635
+ :metric_type,
17636
+ :display_name,
17637
+ :creation_date,
17638
+ :last_modified_date)
17639
+ SENSITIVE = []
17640
+ include Aws::Structure
17641
+ end
17642
+
16358
17643
  # Parameters to define a mitigation action that changes the state of the
16359
17644
  # device certificate to inactive.
16360
17645
  #
@@ -16366,7 +17651,7 @@ module Aws::IoT
16366
17651
  # }
16367
17652
  #
16368
17653
  # @!attribute [rw] action
16369
- # The action that you want to apply to the device cerrtificate. The
17654
+ # The action that you want to apply to the device certificate. The
16370
17655
  # only supported value is `DEACTIVATE`.
16371
17656
  # @return [String]
16372
17657
  #
@@ -16408,7 +17693,7 @@ module Aws::IoT
16408
17693
  # @return [String]
16409
17694
  #
16410
17695
  # @!attribute [rw] arn
16411
- # The ARN (Amazon resource name) of the created dimension.
17696
+ # The Amazon Resource Name (ARN)of the created dimension.
16412
17697
  # @return [String]
16413
17698
  #
16414
17699
  # @!attribute [rw] type
@@ -16680,6 +17965,7 @@ module Aws::IoT
16680
17965
  # timeout_config: {
16681
17966
  # in_progress_timeout_in_minutes: 1,
16682
17967
  # },
17968
+ # namespace_id: "NamespaceId",
16683
17969
  # }
16684
17970
  #
16685
17971
  # @!attribute [rw] job_id
@@ -16710,13 +17996,28 @@ module Aws::IoT
16710
17996
  # automatically set to `TIMED_OUT`.
16711
17997
  # @return [Types::TimeoutConfig]
16712
17998
  #
17999
+ # @!attribute [rw] namespace_id
18000
+ # The namespace used to indicate that a job is a customer-managed job.
18001
+ #
18002
+ # When you specify a value for this parameter, AWS IoT Core sends jobs
18003
+ # notifications to MQTT topics that contain the value in the following
18004
+ # format.
18005
+ #
18006
+ # `$aws/things/THING_NAME/jobs/JOB_ID/notify-namespace-NAMESPACE_ID/`
18007
+ #
18008
+ # <note markdown="1"> The `namespaceId` feature is in public preview.
18009
+ #
18010
+ # </note>
18011
+ # @return [String]
18012
+ #
16713
18013
  class UpdateJobRequest < Struct.new(
16714
18014
  :job_id,
16715
18015
  :description,
16716
18016
  :presigned_url_config,
16717
18017
  :job_executions_rollout_config,
16718
18018
  :abort_config,
16719
- :timeout_config)
18019
+ :timeout_config,
18020
+ :namespace_id)
16720
18021
  SENSITIVE = []
16721
18022
  include Aws::Structure
16722
18023
  end
@@ -16752,9 +18053,9 @@ module Aws::IoT
16752
18053
  # }
16753
18054
  #
16754
18055
  # @!attribute [rw] action_name
16755
- # The friendly name for the mitigation action. You can't change the
18056
+ # The friendly name for the mitigation action. You cannot change the
16756
18057
  # name by using `UpdateMitigationAction`. Instead, you must delete and
16757
- # re-create the mitigation action with the new name.
18058
+ # recreate the mitigation action with the new name.
16758
18059
  # @return [String]
16759
18060
  #
16760
18061
  # @!attribute [rw] role_arn
@@ -16903,24 +18204,24 @@ module Aws::IoT
16903
18204
  # }
16904
18205
  #
16905
18206
  # @!attribute [rw] frequency
16906
- # How often the scheduled audit takes place. Can be one of "DAILY",
16907
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each
16908
- # audit is determined by the system.
18207
+ # How often the scheduled audit takes place, either `DAILY`, `WEEKLY`,
18208
+ # `BIWEEKLY`, or `MONTHLY`. The start time of each audit is determined
18209
+ # by the system.
16909
18210
  # @return [String]
16910
18211
  #
16911
18212
  # @!attribute [rw] day_of_month
16912
- # The day of the month on which the scheduled audit takes place. Can
16913
- # be "1" through "31" or "LAST". This field is required if the
16914
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
18213
+ # The day of the month on which the scheduled audit takes place. This
18214
+ # can be `1` through `31` or `LAST`. This field is required if the
18215
+ # `frequency` parameter is set to `MONTHLY`. If days 29-31 are
16915
18216
  # specified, and the month does not have that many days, the audit
16916
18217
  # takes place on the "LAST" day of the month.
16917
18218
  # @return [String]
16918
18219
  #
16919
18220
  # @!attribute [rw] day_of_week
16920
- # The day of the week on which the scheduled audit takes place. Can be
16921
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
16922
- # "SAT". This field is required if the "frequency" parameter is
16923
- # set to "WEEKLY" or "BIWEEKLY".
18221
+ # The day of the week on which the scheduled audit takes place. This
18222
+ # can be one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`.
18223
+ # This field is required if the "frequency" parameter is set to
18224
+ # `WEEKLY` or `BIWEEKLY`.
16924
18225
  # @return [String]
16925
18226
  #
16926
18227
  # @!attribute [rw] target_check_names
@@ -16971,11 +18272,14 @@ module Aws::IoT
16971
18272
  # operator: "IN", # accepts IN, NOT_IN
16972
18273
  # },
16973
18274
  # criteria: {
16974
- # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
18275
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set, in-set, not-in-set
16975
18276
  # value: {
16976
18277
  # count: 1,
16977
18278
  # cidrs: ["Cidr"],
16978
18279
  # ports: [1],
18280
+ # number: 1.0,
18281
+ # numbers: [1.0],
18282
+ # strings: ["stringValue"],
16979
18283
  # },
16980
18284
  # duration_seconds: 1,
16981
18285
  # consecutive_datapoints_to_alarm: 1,
@@ -16983,7 +18287,11 @@ module Aws::IoT
16983
18287
  # statistical_threshold: {
16984
18288
  # statistic: "EvaluationStatistic",
16985
18289
  # },
18290
+ # ml_detection_config: {
18291
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18292
+ # },
16986
18293
  # },
18294
+ # suppress_alerts: false,
16987
18295
  # },
16988
18296
  # ],
16989
18297
  # alert_targets: {
@@ -17031,13 +18339,15 @@ module Aws::IoT
17031
18339
  #
17032
18340
  # A list of metrics whose data is retained (stored). By default, data
17033
18341
  # is retained for any metric used in the profile's `behaviors`, but
17034
- # it is also retained for any metric specified here.
18342
+ # it is also retained for any metric specified here. Can be used with
18343
+ # custom metrics; cannot be used with dimensions.
17035
18344
  # @return [Array<String>]
17036
18345
  #
17037
18346
  # @!attribute [rw] additional_metrics_to_retain_v2
17038
18347
  # A list of metrics whose data is retained (stored). By default, data
17039
18348
  # is retained for any metric used in the profile's behaviors, but it
17040
- # is also retained for any metric specified here.
18349
+ # is also retained for any metric specified here. Can be used with
18350
+ # custom metrics; cannot be used with dimensions.
17041
18351
  # @return [Array<Types::MetricToRetain>]
17042
18352
  #
17043
18353
  # @!attribute [rw] delete_behaviors
@@ -17113,7 +18423,8 @@ module Aws::IoT
17113
18423
  # @!attribute [rw] additional_metrics_to_retain_v2
17114
18424
  # A list of metrics whose data is retained (stored). By default, data
17115
18425
  # is retained for any metric used in the profile's behaviors, but it
17116
- # is also retained for any metric specified here.
18426
+ # is also retained for any metric specified here. Can be used with
18427
+ # custom metrics; cannot be used with dimensions.
17117
18428
  # @return [Array<Types::MetricToRetain>]
17118
18429
  #
17119
18430
  # @!attribute [rw] version
@@ -17372,7 +18683,7 @@ module Aws::IoT
17372
18683
  #
17373
18684
  # {
17374
18685
  # arn: "AwsArn", # required
17375
- # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR
18686
+ # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR, DELETING
17376
18687
  # }
17377
18688
  #
17378
18689
  # @!attribute [rw] arn
@@ -17434,11 +18745,14 @@ module Aws::IoT
17434
18745
  # operator: "IN", # accepts IN, NOT_IN
17435
18746
  # },
17436
18747
  # criteria: {
17437
- # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
18748
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set, in-set, not-in-set
17438
18749
  # value: {
17439
18750
  # count: 1,
17440
18751
  # cidrs: ["Cidr"],
17441
18752
  # ports: [1],
18753
+ # number: 1.0,
18754
+ # numbers: [1.0],
18755
+ # strings: ["stringValue"],
17442
18756
  # },
17443
18757
  # duration_seconds: 1,
17444
18758
  # consecutive_datapoints_to_alarm: 1,
@@ -17446,7 +18760,11 @@ module Aws::IoT
17446
18760
  # statistical_threshold: {
17447
18761
  # statistic: "EvaluationStatistic",
17448
18762
  # },
18763
+ # ml_detection_config: {
18764
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18765
+ # },
17449
18766
  # },
18767
+ # suppress_alerts: false,
17450
18768
  # },
17451
18769
  # ],
17452
18770
  # }
@@ -17531,13 +18849,17 @@ module Aws::IoT
17531
18849
  # @return [String]
17532
18850
  #
17533
18851
  # @!attribute [rw] behavior
17534
- # The behavior which was violated.
18852
+ # The behavior that was violated.
17535
18853
  # @return [Types::Behavior]
17536
18854
  #
17537
18855
  # @!attribute [rw] metric_value
17538
18856
  # The value of the metric (the measurement).
17539
18857
  # @return [Types::MetricValue]
17540
18858
  #
18859
+ # @!attribute [rw] violation_event_additional_info
18860
+ # The details of a violation event.
18861
+ # @return [Types::ViolationEventAdditionalInfo]
18862
+ #
17541
18863
  # @!attribute [rw] violation_event_type
17542
18864
  # The type of violation event.
17543
18865
  # @return [String]
@@ -17552,11 +18874,147 @@ module Aws::IoT
17552
18874
  :security_profile_name,
17553
18875
  :behavior,
17554
18876
  :metric_value,
18877
+ :violation_event_additional_info,
17555
18878
  :violation_event_type,
17556
18879
  :violation_event_time)
17557
18880
  SENSITIVE = []
17558
18881
  include Aws::Structure
17559
18882
  end
17560
18883
 
18884
+ # The details of a violation event.
18885
+ #
18886
+ # @!attribute [rw] confidence_level
18887
+ # The sensitivity of anomalous behavior evaluation. Can be `Low`,
18888
+ # `Medium`, or `High`.
18889
+ # @return [String]
18890
+ #
18891
+ class ViolationEventAdditionalInfo < Struct.new(
18892
+ :confidence_level)
18893
+ SENSITIVE = []
18894
+ include Aws::Structure
18895
+ end
18896
+
18897
+ # Specifies the time period of which violation events occurred between.
18898
+ #
18899
+ # @note When making an API call, you may pass ViolationEventOccurrenceRange
18900
+ # data as a hash:
18901
+ #
18902
+ # {
18903
+ # start_time: Time.now, # required
18904
+ # end_time: Time.now, # required
18905
+ # }
18906
+ #
18907
+ # @!attribute [rw] start_time
18908
+ # The start date and time of a time period in which violation events
18909
+ # occurred.
18910
+ # @return [Time]
18911
+ #
18912
+ # @!attribute [rw] end_time
18913
+ # The end date and time of a time period in which violation events
18914
+ # occurred.
18915
+ # @return [Time]
18916
+ #
18917
+ class ViolationEventOccurrenceRange < Struct.new(
18918
+ :start_time,
18919
+ :end_time)
18920
+ SENSITIVE = []
18921
+ include Aws::Structure
18922
+ end
18923
+
18924
+ # The configuration information for a virtual private cloud (VPC)
18925
+ # destination.
18926
+ #
18927
+ # @note When making an API call, you may pass VpcDestinationConfiguration
18928
+ # data as a hash:
18929
+ #
18930
+ # {
18931
+ # subnet_ids: ["SubnetId"], # required
18932
+ # security_groups: ["SecurityGroupId"],
18933
+ # vpc_id: "VpcId", # required
18934
+ # role_arn: "AwsArn", # required
18935
+ # }
18936
+ #
18937
+ # @!attribute [rw] subnet_ids
18938
+ # The subnet IDs of the VPC destination.
18939
+ # @return [Array<String>]
18940
+ #
18941
+ # @!attribute [rw] security_groups
18942
+ # The security groups of the VPC destination.
18943
+ # @return [Array<String>]
18944
+ #
18945
+ # @!attribute [rw] vpc_id
18946
+ # The ID of the VPC.
18947
+ # @return [String]
18948
+ #
18949
+ # @!attribute [rw] role_arn
18950
+ # The ARN of a role that has permission to create and attach to
18951
+ # elastic network interfaces (ENIs).
18952
+ # @return [String]
18953
+ #
18954
+ class VpcDestinationConfiguration < Struct.new(
18955
+ :subnet_ids,
18956
+ :security_groups,
18957
+ :vpc_id,
18958
+ :role_arn)
18959
+ SENSITIVE = []
18960
+ include Aws::Structure
18961
+ end
18962
+
18963
+ # The properties of a virtual private cloud (VPC) destination.
18964
+ #
18965
+ # @!attribute [rw] subnet_ids
18966
+ # The subnet IDs of the VPC destination.
18967
+ # @return [Array<String>]
18968
+ #
18969
+ # @!attribute [rw] security_groups
18970
+ # The security groups of the VPC destination.
18971
+ # @return [Array<String>]
18972
+ #
18973
+ # @!attribute [rw] vpc_id
18974
+ # The ID of the VPC.
18975
+ # @return [String]
18976
+ #
18977
+ # @!attribute [rw] role_arn
18978
+ # The ARN of a role that has permission to create and attach to
18979
+ # elastic network interfaces (ENIs).
18980
+ # @return [String]
18981
+ #
18982
+ class VpcDestinationProperties < Struct.new(
18983
+ :subnet_ids,
18984
+ :security_groups,
18985
+ :vpc_id,
18986
+ :role_arn)
18987
+ SENSITIVE = []
18988
+ include Aws::Structure
18989
+ end
18990
+
18991
+ # The summary of a virtual private cloud (VPC) destination.
18992
+ #
18993
+ # @!attribute [rw] subnet_ids
18994
+ # The subnet IDs of the VPC destination.
18995
+ # @return [Array<String>]
18996
+ #
18997
+ # @!attribute [rw] security_groups
18998
+ # The security groups of the VPC destination.
18999
+ # @return [Array<String>]
19000
+ #
19001
+ # @!attribute [rw] vpc_id
19002
+ # The ID of the VPC.
19003
+ # @return [String]
19004
+ #
19005
+ # @!attribute [rw] role_arn
19006
+ # The ARN of a role that has permission to create and attach to
19007
+ # elastic network interfaces (ENIs).
19008
+ # @return [String]
19009
+ #
19010
+ class VpcDestinationSummary < Struct.new(
19011
+ :subnet_ids,
19012
+ :security_groups,
19013
+ :vpc_id,
19014
+ :role_arn)
19015
+ SENSITIVE = []
19016
+ include Aws::Structure
19017
+ end
19018
+
17561
19019
  end
17562
19020
  end