aws-sdk-iot 1.59.0 → 1.64.0

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