aws-sdk-iot 1.61.0 → 1.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -161,6 +161,7 @@ module Aws::IoT
161
161
  # role_arn: "AwsArn", # required
162
162
  # delivery_stream_name: "DeliveryStreamName", # required
163
163
  # separator: "FirehoseSeparator",
164
+ # batch_mode: false,
164
165
  # },
165
166
  # cloudwatch_metric: {
166
167
  # role_arn: "AwsArn", # required
@@ -194,11 +195,13 @@ module Aws::IoT
194
195
  # iot_analytics: {
195
196
  # channel_arn: "AwsArn",
196
197
  # channel_name: "ChannelName",
198
+ # batch_mode: false,
197
199
  # role_arn: "AwsArn",
198
200
  # },
199
201
  # iot_events: {
200
202
  # input_name: "InputName", # required
201
203
  # message_id: "MessageId",
204
+ # batch_mode: false,
202
205
  # role_arn: "AwsArn", # required
203
206
  # },
204
207
  # iot_site_wise: {
@@ -264,6 +267,15 @@ module Aws::IoT
264
267
  # },
265
268
  # },
266
269
  # },
270
+ # kafka: {
271
+ # destination_arn: "AwsArn", # required
272
+ # topic: "String", # required
273
+ # key: "String",
274
+ # partition: "String",
275
+ # client_properties: { # required
276
+ # "String" => "String",
277
+ # },
278
+ # },
267
279
  # }
268
280
  #
269
281
  # @!attribute [rw] dynamo_db
@@ -355,6 +367,11 @@ module Aws::IoT
355
367
  # Send data to an HTTPS endpoint.
356
368
  # @return [Types::HttpAction]
357
369
  #
370
+ # @!attribute [rw] kafka
371
+ # Send messages to an Amazon Managed Streaming for Apache Kafka
372
+ # (Amazon MSK) or self-managed Apache Kafka cluster.
373
+ # @return [Types::KafkaAction]
374
+ #
358
375
  class Action < Struct.new(
359
376
  :dynamo_db,
360
377
  :dynamo_d_bv_2,
@@ -375,7 +392,8 @@ module Aws::IoT
375
392
  :iot_site_wise,
376
393
  :step_functions,
377
394
  :timestream,
378
- :http)
395
+ :http,
396
+ :kafka)
379
397
  SENSITIVE = []
380
398
  include Aws::Structure
381
399
  end
@@ -392,18 +410,22 @@ module Aws::IoT
392
410
  # @return [String]
393
411
  #
394
412
  # @!attribute [rw] security_profile_name
395
- # The security profile whose behavior is in violation.
413
+ # The security profile with the behavior is in violation.
396
414
  # @return [String]
397
415
  #
398
416
  # @!attribute [rw] behavior
399
- # The behavior which is being violated.
417
+ # The behavior that is being violated.
400
418
  # @return [Types::Behavior]
401
419
  #
402
420
  # @!attribute [rw] last_violation_value
403
- # The value of the metric (the measurement) which caused the most
421
+ # The value of the metric (the measurement) that caused the most
404
422
  # recent violation.
405
423
  # @return [Types::MetricValue]
406
424
  #
425
+ # @!attribute [rw] violation_event_additional_info
426
+ # The details of a violation event.
427
+ # @return [Types::ViolationEventAdditionalInfo]
428
+ #
407
429
  # @!attribute [rw] last_violation_time
408
430
  # The time the most recent violation occurred.
409
431
  # @return [Time]
@@ -418,6 +440,7 @@ module Aws::IoT
418
440
  :security_profile_name,
419
441
  :behavior,
420
442
  :last_violation_value,
443
+ :violation_event_additional_info,
421
444
  :last_violation_time,
422
445
  :violation_start_time)
423
446
  SENSITIVE = []
@@ -521,14 +544,14 @@ module Aws::IoT
521
544
  # @!attribute [rw] thing_group_names
522
545
  # The list of groups to which you want to add the things that
523
546
  # triggered the mitigation action. You can add a thing to a maximum of
524
- # 10 groups, but you cannot add a thing to more than one group in the
547
+ # 10 groups, but you can't add a thing to more than one group in the
525
548
  # same hierarchy.
526
549
  # @return [Array<String>]
527
550
  #
528
551
  # @!attribute [rw] override_dynamic_groups
529
552
  # Specifies if this mitigation action can move the things that
530
553
  # triggered the mitigation action even if they are part of one or more
531
- # dynamic things groups.
554
+ # dynamic thing groups.
532
555
  # @return [Boolean]
533
556
  #
534
557
  class AddThingsToThingGroupParams < Struct.new(
@@ -549,7 +572,8 @@ module Aws::IoT
549
572
  # }
550
573
  #
551
574
  # @!attribute [rw] alert_target_arn
552
- # The ARN of the notification target to which alerts are sent.
575
+ # The Amazon Resource Name (ARN) of the notification target to which
576
+ # alerts are sent.
553
577
  # @return [String]
554
578
  #
555
579
  # @!attribute [rw] role_arn
@@ -1639,11 +1663,14 @@ module Aws::IoT
1639
1663
  # operator: "IN", # accepts IN, NOT_IN
1640
1664
  # },
1641
1665
  # criteria: {
1642
- # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
1666
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set, in-set, not-in-set
1643
1667
  # value: {
1644
1668
  # count: 1,
1645
1669
  # cidrs: ["Cidr"],
1646
1670
  # ports: [1],
1671
+ # number: 1.0,
1672
+ # numbers: [1.0],
1673
+ # strings: ["stringValue"],
1647
1674
  # },
1648
1675
  # duration_seconds: 1,
1649
1676
  # consecutive_datapoints_to_alarm: 1,
@@ -1651,11 +1678,15 @@ module Aws::IoT
1651
1678
  # statistical_threshold: {
1652
1679
  # statistic: "EvaluationStatistic",
1653
1680
  # },
1681
+ # ml_detection_config: {
1682
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
1683
+ # },
1654
1684
  # },
1685
+ # suppress_alerts: false,
1655
1686
  # }
1656
1687
  #
1657
1688
  # @!attribute [rw] name
1658
- # The name you have given to the behavior.
1689
+ # The name you've given to the behavior.
1659
1690
  # @return [String]
1660
1691
  #
1661
1692
  # @!attribute [rw] metric
@@ -1665,8 +1696,8 @@ module Aws::IoT
1665
1696
  # @!attribute [rw] metric_dimension
1666
1697
  # The dimension for a metric in your behavior. For example, using a
1667
1698
  # `TOPIC_FILTER` dimension, you can narrow down the scope of the
1668
- # metric only to MQTT topics whose name match the pattern specified in
1669
- # the dimension.
1699
+ # metric to only MQTT topics where the name matches the pattern
1700
+ # specified in the dimension. This can't be used with custom metrics.
1670
1701
  # @return [Types::MetricDimension]
1671
1702
  #
1672
1703
  # @!attribute [rw] criteria
@@ -1674,11 +1705,16 @@ module Aws::IoT
1674
1705
  # regard to the `metric`.
1675
1706
  # @return [Types::BehaviorCriteria]
1676
1707
  #
1708
+ # @!attribute [rw] suppress_alerts
1709
+ # Suppresses alerts.
1710
+ # @return [Boolean]
1711
+ #
1677
1712
  class Behavior < Struct.new(
1678
1713
  :name,
1679
1714
  :metric,
1680
1715
  :metric_dimension,
1681
- :criteria)
1716
+ :criteria,
1717
+ :suppress_alerts)
1682
1718
  SENSITIVE = []
1683
1719
  include Aws::Structure
1684
1720
  end
@@ -1689,11 +1725,14 @@ module Aws::IoT
1689
1725
  # data as a hash:
1690
1726
  #
1691
1727
  # {
1692
- # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
1728
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set, in-set, not-in-set
1693
1729
  # value: {
1694
1730
  # count: 1,
1695
1731
  # cidrs: ["Cidr"],
1696
1732
  # ports: [1],
1733
+ # number: 1.0,
1734
+ # numbers: [1.0],
1735
+ # strings: ["stringValue"],
1697
1736
  # },
1698
1737
  # duration_seconds: 1,
1699
1738
  # consecutive_datapoints_to_alarm: 1,
@@ -1701,11 +1740,24 @@ module Aws::IoT
1701
1740
  # statistical_threshold: {
1702
1741
  # statistic: "EvaluationStatistic",
1703
1742
  # },
1743
+ # ml_detection_config: {
1744
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
1745
+ # },
1704
1746
  # }
1705
1747
  #
1706
1748
  # @!attribute [rw] comparison_operator
1707
1749
  # The operator that relates the thing measured (`metric`) to the
1708
- # criteria (containing a `value` or `statisticalThreshold`).
1750
+ # criteria (containing a `value` or `statisticalThreshold`). Valid
1751
+ # operators include:
1752
+ #
1753
+ # * `string-list`\: `in-set` and `not-in-set`
1754
+ #
1755
+ # * `number-list`\: `in-set` and `not-in-set`
1756
+ #
1757
+ # * `ip-address-list`\: `in-cidr-set` and `not-in-cidr-set`
1758
+ #
1759
+ # * `number`\: `less-than`, `less-than-equals`, `greater-than`, and
1760
+ # `greater-than-equals`
1709
1761
  # @return [String]
1710
1762
  #
1711
1763
  # @!attribute [rw] value
@@ -1714,12 +1766,13 @@ module Aws::IoT
1714
1766
  #
1715
1767
  # @!attribute [rw] duration_seconds
1716
1768
  # Use this to specify the time duration over which the behavior is
1717
- # evaluated, for those criteria which have a time dimension (for
1769
+ # evaluated, for those criteria that have a time dimension (for
1718
1770
  # example, `NUM_MESSAGES_SENT`). For a `statisticalThreshhold` metric
1719
1771
  # comparison, measurements from all devices are accumulated over this
1720
1772
  # time duration before being used to calculate percentiles, and later,
1721
1773
  # measurements from an individual device are also accumulated over
1722
- # this time duration before being given a percentile rank.
1774
+ # this time duration before being given a percentile rank. Cannot be
1775
+ # used with list-based metric datatypes.
1723
1776
  # @return [Integer]
1724
1777
  #
1725
1778
  # @!attribute [rw] consecutive_datapoints_to_alarm
@@ -1736,18 +1789,60 @@ module Aws::IoT
1736
1789
  # @return [Integer]
1737
1790
  #
1738
1791
  # @!attribute [rw] statistical_threshold
1739
- # A statistical ranking (percentile) which indicates a threshold value
1792
+ # A statistical ranking (percentile)that indicates a threshold value
1740
1793
  # by which a behavior is determined to be in compliance or in
1741
1794
  # violation of the behavior.
1742
1795
  # @return [Types::StatisticalThreshold]
1743
1796
  #
1797
+ # @!attribute [rw] ml_detection_config
1798
+ # The configuration of an ML Detect
1799
+ # @return [Types::MachineLearningDetectionConfig]
1800
+ #
1744
1801
  class BehaviorCriteria < Struct.new(
1745
1802
  :comparison_operator,
1746
1803
  :value,
1747
1804
  :duration_seconds,
1748
1805
  :consecutive_datapoints_to_alarm,
1749
1806
  :consecutive_datapoints_to_clear,
1750
- :statistical_threshold)
1807
+ :statistical_threshold,
1808
+ :ml_detection_config)
1809
+ SENSITIVE = []
1810
+ include Aws::Structure
1811
+ end
1812
+
1813
+ # The summary of an ML Detect behavior model.
1814
+ #
1815
+ # @!attribute [rw] security_profile_name
1816
+ # The name of the security profile.
1817
+ # @return [String]
1818
+ #
1819
+ # @!attribute [rw] behavior_name
1820
+ # The name of the behavior.
1821
+ # @return [String]
1822
+ #
1823
+ # @!attribute [rw] training_data_collection_start_date
1824
+ # The date a training model started collecting data.
1825
+ # @return [Time]
1826
+ #
1827
+ # @!attribute [rw] model_status
1828
+ # The status of the behavior model.
1829
+ # @return [String]
1830
+ #
1831
+ # @!attribute [rw] datapoints_collection_percentage
1832
+ # The percentage of datapoints collected.
1833
+ # @return [Float]
1834
+ #
1835
+ # @!attribute [rw] last_model_refresh_date
1836
+ # The date the model was last refreshed.
1837
+ # @return [Time]
1838
+ #
1839
+ class BehaviorModelTrainingSummary < Struct.new(
1840
+ :security_profile_name,
1841
+ :behavior_name,
1842
+ :training_data_collection_start_date,
1843
+ :model_status,
1844
+ :datapoints_collection_percentage,
1845
+ :last_model_refresh_date)
1751
1846
  SENSITIVE = []
1752
1847
  include Aws::Structure
1753
1848
  end
@@ -1880,7 +1975,7 @@ module Aws::IoT
1880
1975
  # data as a hash:
1881
1976
  #
1882
1977
  # {
1883
- # task_id: "AuditMitigationActionsTaskId", # required
1978
+ # task_id: "MitigationActionsTaskId", # required
1884
1979
  # }
1885
1980
  #
1886
1981
  # @!attribute [rw] task_id
@@ -1935,6 +2030,25 @@ module Aws::IoT
1935
2030
  include Aws::Structure
1936
2031
  end
1937
2032
 
2033
+ # @note When making an API call, you may pass CancelDetectMitigationActionsTaskRequest
2034
+ # data as a hash:
2035
+ #
2036
+ # {
2037
+ # task_id: "MitigationActionsTaskId", # required
2038
+ # }
2039
+ #
2040
+ # @!attribute [rw] task_id
2041
+ # The unique identifier of the task.
2042
+ # @return [String]
2043
+ #
2044
+ class CancelDetectMitigationActionsTaskRequest < Struct.new(
2045
+ :task_id)
2046
+ SENSITIVE = []
2047
+ include Aws::Structure
2048
+ end
2049
+
2050
+ class CancelDetectMitigationActionsTaskResponse < Aws::EmptyStructure; end
2051
+
1938
2052
  # @note When making an API call, you may pass CancelJobExecutionRequest
1939
2053
  # data as a hash:
1940
2054
  #
@@ -2769,6 +2883,80 @@ module Aws::IoT
2769
2883
  include Aws::Structure
2770
2884
  end
2771
2885
 
2886
+ # @note When making an API call, you may pass CreateCustomMetricRequest
2887
+ # data as a hash:
2888
+ #
2889
+ # {
2890
+ # metric_name: "MetricName", # required
2891
+ # display_name: "CustomMetricDisplayName",
2892
+ # metric_type: "string-list", # required, accepts string-list, ip-address-list, number-list, number
2893
+ # tags: [
2894
+ # {
2895
+ # key: "TagKey", # required
2896
+ # value: "TagValue",
2897
+ # },
2898
+ # ],
2899
+ # client_request_token: "ClientRequestToken", # required
2900
+ # }
2901
+ #
2902
+ # @!attribute [rw] metric_name
2903
+ # The name of the custom metric. This will be used in the metric
2904
+ # report submitted from the device/thing. Shouldn't begin with
2905
+ # `aws:`. Cannot be updated once defined.
2906
+ # @return [String]
2907
+ #
2908
+ # @!attribute [rw] display_name
2909
+ # Field represents a friendly name in the console for the custom
2910
+ # metric; it doesn't have to be unique. Don't use this name as the
2911
+ # metric identifier in the device metric report. Can be updated once
2912
+ # defined.
2913
+ # @return [String]
2914
+ #
2915
+ # @!attribute [rw] metric_type
2916
+ # The type of the custom metric. Types include `string-list`,
2917
+ # `ip-address-list`, `number-list`, and `number`.
2918
+ # @return [String]
2919
+ #
2920
+ # @!attribute [rw] tags
2921
+ # Metadata that can be used to manage the custom metric.
2922
+ # @return [Array<Types::Tag>]
2923
+ #
2924
+ # @!attribute [rw] client_request_token
2925
+ # Each custom metric must have a unique client request token. If you
2926
+ # try to create a new custom metric that already exists with a
2927
+ # different token, an exception occurs. If you omit this value, AWS
2928
+ # SDKs will automatically generate a unique client request.
2929
+ #
2930
+ # **A suitable default value is auto-generated.** You should normally
2931
+ # not need to pass this option.
2932
+ # @return [String]
2933
+ #
2934
+ class CreateCustomMetricRequest < Struct.new(
2935
+ :metric_name,
2936
+ :display_name,
2937
+ :metric_type,
2938
+ :tags,
2939
+ :client_request_token)
2940
+ SENSITIVE = []
2941
+ include Aws::Structure
2942
+ end
2943
+
2944
+ # @!attribute [rw] metric_name
2945
+ # The name of the custom metric to be used in the metric report.
2946
+ # @return [String]
2947
+ #
2948
+ # @!attribute [rw] metric_arn
2949
+ # The Amazon Resource Number (ARN) of the custom metric, e.g.
2950
+ # `arn:aws-partition:iot:region:accountId:custommetric/metricName `
2951
+ # @return [String]
2952
+ #
2953
+ class CreateCustomMetricResponse < Struct.new(
2954
+ :metric_name,
2955
+ :metric_arn)
2956
+ SENSITIVE = []
2957
+ include Aws::Structure
2958
+ end
2959
+
2772
2960
  # @note When making an API call, you may pass CreateDimensionRequest
2773
2961
  # data as a hash:
2774
2962
  #
@@ -2830,7 +3018,7 @@ module Aws::IoT
2830
3018
  # @return [String]
2831
3019
  #
2832
3020
  # @!attribute [rw] arn
2833
- # The ARN (Amazon resource name) of the created dimension.
3021
+ # The Amazon Resource Name (ARN) of the created dimension.
2834
3022
  # @return [String]
2835
3023
  #
2836
3024
  class CreateDimensionResponse < Struct.new(
@@ -3376,6 +3564,7 @@ module Aws::IoT
3376
3564
  # files: [ # required
3377
3565
  # {
3378
3566
  # file_name: "FileName",
3567
+ # file_type: 1,
3379
3568
  # file_version: "OTAUpdateFileVersion",
3380
3569
  # file_location: {
3381
3570
  # stream: {
@@ -3961,24 +4150,24 @@ module Aws::IoT
3961
4150
  # }
3962
4151
  #
3963
4152
  # @!attribute [rw] frequency
3964
- # How often the scheduled audit takes place. Can be one of "DAILY",
3965
- # "WEEKLY", "BIWEEKLY" or "MONTHLY". The start time of each
3966
- # audit is determined by the system.
4153
+ # How often the scheduled audit takes place, either `DAILY`, `WEEKLY`,
4154
+ # `BIWEEKLY` or `MONTHLY`. The start time of each audit is determined
4155
+ # by the system.
3967
4156
  # @return [String]
3968
4157
  #
3969
4158
  # @!attribute [rw] day_of_month
3970
- # The day of the month on which the scheduled audit takes place. Can
3971
- # be "1" through "31" or "LAST". This field is required if the
3972
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
3973
- # specified, and the month does not have that many days, the audit
3974
- # takes place on the "LAST" day of the month.
4159
+ # The day of the month on which the scheduled audit takes place. This
4160
+ # can be "1" through "31" or "LAST". This field is required if
4161
+ # the "frequency" parameter is set to `MONTHLY`. If days 29 to 31
4162
+ # are specified, and the month doesn't have that many days, the audit
4163
+ # takes place on the `LAST` day of the month.
3975
4164
  # @return [String]
3976
4165
  #
3977
4166
  # @!attribute [rw] day_of_week
3978
- # The day of the week on which the scheduled audit takes place. Can be
3979
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
3980
- # "SAT". This field is required if the "frequency" parameter is
3981
- # set to "WEEKLY" or "BIWEEKLY".
4167
+ # The day of the week on which the scheduled audit takes place, either
4168
+ # `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`. This field is
4169
+ # required if the `frequency` parameter is set to `WEEKLY` or
4170
+ # `BIWEEKLY`.
3982
4171
  # @return [String]
3983
4172
  #
3984
4173
  # @!attribute [rw] target_check_names
@@ -4034,11 +4223,14 @@ module Aws::IoT
4034
4223
  # operator: "IN", # accepts IN, NOT_IN
4035
4224
  # },
4036
4225
  # criteria: {
4037
- # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
4226
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set, in-set, not-in-set
4038
4227
  # value: {
4039
4228
  # count: 1,
4040
4229
  # cidrs: ["Cidr"],
4041
4230
  # ports: [1],
4231
+ # number: 1.0,
4232
+ # numbers: [1.0],
4233
+ # strings: ["stringValue"],
4042
4234
  # },
4043
4235
  # duration_seconds: 1,
4044
4236
  # consecutive_datapoints_to_alarm: 1,
@@ -4046,7 +4238,11 @@ module Aws::IoT
4046
4238
  # statistical_threshold: {
4047
4239
  # statistic: "EvaluationStatistic",
4048
4240
  # },
4241
+ # ml_detection_config: {
4242
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
4243
+ # },
4049
4244
  # },
4245
+ # suppress_alerts: false,
4050
4246
  # },
4051
4247
  # ],
4052
4248
  # alert_targets: {
@@ -4098,13 +4294,15 @@ module Aws::IoT
4098
4294
  #
4099
4295
  # A list of metrics whose data is retained (stored). By default, data
4100
4296
  # is retained for any metric used in the profile's `behaviors`, but
4101
- # it is also retained for any metric specified here.
4297
+ # it is also retained for any metric specified here. Can be used with
4298
+ # custom metrics; cannot be used with dimensions.
4102
4299
  # @return [Array<String>]
4103
4300
  #
4104
4301
  # @!attribute [rw] additional_metrics_to_retain_v2
4105
4302
  # A list of metrics whose data is retained (stored). By default, data
4106
4303
  # is retained for any metric used in the profile's `behaviors`, but
4107
- # it is also retained for any metric specified here.
4304
+ # it is also retained for any metric specified here. Can be used with
4305
+ # custom metrics; cannot be used with dimensions.
4108
4306
  # @return [Array<Types::MetricToRetain>]
4109
4307
  #
4110
4308
  # @!attribute [rw] tags
@@ -4429,6 +4627,12 @@ module Aws::IoT
4429
4627
  # http_url_configuration: {
4430
4628
  # confirmation_url: "Url", # required
4431
4629
  # },
4630
+ # vpc_configuration: {
4631
+ # subnet_ids: ["SubnetId"], # required
4632
+ # security_groups: ["SecurityGroupId"],
4633
+ # vpc_id: "VpcId", # required
4634
+ # role_arn: "AwsArn", # required
4635
+ # },
4432
4636
  # },
4433
4637
  # }
4434
4638
  #
@@ -4515,6 +4719,7 @@ module Aws::IoT
4515
4719
  # role_arn: "AwsArn", # required
4516
4720
  # delivery_stream_name: "DeliveryStreamName", # required
4517
4721
  # separator: "FirehoseSeparator",
4722
+ # batch_mode: false,
4518
4723
  # },
4519
4724
  # cloudwatch_metric: {
4520
4725
  # role_arn: "AwsArn", # required
@@ -4548,11 +4753,13 @@ module Aws::IoT
4548
4753
  # iot_analytics: {
4549
4754
  # channel_arn: "AwsArn",
4550
4755
  # channel_name: "ChannelName",
4756
+ # batch_mode: false,
4551
4757
  # role_arn: "AwsArn",
4552
4758
  # },
4553
4759
  # iot_events: {
4554
4760
  # input_name: "InputName", # required
4555
4761
  # message_id: "MessageId",
4762
+ # batch_mode: false,
4556
4763
  # role_arn: "AwsArn", # required
4557
4764
  # },
4558
4765
  # iot_site_wise: {
@@ -4618,6 +4825,15 @@ module Aws::IoT
4618
4825
  # },
4619
4826
  # },
4620
4827
  # },
4828
+ # kafka: {
4829
+ # destination_arn: "AwsArn", # required
4830
+ # topic: "String", # required
4831
+ # key: "String",
4832
+ # partition: "String",
4833
+ # client_properties: { # required
4834
+ # "String" => "String",
4835
+ # },
4836
+ # },
4621
4837
  # },
4622
4838
  # ],
4623
4839
  # rule_disabled: false,
@@ -4674,6 +4890,7 @@ module Aws::IoT
4674
4890
  # role_arn: "AwsArn", # required
4675
4891
  # delivery_stream_name: "DeliveryStreamName", # required
4676
4892
  # separator: "FirehoseSeparator",
4893
+ # batch_mode: false,
4677
4894
  # },
4678
4895
  # cloudwatch_metric: {
4679
4896
  # role_arn: "AwsArn", # required
@@ -4707,11 +4924,13 @@ module Aws::IoT
4707
4924
  # iot_analytics: {
4708
4925
  # channel_arn: "AwsArn",
4709
4926
  # channel_name: "ChannelName",
4927
+ # batch_mode: false,
4710
4928
  # role_arn: "AwsArn",
4711
4929
  # },
4712
4930
  # iot_events: {
4713
4931
  # input_name: "InputName", # required
4714
4932
  # message_id: "MessageId",
4933
+ # batch_mode: false,
4715
4934
  # role_arn: "AwsArn", # required
4716
4935
  # },
4717
4936
  # iot_site_wise: {
@@ -4777,6 +4996,15 @@ module Aws::IoT
4777
4996
  # },
4778
4997
  # },
4779
4998
  # },
4999
+ # kafka: {
5000
+ # destination_arn: "AwsArn", # required
5001
+ # topic: "String", # required
5002
+ # key: "String",
5003
+ # partition: "String",
5004
+ # client_properties: { # required
5005
+ # "String" => "String",
5006
+ # },
5007
+ # },
4780
5008
  # },
4781
5009
  # },
4782
5010
  # tags: "String",
@@ -5026,6 +5254,25 @@ module Aws::IoT
5026
5254
  include Aws::Structure
5027
5255
  end
5028
5256
 
5257
+ # @note When making an API call, you may pass DeleteCustomMetricRequest
5258
+ # data as a hash:
5259
+ #
5260
+ # {
5261
+ # metric_name: "MetricName", # required
5262
+ # }
5263
+ #
5264
+ # @!attribute [rw] metric_name
5265
+ # The name of the custom metric.
5266
+ # @return [String]
5267
+ #
5268
+ class DeleteCustomMetricRequest < Struct.new(
5269
+ :metric_name)
5270
+ SENSITIVE = []
5271
+ include Aws::Structure
5272
+ end
5273
+
5274
+ class DeleteCustomMetricResponse < Aws::EmptyStructure; end
5275
+
5029
5276
  # @note When making an API call, you may pass DeleteDimensionRequest
5030
5277
  # data as a hash:
5031
5278
  #
@@ -5244,13 +5491,16 @@ module Aws::IoT
5244
5491
  # @return [String]
5245
5492
  #
5246
5493
  # @!attribute [rw] delete_stream
5247
- # Specifies if the stream associated with an OTA update should be
5248
- # deleted when the OTA update is deleted.
5494
+ # When true, the stream created by the OTAUpdate process is deleted
5495
+ # when the OTA update is deleted. Ignored if the stream specified in
5496
+ # the OTAUpdate is supplied by the user.
5249
5497
  # @return [Boolean]
5250
5498
  #
5251
5499
  # @!attribute [rw] force_delete_aws_job
5252
- # Specifies if the AWS Job associated with the OTA update should be
5253
- # deleted when the OTA update is deleted.
5500
+ # When true, deletes the AWS job created by the OTAUpdate process even
5501
+ # if it is "IN\_PROGRESS". Otherwise, if the job is not in a
5502
+ # terminal state ("COMPLETED" or "CANCELED") an exception will
5503
+ # occur. The default is false.
5254
5504
  # @return [Boolean]
5255
5505
  #
5256
5506
  class DeleteOTAUpdateRequest < Struct.new(
@@ -5700,7 +5950,7 @@ module Aws::IoT
5700
5950
  # data as a hash:
5701
5951
  #
5702
5952
  # {
5703
- # task_id: "AuditMitigationActionsTaskId", # required
5953
+ # task_id: "MitigationActionsTaskId", # required
5704
5954
  # }
5705
5955
  #
5706
5956
  # @!attribute [rw] task_id
@@ -6032,6 +6282,62 @@ module Aws::IoT
6032
6282
  include Aws::Structure
6033
6283
  end
6034
6284
 
6285
+ # @note When making an API call, you may pass DescribeCustomMetricRequest
6286
+ # data as a hash:
6287
+ #
6288
+ # {
6289
+ # metric_name: "MetricName", # required
6290
+ # }
6291
+ #
6292
+ # @!attribute [rw] metric_name
6293
+ # The name of the custom metric.
6294
+ # @return [String]
6295
+ #
6296
+ class DescribeCustomMetricRequest < Struct.new(
6297
+ :metric_name)
6298
+ SENSITIVE = []
6299
+ include Aws::Structure
6300
+ end
6301
+
6302
+ # @!attribute [rw] metric_name
6303
+ # The name of the custom metric.
6304
+ # @return [String]
6305
+ #
6306
+ # @!attribute [rw] metric_arn
6307
+ # The Amazon Resource Number (ARN) of the custom metric.
6308
+ # @return [String]
6309
+ #
6310
+ # @!attribute [rw] metric_type
6311
+ # The type of the custom metric. Types include `string-list`,
6312
+ # `ip-address-list`, `number-list`, and `number`.
6313
+ # @return [String]
6314
+ #
6315
+ # @!attribute [rw] display_name
6316
+ # Field represents a friendly name in the console for the custom
6317
+ # metric; doesn't have to be unique. Don't use this name as the
6318
+ # metric identifier in the device metric report. Can be updated.
6319
+ # @return [String]
6320
+ #
6321
+ # @!attribute [rw] creation_date
6322
+ # The creation date of the custom metric in milliseconds since epoch.
6323
+ # @return [Time]
6324
+ #
6325
+ # @!attribute [rw] last_modified_date
6326
+ # The time the custom metric was last modified in milliseconds since
6327
+ # epoch.
6328
+ # @return [Time]
6329
+ #
6330
+ class DescribeCustomMetricResponse < Struct.new(
6331
+ :metric_name,
6332
+ :metric_arn,
6333
+ :metric_type,
6334
+ :display_name,
6335
+ :creation_date,
6336
+ :last_modified_date)
6337
+ SENSITIVE = []
6338
+ include Aws::Structure
6339
+ end
6340
+
6035
6341
  # @api private
6036
6342
  #
6037
6343
  class DescribeDefaultAuthorizerRequest < Aws::EmptyStructure; end
@@ -6046,6 +6352,33 @@ module Aws::IoT
6046
6352
  include Aws::Structure
6047
6353
  end
6048
6354
 
6355
+ # @note When making an API call, you may pass DescribeDetectMitigationActionsTaskRequest
6356
+ # data as a hash:
6357
+ #
6358
+ # {
6359
+ # task_id: "MitigationActionsTaskId", # required
6360
+ # }
6361
+ #
6362
+ # @!attribute [rw] task_id
6363
+ # The unique identifier of the task.
6364
+ # @return [String]
6365
+ #
6366
+ class DescribeDetectMitigationActionsTaskRequest < Struct.new(
6367
+ :task_id)
6368
+ SENSITIVE = []
6369
+ include Aws::Structure
6370
+ end
6371
+
6372
+ # @!attribute [rw] task_summary
6373
+ # The description of a task.
6374
+ # @return [Types::DetectMitigationActionsTaskSummary]
6375
+ #
6376
+ class DescribeDetectMitigationActionsTaskResponse < Struct.new(
6377
+ :task_summary)
6378
+ SENSITIVE = []
6379
+ include Aws::Structure
6380
+ end
6381
+
6049
6382
  # @note When making an API call, you may pass DescribeDimensionRequest
6050
6383
  # data as a hash:
6051
6384
  #
@@ -6068,7 +6401,7 @@ module Aws::IoT
6068
6401
  # @return [String]
6069
6402
  #
6070
6403
  # @!attribute [rw] arn
6071
- # The ARN (Amazon resource name) for the dimension.
6404
+ # The Amazon Resource Name (ARN) for the dimension.
6072
6405
  # @return [String]
6073
6406
  #
6074
6407
  # @!attribute [rw] type
@@ -6605,21 +6938,21 @@ module Aws::IoT
6605
6938
  end
6606
6939
 
6607
6940
  # @!attribute [rw] frequency
6608
- # How often the scheduled audit takes place. One of "DAILY",
6609
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each
6610
- # audit is determined by the system.
6941
+ # How often the scheduled audit takes place, either one of `DAILY`,
6942
+ # `WEEKLY`, `BIWEEKLY`, or `MONTHLY`. The start time of each audit is
6943
+ # determined by the system.
6611
6944
  # @return [String]
6612
6945
  #
6613
6946
  # @!attribute [rw] day_of_month
6614
- # The day of the month on which the scheduled audit takes place. Will
6615
- # be "1" through "31" or "LAST". If days 29-31 are specified,
6616
- # and the month does not have that many days, the audit takes place on
6617
- # the "LAST" day of the month.
6947
+ # The day of the month on which the scheduled audit takes place. This
6948
+ # is will be `1` through `31` or `LAST`. If days `29`-`31` are
6949
+ # specified, and the month does not have that many days, the audit
6950
+ # takes place on the `LAST` day of the month.
6618
6951
  # @return [String]
6619
6952
  #
6620
6953
  # @!attribute [rw] day_of_week
6621
- # The day of the week on which the scheduled audit takes place. One of
6622
- # "SUN", "MON", "TUE", "WED", "THU", "FRI", or "SAT".
6954
+ # The day of the week on which the scheduled audit takes place, either
6955
+ # one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`.
6623
6956
  # @return [String]
6624
6957
  #
6625
6958
  # @!attribute [rw] target_check_names
@@ -7185,6 +7518,170 @@ module Aws::IoT
7185
7518
  #
7186
7519
  class DetachThingPrincipalResponse < Aws::EmptyStructure; end
7187
7520
 
7521
+ # Describes which mitigation actions should be executed.
7522
+ #
7523
+ # @!attribute [rw] task_id
7524
+ # The unique identifier of the task.
7525
+ # @return [String]
7526
+ #
7527
+ # @!attribute [rw] violation_id
7528
+ # The unique identifier of the violation.
7529
+ # @return [String]
7530
+ #
7531
+ # @!attribute [rw] action_name
7532
+ # The friendly name that uniquely identifies the mitigation action.
7533
+ # @return [String]
7534
+ #
7535
+ # @!attribute [rw] thing_name
7536
+ # The name of the thing.
7537
+ # @return [String]
7538
+ #
7539
+ # @!attribute [rw] execution_start_date
7540
+ # The date a mitigation action was started.
7541
+ # @return [Time]
7542
+ #
7543
+ # @!attribute [rw] execution_end_date
7544
+ # The date a mitigation action ended.
7545
+ # @return [Time]
7546
+ #
7547
+ # @!attribute [rw] status
7548
+ # The status of a mitigation action.
7549
+ # @return [String]
7550
+ #
7551
+ # @!attribute [rw] error_code
7552
+ # The error code of a mitigation action.
7553
+ # @return [String]
7554
+ #
7555
+ # @!attribute [rw] message
7556
+ # The message of a mitigation action.
7557
+ # @return [String]
7558
+ #
7559
+ class DetectMitigationActionExecution < Struct.new(
7560
+ :task_id,
7561
+ :violation_id,
7562
+ :action_name,
7563
+ :thing_name,
7564
+ :execution_start_date,
7565
+ :execution_end_date,
7566
+ :status,
7567
+ :error_code,
7568
+ :message)
7569
+ SENSITIVE = []
7570
+ include Aws::Structure
7571
+ end
7572
+
7573
+ # The statistics of a mitigation action task.
7574
+ #
7575
+ # @!attribute [rw] actions_executed
7576
+ # The actions that were performed.
7577
+ # @return [Integer]
7578
+ #
7579
+ # @!attribute [rw] actions_skipped
7580
+ # The actions that were skipped.
7581
+ # @return [Integer]
7582
+ #
7583
+ # @!attribute [rw] actions_failed
7584
+ # The actions that failed.
7585
+ # @return [Integer]
7586
+ #
7587
+ class DetectMitigationActionsTaskStatistics < Struct.new(
7588
+ :actions_executed,
7589
+ :actions_skipped,
7590
+ :actions_failed)
7591
+ SENSITIVE = []
7592
+ include Aws::Structure
7593
+ end
7594
+
7595
+ # The summary of the mitigation action tasks.
7596
+ #
7597
+ # @!attribute [rw] task_id
7598
+ # The unique identifier of the task.
7599
+ # @return [String]
7600
+ #
7601
+ # @!attribute [rw] task_status
7602
+ # The status of the task.
7603
+ # @return [String]
7604
+ #
7605
+ # @!attribute [rw] task_start_time
7606
+ # The date the task started.
7607
+ # @return [Time]
7608
+ #
7609
+ # @!attribute [rw] task_end_time
7610
+ # The date the task ended.
7611
+ # @return [Time]
7612
+ #
7613
+ # @!attribute [rw] target
7614
+ # Specifies the ML Detect findings to which the mitigation actions are
7615
+ # applied.
7616
+ # @return [Types::DetectMitigationActionsTaskTarget]
7617
+ #
7618
+ # @!attribute [rw] violation_event_occurrence_range
7619
+ # Specifies the time period of which violation events occurred
7620
+ # between.
7621
+ # @return [Types::ViolationEventOccurrenceRange]
7622
+ #
7623
+ # @!attribute [rw] only_active_violations_included
7624
+ # Includes only active violations.
7625
+ # @return [Boolean]
7626
+ #
7627
+ # @!attribute [rw] suppressed_alerts_included
7628
+ # Includes suppressed alerts.
7629
+ # @return [Boolean]
7630
+ #
7631
+ # @!attribute [rw] actions_definition
7632
+ # The definition of the actions.
7633
+ # @return [Array<Types::MitigationAction>]
7634
+ #
7635
+ # @!attribute [rw] task_statistics
7636
+ # The statistics of a mitigation action task.
7637
+ # @return [Types::DetectMitigationActionsTaskStatistics]
7638
+ #
7639
+ class DetectMitigationActionsTaskSummary < Struct.new(
7640
+ :task_id,
7641
+ :task_status,
7642
+ :task_start_time,
7643
+ :task_end_time,
7644
+ :target,
7645
+ :violation_event_occurrence_range,
7646
+ :only_active_violations_included,
7647
+ :suppressed_alerts_included,
7648
+ :actions_definition,
7649
+ :task_statistics)
7650
+ SENSITIVE = []
7651
+ include Aws::Structure
7652
+ end
7653
+
7654
+ # The target of a mitigation action task.
7655
+ #
7656
+ # @note When making an API call, you may pass DetectMitigationActionsTaskTarget
7657
+ # data as a hash:
7658
+ #
7659
+ # {
7660
+ # violation_ids: ["ViolationId"],
7661
+ # security_profile_name: "SecurityProfileName",
7662
+ # behavior_name: "BehaviorName",
7663
+ # }
7664
+ #
7665
+ # @!attribute [rw] violation_ids
7666
+ # The unique identifiers of the violations.
7667
+ # @return [Array<String>]
7668
+ #
7669
+ # @!attribute [rw] security_profile_name
7670
+ # The name of the security profile.
7671
+ # @return [String]
7672
+ #
7673
+ # @!attribute [rw] behavior_name
7674
+ # The name of the behavior.
7675
+ # @return [String]
7676
+ #
7677
+ class DetectMitigationActionsTaskTarget < Struct.new(
7678
+ :violation_ids,
7679
+ :security_profile_name,
7680
+ :behavior_name)
7681
+ SENSITIVE = []
7682
+ include Aws::Structure
7683
+ end
7684
+
7188
7685
  # The input for the DisableTopicRuleRequest operation.
7189
7686
  #
7190
7687
  # @note When making an API call, you may pass DisableTopicRuleRequest
@@ -7449,11 +7946,11 @@ module Aws::IoT
7449
7946
  # }
7450
7947
  #
7451
7948
  # @!attribute [rw] role_arn_for_logging
7452
- # The ARN of the IAM role used for logging.
7949
+ # The Amazon Resource Name (ARN) of the IAM role used for logging.
7453
7950
  # @return [String]
7454
7951
  #
7455
7952
  # @!attribute [rw] log_level
7456
- # Specifies the types of information to be logged.
7953
+ # Specifies the type of information to be logged.
7457
7954
  # @return [String]
7458
7955
  #
7459
7956
  class EnableIoTLoggingParams < Struct.new(
@@ -7617,6 +8114,7 @@ module Aws::IoT
7617
8114
  # role_arn: "AwsArn", # required
7618
8115
  # delivery_stream_name: "DeliveryStreamName", # required
7619
8116
  # separator: "FirehoseSeparator",
8117
+ # batch_mode: false,
7620
8118
  # }
7621
8119
  #
7622
8120
  # @!attribute [rw] role_arn
@@ -7634,10 +8132,72 @@ module Aws::IoT
7634
8132
  # (tab), '\\r\\n' (Windows newline), ',' (comma).
7635
8133
  # @return [String]
7636
8134
  #
8135
+ # @!attribute [rw] batch_mode
8136
+ # Whether to deliver the Kinesis Data Firehose stream as a batch by
8137
+ # using [ `PutRecordBatch` ][1]. The default value is `false`.
8138
+ #
8139
+ # When `batchMode` is `true` and the rule's SQL statement evaluates
8140
+ # to an Array, each Array element forms one record in the [
8141
+ # `PutRecordBatch` ][1] request. The resulting array can't have more
8142
+ # than 500 records.
8143
+ #
8144
+ #
8145
+ #
8146
+ # [1]: https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html
8147
+ # @return [Boolean]
8148
+ #
7637
8149
  class FirehoseAction < Struct.new(
7638
8150
  :role_arn,
7639
8151
  :delivery_stream_name,
7640
- :separator)
8152
+ :separator,
8153
+ :batch_mode)
8154
+ SENSITIVE = []
8155
+ include Aws::Structure
8156
+ end
8157
+
8158
+ # @note When making an API call, you may pass GetBehaviorModelTrainingSummariesRequest
8159
+ # data as a hash:
8160
+ #
8161
+ # {
8162
+ # security_profile_name: "SecurityProfileName",
8163
+ # max_results: 1,
8164
+ # next_token: "NextToken",
8165
+ # }
8166
+ #
8167
+ # @!attribute [rw] security_profile_name
8168
+ # The name of the security profile.
8169
+ # @return [String]
8170
+ #
8171
+ # @!attribute [rw] max_results
8172
+ # The maximum number of results to return at one time. The default is
8173
+ # 25.
8174
+ # @return [Integer]
8175
+ #
8176
+ # @!attribute [rw] next_token
8177
+ # The token for the next set of results.
8178
+ # @return [String]
8179
+ #
8180
+ class GetBehaviorModelTrainingSummariesRequest < Struct.new(
8181
+ :security_profile_name,
8182
+ :max_results,
8183
+ :next_token)
8184
+ SENSITIVE = []
8185
+ include Aws::Structure
8186
+ end
8187
+
8188
+ # @!attribute [rw] summaries
8189
+ # A list of all ML Detect behaviors and their model status for a given
8190
+ # Security Profile.
8191
+ # @return [Array<Types::BehaviorModelTrainingSummary>]
8192
+ #
8193
+ # @!attribute [rw] next_token
8194
+ # A token that can be used to retrieve the next set of results, or
8195
+ # `null` if there are no additional results.
8196
+ # @return [String]
8197
+ #
8198
+ class GetBehaviorModelTrainingSummariesResponse < Struct.new(
8199
+ :summaries,
8200
+ :next_token)
7641
8201
  SENSITIVE = []
7642
8202
  include Aws::Structure
7643
8203
  end
@@ -8482,6 +9042,7 @@ module Aws::IoT
8482
9042
  # {
8483
9043
  # channel_arn: "AwsArn",
8484
9044
  # channel_name: "ChannelName",
9045
+ # batch_mode: false,
8485
9046
  # role_arn: "AwsArn",
8486
9047
  # }
8487
9048
  #
@@ -8495,6 +9056,20 @@ module Aws::IoT
8495
9056
  # sent.
8496
9057
  # @return [String]
8497
9058
  #
9059
+ # @!attribute [rw] batch_mode
9060
+ # Whether to process the action as a batch. The default value is
9061
+ # `false`.
9062
+ #
9063
+ # When `batchMode` is `true` and the rule SQL statement evaluates to
9064
+ # an Array, each Array element is delivered as a separate message when
9065
+ # passed by [ `BatchPutMessage` ][1] to the AWS IoT Analytics channel.
9066
+ # The resulting array can't have more than 100 messages.
9067
+ #
9068
+ #
9069
+ #
9070
+ # [1]: https://docs.aws.amazon.com/iotanalytics/latest/APIReference/API_BatchPutMessage.html
9071
+ # @return [Boolean]
9072
+ #
8498
9073
  # @!attribute [rw] role_arn
8499
9074
  # The ARN of the role which has a policy that grants IoT Analytics
8500
9075
  # permission to send message data via IoT Analytics
@@ -8504,6 +9079,7 @@ module Aws::IoT
8504
9079
  class IotAnalyticsAction < Struct.new(
8505
9080
  :channel_arn,
8506
9081
  :channel_name,
9082
+ :batch_mode,
8507
9083
  :role_arn)
8508
9084
  SENSITIVE = []
8509
9085
  include Aws::Structure
@@ -8517,6 +9093,7 @@ module Aws::IoT
8517
9093
  # {
8518
9094
  # input_name: "InputName", # required
8519
9095
  # message_id: "MessageId",
9096
+ # batch_mode: false,
8520
9097
  # role_arn: "AwsArn", # required
8521
9098
  # }
8522
9099
  #
@@ -8525,10 +9102,32 @@ module Aws::IoT
8525
9102
  # @return [String]
8526
9103
  #
8527
9104
  # @!attribute [rw] message_id
8528
- # \[Optional\] Use this to ensure that only one input (message) with a
8529
- # given messageId will be processed by an AWS IoT Events detector.
9105
+ # The ID of the message. The default `messageId` is a new UUID value.
9106
+ #
9107
+ # When `batchMode` is `true`, you can't specify a `messageId`--a new
9108
+ # UUID value will be assigned.
9109
+ #
9110
+ # Assign a value to this property to ensure that only one input
9111
+ # (message) with a given `messageId` will be processed by an AWS IoT
9112
+ # Events detector.
8530
9113
  # @return [String]
8531
9114
  #
9115
+ # @!attribute [rw] batch_mode
9116
+ # Whether to process the event actions as a batch. The default value
9117
+ # is `false`.
9118
+ #
9119
+ # When `batchMode` is `true`, you can't specify a `messageId`.
9120
+ #
9121
+ # When `batchMode` is `true` and the rule SQL statement evaluates to
9122
+ # an Array, each Array element is treated as a separate message when
9123
+ # it's sent to AWS IoT Events by calling [ `BatchPutMessage` ][1].
9124
+ # The resulting array can't have more than 10 messages.
9125
+ #
9126
+ #
9127
+ #
9128
+ # [1]: https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_BatchPutMessage.html
9129
+ # @return [Boolean]
9130
+ #
8532
9131
  # @!attribute [rw] role_arn
8533
9132
  # The ARN of the role that grants AWS IoT permission to send an input
8534
9133
  # to an AWS IoT Events detector.
@@ -8538,6 +9137,7 @@ module Aws::IoT
8538
9137
  class IotEventsAction < Struct.new(
8539
9138
  :input_name,
8540
9139
  :message_id,
9140
+ :batch_mode,
8541
9141
  :role_arn)
8542
9142
  SENSITIVE = []
8543
9143
  include Aws::Structure
@@ -9020,6 +9620,52 @@ module Aws::IoT
9020
9620
  include Aws::Structure
9021
9621
  end
9022
9622
 
9623
+ # Send messages to an Amazon Managed Streaming for Apache Kafka (Amazon
9624
+ # MSK) or self-managed Apache Kafka cluster.
9625
+ #
9626
+ # @note When making an API call, you may pass KafkaAction
9627
+ # data as a hash:
9628
+ #
9629
+ # {
9630
+ # destination_arn: "AwsArn", # required
9631
+ # topic: "String", # required
9632
+ # key: "String",
9633
+ # partition: "String",
9634
+ # client_properties: { # required
9635
+ # "String" => "String",
9636
+ # },
9637
+ # }
9638
+ #
9639
+ # @!attribute [rw] destination_arn
9640
+ # The ARN of Kafka action's VPC `TopicRuleDestination`.
9641
+ # @return [String]
9642
+ #
9643
+ # @!attribute [rw] topic
9644
+ # The Kafka topic for messages to be sent to the Kafka broker.
9645
+ # @return [String]
9646
+ #
9647
+ # @!attribute [rw] key
9648
+ # The Kafka message key.
9649
+ # @return [String]
9650
+ #
9651
+ # @!attribute [rw] partition
9652
+ # The Kafka message partition.
9653
+ # @return [String]
9654
+ #
9655
+ # @!attribute [rw] client_properties
9656
+ # Properties of the Apache Kafka producer client.
9657
+ # @return [Hash<String,String>]
9658
+ #
9659
+ class KafkaAction < Struct.new(
9660
+ :destination_arn,
9661
+ :topic,
9662
+ :key,
9663
+ :partition,
9664
+ :client_properties)
9665
+ SENSITIVE = []
9666
+ include Aws::Structure
9667
+ end
9668
+
9023
9669
  # Describes a key pair.
9024
9670
  #
9025
9671
  # @!attribute [rw] public_key
@@ -9106,6 +9752,8 @@ module Aws::IoT
9106
9752
  # {
9107
9753
  # thing_name: "DeviceDefenderThingName",
9108
9754
  # security_profile_name: "SecurityProfileName",
9755
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
9756
+ # list_suppressed_alerts: false,
9109
9757
  # next_token: "NextToken",
9110
9758
  # max_results: 1,
9111
9759
  # }
@@ -9119,6 +9767,14 @@ module Aws::IoT
9119
9767
  # violations are listed.
9120
9768
  # @return [String]
9121
9769
  #
9770
+ # @!attribute [rw] behavior_criteria_type
9771
+ # The criteria for a behavior.
9772
+ # @return [String]
9773
+ #
9774
+ # @!attribute [rw] list_suppressed_alerts
9775
+ # A list of all suppressed alerts.
9776
+ # @return [Boolean]
9777
+ #
9122
9778
  # @!attribute [rw] next_token
9123
9779
  # The token for the next set of results.
9124
9780
  # @return [String]
@@ -9130,6 +9786,8 @@ module Aws::IoT
9130
9786
  class ListActiveViolationsRequest < Struct.new(
9131
9787
  :thing_name,
9132
9788
  :security_profile_name,
9789
+ :behavior_criteria_type,
9790
+ :list_suppressed_alerts,
9133
9791
  :next_token,
9134
9792
  :max_results)
9135
9793
  SENSITIVE = []
@@ -9310,7 +9968,7 @@ module Aws::IoT
9310
9968
  # data as a hash:
9311
9969
  #
9312
9970
  # {
9313
- # task_id: "AuditMitigationActionsTaskId", # required
9971
+ # task_id: "MitigationActionsTaskId", # required
9314
9972
  # action_status: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED, CANCELED, SKIPPED, PENDING
9315
9973
  # finding_id: "FindingId", # required
9316
9974
  # max_results: 1,
@@ -9824,20 +10482,189 @@ module Aws::IoT
9824
10482
  include Aws::Structure
9825
10483
  end
9826
10484
 
9827
- # The output of the ListCertificates operation.
9828
- #
9829
- # @!attribute [rw] certificates
9830
- # The descriptions of the certificates.
9831
- # @return [Array<Types::Certificate>]
10485
+ # The output of the ListCertificates operation.
10486
+ #
10487
+ # @!attribute [rw] certificates
10488
+ # The descriptions of the certificates.
10489
+ # @return [Array<Types::Certificate>]
10490
+ #
10491
+ # @!attribute [rw] next_marker
10492
+ # The marker for the next set of results, or null if there are no
10493
+ # additional results.
10494
+ # @return [String]
10495
+ #
10496
+ class ListCertificatesResponse < Struct.new(
10497
+ :certificates,
10498
+ :next_marker)
10499
+ SENSITIVE = []
10500
+ include Aws::Structure
10501
+ end
10502
+
10503
+ # @note When making an API call, you may pass ListCustomMetricsRequest
10504
+ # data as a hash:
10505
+ #
10506
+ # {
10507
+ # next_token: "NextToken",
10508
+ # max_results: 1,
10509
+ # }
10510
+ #
10511
+ # @!attribute [rw] next_token
10512
+ # The token for the next set of results.
10513
+ # @return [String]
10514
+ #
10515
+ # @!attribute [rw] max_results
10516
+ # The maximum number of results to return at one time. The default is
10517
+ # 25.
10518
+ # @return [Integer]
10519
+ #
10520
+ class ListCustomMetricsRequest < Struct.new(
10521
+ :next_token,
10522
+ :max_results)
10523
+ SENSITIVE = []
10524
+ include Aws::Structure
10525
+ end
10526
+
10527
+ # @!attribute [rw] metric_names
10528
+ # The name of the custom metric.
10529
+ # @return [Array<String>]
10530
+ #
10531
+ # @!attribute [rw] next_token
10532
+ # A token that can be used to retrieve the next set of results, or
10533
+ # `null` if there are no additional results.
10534
+ # @return [String]
10535
+ #
10536
+ class ListCustomMetricsResponse < Struct.new(
10537
+ :metric_names,
10538
+ :next_token)
10539
+ SENSITIVE = []
10540
+ include Aws::Structure
10541
+ end
10542
+
10543
+ # @note When making an API call, you may pass ListDetectMitigationActionsExecutionsRequest
10544
+ # data as a hash:
10545
+ #
10546
+ # {
10547
+ # task_id: "MitigationActionsTaskId",
10548
+ # violation_id: "ViolationId",
10549
+ # thing_name: "DeviceDefenderThingName",
10550
+ # start_time: Time.now,
10551
+ # end_time: Time.now,
10552
+ # max_results: 1,
10553
+ # next_token: "NextToken",
10554
+ # }
10555
+ #
10556
+ # @!attribute [rw] task_id
10557
+ # The unique identifier of the task.
10558
+ # @return [String]
10559
+ #
10560
+ # @!attribute [rw] violation_id
10561
+ # The unique identifier of the violation.
10562
+ # @return [String]
10563
+ #
10564
+ # @!attribute [rw] thing_name
10565
+ # The name of the thing whose mitigation actions are listed.
10566
+ # @return [String]
10567
+ #
10568
+ # @!attribute [rw] start_time
10569
+ # A filter to limit results to those found after the specified time.
10570
+ # You must specify either the startTime and endTime or the taskId, but
10571
+ # not both.
10572
+ # @return [Time]
10573
+ #
10574
+ # @!attribute [rw] end_time
10575
+ # The end of the time period for which ML Detect mitigation actions
10576
+ # executions are returned.
10577
+ # @return [Time]
10578
+ #
10579
+ # @!attribute [rw] max_results
10580
+ # The maximum number of results to return at one time. The default is
10581
+ # 25.
10582
+ # @return [Integer]
10583
+ #
10584
+ # @!attribute [rw] next_token
10585
+ # The token for the next set of results.
10586
+ # @return [String]
10587
+ #
10588
+ class ListDetectMitigationActionsExecutionsRequest < Struct.new(
10589
+ :task_id,
10590
+ :violation_id,
10591
+ :thing_name,
10592
+ :start_time,
10593
+ :end_time,
10594
+ :max_results,
10595
+ :next_token)
10596
+ SENSITIVE = []
10597
+ include Aws::Structure
10598
+ end
10599
+
10600
+ # @!attribute [rw] actions_executions
10601
+ # List of actions executions.
10602
+ # @return [Array<Types::DetectMitigationActionExecution>]
10603
+ #
10604
+ # @!attribute [rw] next_token
10605
+ # A token that can be used to retrieve the next set of results, or
10606
+ # `null` if there are no additional results.
10607
+ # @return [String]
10608
+ #
10609
+ class ListDetectMitigationActionsExecutionsResponse < Struct.new(
10610
+ :actions_executions,
10611
+ :next_token)
10612
+ SENSITIVE = []
10613
+ include Aws::Structure
10614
+ end
10615
+
10616
+ # @note When making an API call, you may pass ListDetectMitigationActionsTasksRequest
10617
+ # data as a hash:
10618
+ #
10619
+ # {
10620
+ # max_results: 1,
10621
+ # next_token: "NextToken",
10622
+ # start_time: Time.now, # required
10623
+ # end_time: Time.now, # required
10624
+ # }
10625
+ #
10626
+ # @!attribute [rw] max_results
10627
+ # The maximum number of results to return at one time. The default is
10628
+ # 25.
10629
+ # @return [Integer]
10630
+ #
10631
+ # @!attribute [rw] next_token
10632
+ # The token for the next set of results.
10633
+ # @return [String]
10634
+ #
10635
+ # @!attribute [rw] start_time
10636
+ # A filter to limit results to those found after the specified time.
10637
+ # You must specify either the startTime and endTime or the taskId, but
10638
+ # not both.
10639
+ # @return [Time]
10640
+ #
10641
+ # @!attribute [rw] end_time
10642
+ # The end of the time period for which ML Detect mitigation actions
10643
+ # tasks are returned.
10644
+ # @return [Time]
10645
+ #
10646
+ class ListDetectMitigationActionsTasksRequest < Struct.new(
10647
+ :max_results,
10648
+ :next_token,
10649
+ :start_time,
10650
+ :end_time)
10651
+ SENSITIVE = []
10652
+ include Aws::Structure
10653
+ end
10654
+
10655
+ # @!attribute [rw] tasks
10656
+ # The collection of ML Detect mitigation tasks that matched the filter
10657
+ # criteria.
10658
+ # @return [Array<Types::DetectMitigationActionsTaskSummary>]
9832
10659
  #
9833
- # @!attribute [rw] next_marker
9834
- # The marker for the next set of results, or null if there are no
9835
- # additional results.
10660
+ # @!attribute [rw] next_token
10661
+ # A token that can be used to retrieve the next set of results, or
10662
+ # `null` if there are no additional results.
9836
10663
  # @return [String]
9837
10664
  #
9838
- class ListCertificatesResponse < Struct.new(
9839
- :certificates,
9840
- :next_marker)
10665
+ class ListDetectMitigationActionsTasksResponse < Struct.new(
10666
+ :tasks,
10667
+ :next_token)
9841
10668
  SENSITIVE = []
9842
10669
  include Aws::Structure
9843
10670
  end
@@ -10785,6 +11612,7 @@ module Aws::IoT
10785
11612
  # next_token: "NextToken",
10786
11613
  # max_results: 1,
10787
11614
  # dimension_name: "DimensionName",
11615
+ # metric_name: "MetricName",
10788
11616
  # }
10789
11617
  #
10790
11618
  # @!attribute [rw] next_token
@@ -10797,13 +11625,18 @@ module Aws::IoT
10797
11625
  #
10798
11626
  # @!attribute [rw] dimension_name
10799
11627
  # A filter to limit results to the security profiles that use the
10800
- # defined dimension.
11628
+ # defined dimension. Cannot be used with `metricName`
11629
+ # @return [String]
11630
+ #
11631
+ # @!attribute [rw] metric_name
11632
+ # The name of the custom metric. Cannot be used with `dimensionName`.
10801
11633
  # @return [String]
10802
11634
  #
10803
11635
  class ListSecurityProfilesRequest < Struct.new(
10804
11636
  :next_token,
10805
11637
  :max_results,
10806
- :dimension_name)
11638
+ :dimension_name,
11639
+ :metric_name)
10807
11640
  SENSITIVE = []
10808
11641
  include Aws::Structure
10809
11642
  end
@@ -11631,6 +12464,8 @@ module Aws::IoT
11631
12464
  # end_time: Time.now, # required
11632
12465
  # thing_name: "DeviceDefenderThingName",
11633
12466
  # security_profile_name: "SecurityProfileName",
12467
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
12468
+ # list_suppressed_alerts: false,
11634
12469
  # next_token: "NextToken",
11635
12470
  # max_results: 1,
11636
12471
  # }
@@ -11653,6 +12488,14 @@ module Aws::IoT
11653
12488
  # security profile.
11654
12489
  # @return [String]
11655
12490
  #
12491
+ # @!attribute [rw] behavior_criteria_type
12492
+ # The criteria for a behavior.
12493
+ # @return [String]
12494
+ #
12495
+ # @!attribute [rw] list_suppressed_alerts
12496
+ # A list of all suppressed alerts.
12497
+ # @return [Boolean]
12498
+ #
11656
12499
  # @!attribute [rw] next_token
11657
12500
  # The token for the next set of results.
11658
12501
  # @return [String]
@@ -11666,6 +12509,8 @@ module Aws::IoT
11666
12509
  :end_time,
11667
12510
  :thing_name,
11668
12511
  :security_profile_name,
12512
+ :behavior_criteria_type,
12513
+ :list_suppressed_alerts,
11669
12514
  :next_token,
11670
12515
  :max_results)
11671
12516
  SENSITIVE = []
@@ -11757,6 +12602,26 @@ module Aws::IoT
11757
12602
  include Aws::Structure
11758
12603
  end
11759
12604
 
12605
+ # The configuration of an ML Detect Security Profile.
12606
+ #
12607
+ # @note When making an API call, you may pass MachineLearningDetectionConfig
12608
+ # data as a hash:
12609
+ #
12610
+ # {
12611
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
12612
+ # }
12613
+ #
12614
+ # @!attribute [rw] confidence_level
12615
+ # The sensitivity of anomalous behavior evaluation. Can be `Low`,
12616
+ # `Medium`, or `High`.
12617
+ # @return [String]
12618
+ #
12619
+ class MachineLearningDetectionConfig < Struct.new(
12620
+ :confidence_level)
12621
+ SENSITIVE = []
12622
+ include Aws::Structure
12623
+ end
12624
+
11760
12625
  # The policy documentation is not valid.
11761
12626
  #
11762
12627
  # @!attribute [rw] message
@@ -11818,7 +12683,7 @@ module Aws::IoT
11818
12683
  # @return [String]
11819
12684
  #
11820
12685
  # @!attribute [rw] metric_dimension
11821
- # The dimension of a metric.
12686
+ # The dimension of a metric. This can't be used with custom metrics.
11822
12687
  # @return [Types::MetricDimension]
11823
12688
  #
11824
12689
  class MetricToRetain < Struct.new(
@@ -11837,6 +12702,9 @@ module Aws::IoT
11837
12702
  # count: 1,
11838
12703
  # cidrs: ["Cidr"],
11839
12704
  # ports: [1],
12705
+ # number: 1.0,
12706
+ # numbers: [1.0],
12707
+ # strings: ["stringValue"],
11840
12708
  # }
11841
12709
  #
11842
12710
  # @!attribute [rw] count
@@ -11854,10 +12722,25 @@ module Aws::IoT
11854
12722
  # specify that set to be compared with the `metric`.
11855
12723
  # @return [Array<Integer>]
11856
12724
  #
12725
+ # @!attribute [rw] number
12726
+ # The numeral value of a metric.
12727
+ # @return [Float]
12728
+ #
12729
+ # @!attribute [rw] numbers
12730
+ # The numeral values of a metric.
12731
+ # @return [Array<Float>]
12732
+ #
12733
+ # @!attribute [rw] strings
12734
+ # The string values of a metric.
12735
+ # @return [Array<String>]
12736
+ #
11857
12737
  class MetricValue < Struct.new(
11858
12738
  :count,
11859
12739
  :cidrs,
11860
- :ports)
12740
+ :ports,
12741
+ :number,
12742
+ :numbers,
12743
+ :strings)
11861
12744
  SENSITIVE = []
11862
12745
  include Aws::Structure
11863
12746
  end
@@ -11972,8 +12855,8 @@ module Aws::IoT
11972
12855
  #
11973
12856
  # @!attribute [rw] publish_finding_to_sns_params
11974
12857
  # Parameters to define a mitigation action that publishes findings to
11975
- # Amazon SNS. You can implement your own custom actions in response to
11976
- # the Amazon SNS messages.
12858
+ # Amazon Simple Notification Service (Amazon SNS. You can implement
12859
+ # your own custom actions in response to the Amazon SNS messages.
11977
12860
  # @return [Types::PublishFindingToSnsParams]
11978
12861
  #
11979
12862
  class MitigationActionParams < Struct.new(
@@ -12060,6 +12943,7 @@ module Aws::IoT
12060
12943
  #
12061
12944
  # {
12062
12945
  # file_name: "FileName",
12946
+ # file_type: 1,
12063
12947
  # file_version: "OTAUpdateFileVersion",
12064
12948
  # file_location: {
12065
12949
  # stream: {
@@ -12109,6 +12993,11 @@ module Aws::IoT
12109
12993
  # The name of the file.
12110
12994
  # @return [String]
12111
12995
  #
12996
+ # @!attribute [rw] file_type
12997
+ # An integer value you can include in the job document to allow your
12998
+ # devices to identify the type of file received from the cloud.
12999
+ # @return [Integer]
13000
+ #
12112
13001
  # @!attribute [rw] file_version
12113
13002
  # The file version.
12114
13003
  # @return [String]
@@ -12127,6 +13016,7 @@ module Aws::IoT
12127
13016
  #
12128
13017
  class OTAUpdateFile < Struct.new(
12129
13018
  :file_name,
13019
+ :file_type,
12130
13020
  :file_version,
12131
13021
  :file_location,
12132
13022
  :code_signing,
@@ -13100,6 +13990,7 @@ module Aws::IoT
13100
13990
  # role_arn: "AwsArn", # required
13101
13991
  # delivery_stream_name: "DeliveryStreamName", # required
13102
13992
  # separator: "FirehoseSeparator",
13993
+ # batch_mode: false,
13103
13994
  # },
13104
13995
  # cloudwatch_metric: {
13105
13996
  # role_arn: "AwsArn", # required
@@ -13133,11 +14024,13 @@ module Aws::IoT
13133
14024
  # iot_analytics: {
13134
14025
  # channel_arn: "AwsArn",
13135
14026
  # channel_name: "ChannelName",
14027
+ # batch_mode: false,
13136
14028
  # role_arn: "AwsArn",
13137
14029
  # },
13138
14030
  # iot_events: {
13139
14031
  # input_name: "InputName", # required
13140
14032
  # message_id: "MessageId",
14033
+ # batch_mode: false,
13141
14034
  # role_arn: "AwsArn", # required
13142
14035
  # },
13143
14036
  # iot_site_wise: {
@@ -13203,6 +14096,15 @@ module Aws::IoT
13203
14096
  # },
13204
14097
  # },
13205
14098
  # },
14099
+ # kafka: {
14100
+ # destination_arn: "AwsArn", # required
14101
+ # topic: "String", # required
14102
+ # key: "String",
14103
+ # partition: "String",
14104
+ # client_properties: { # required
14105
+ # "String" => "String",
14106
+ # },
14107
+ # },
13206
14108
  # },
13207
14109
  # ],
13208
14110
  # rule_disabled: false,
@@ -13259,6 +14161,7 @@ module Aws::IoT
13259
14161
  # role_arn: "AwsArn", # required
13260
14162
  # delivery_stream_name: "DeliveryStreamName", # required
13261
14163
  # separator: "FirehoseSeparator",
14164
+ # batch_mode: false,
13262
14165
  # },
13263
14166
  # cloudwatch_metric: {
13264
14167
  # role_arn: "AwsArn", # required
@@ -13292,11 +14195,13 @@ module Aws::IoT
13292
14195
  # iot_analytics: {
13293
14196
  # channel_arn: "AwsArn",
13294
14197
  # channel_name: "ChannelName",
14198
+ # batch_mode: false,
13295
14199
  # role_arn: "AwsArn",
13296
14200
  # },
13297
14201
  # iot_events: {
13298
14202
  # input_name: "InputName", # required
13299
14203
  # message_id: "MessageId",
14204
+ # batch_mode: false,
13300
14205
  # role_arn: "AwsArn", # required
13301
14206
  # },
13302
14207
  # iot_site_wise: {
@@ -13362,6 +14267,15 @@ module Aws::IoT
13362
14267
  # },
13363
14268
  # },
13364
14269
  # },
14270
+ # kafka: {
14271
+ # destination_arn: "AwsArn", # required
14272
+ # topic: "String", # required
14273
+ # key: "String",
14274
+ # partition: "String",
14275
+ # client_properties: { # required
14276
+ # "String" => "String",
14277
+ # },
14278
+ # },
13365
14279
  # },
13366
14280
  # },
13367
14281
  # }
@@ -13586,7 +14500,12 @@ module Aws::IoT
13586
14500
  # @return [String]
13587
14501
  #
13588
14502
  # @!attribute [rw] key
13589
- # The object key.
14503
+ # The object key. For more information, see [Actions, resources, and
14504
+ # condition keys for Amazon S3][1].
14505
+ #
14506
+ #
14507
+ #
14508
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
13590
14509
  # @return [String]
13591
14510
  #
13592
14511
  # @!attribute [rw] canned_acl
@@ -13796,7 +14715,7 @@ module Aws::IoT
13796
14715
  # Identifying information for a Device Defender security profile.
13797
14716
  #
13798
14717
  # @!attribute [rw] name
13799
- # The name you have given to the security profile.
14718
+ # The name you've given to the security profile.
13800
14719
  # @return [String]
13801
14720
  #
13802
14721
  # @!attribute [rw] arn
@@ -14010,7 +14929,11 @@ module Aws::IoT
14010
14929
  include Aws::Structure
14011
14930
  end
14012
14931
 
14013
- # Use Sig V4 authorization.
14932
+ # For more information, see [Signature Version 4 signing process][1].
14933
+ #
14934
+ #
14935
+ #
14936
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
14014
14937
  #
14015
14938
  # @note When making an API call, you may pass SigV4Authorization
14016
14939
  # data as a hash:
@@ -14160,7 +15083,7 @@ module Aws::IoT
14160
15083
  # data as a hash:
14161
15084
  #
14162
15085
  # {
14163
- # task_id: "AuditMitigationActionsTaskId", # required
15086
+ # task_id: "MitigationActionsTaskId", # required
14164
15087
  # target: { # required
14165
15088
  # audit_task_id: "AuditTaskId",
14166
15089
  # finding_ids: ["FindingId"],
@@ -14182,7 +15105,7 @@ module Aws::IoT
14182
15105
  # @!attribute [rw] target
14183
15106
  # Specifies the audit findings to which the mitigation actions are
14184
15107
  # applied. You can apply them to a type of audit check, to all
14185
- # findings from an audit, or to a speecific set of findings.
15108
+ # findings from an audit, or to a specific set of findings.
14186
15109
  # @return [Types::AuditMitigationActionsTaskTarget]
14187
15110
  #
14188
15111
  # @!attribute [rw] audit_check_to_actions_mapping
@@ -14220,6 +15143,84 @@ module Aws::IoT
14220
15143
  include Aws::Structure
14221
15144
  end
14222
15145
 
15146
+ # @note When making an API call, you may pass StartDetectMitigationActionsTaskRequest
15147
+ # data as a hash:
15148
+ #
15149
+ # {
15150
+ # task_id: "MitigationActionsTaskId", # required
15151
+ # target: { # required
15152
+ # violation_ids: ["ViolationId"],
15153
+ # security_profile_name: "SecurityProfileName",
15154
+ # behavior_name: "BehaviorName",
15155
+ # },
15156
+ # actions: ["MitigationActionName"], # required
15157
+ # violation_event_occurrence_range: {
15158
+ # start_time: Time.now, # required
15159
+ # end_time: Time.now, # required
15160
+ # },
15161
+ # include_only_active_violations: false,
15162
+ # include_suppressed_alerts: false,
15163
+ # client_request_token: "ClientRequestToken", # required
15164
+ # }
15165
+ #
15166
+ # @!attribute [rw] task_id
15167
+ # The unique identifier of the task.
15168
+ # @return [String]
15169
+ #
15170
+ # @!attribute [rw] target
15171
+ # Specifies the ML Detect findings to which the mitigation actions are
15172
+ # applied.
15173
+ # @return [Types::DetectMitigationActionsTaskTarget]
15174
+ #
15175
+ # @!attribute [rw] actions
15176
+ # The actions to be performed when a device has unexpected behavior.
15177
+ # @return [Array<String>]
15178
+ #
15179
+ # @!attribute [rw] violation_event_occurrence_range
15180
+ # Specifies the time period of which violation events occurred
15181
+ # between.
15182
+ # @return [Types::ViolationEventOccurrenceRange]
15183
+ #
15184
+ # @!attribute [rw] include_only_active_violations
15185
+ # Specifies to list only active violations.
15186
+ # @return [Boolean]
15187
+ #
15188
+ # @!attribute [rw] include_suppressed_alerts
15189
+ # Specifies to include suppressed alerts.
15190
+ # @return [Boolean]
15191
+ #
15192
+ # @!attribute [rw] client_request_token
15193
+ # Each mitigation action task must have a unique client request token.
15194
+ # If you try to create a new task with the same token as a task that
15195
+ # already exists, an exception occurs. If you omit this value, AWS
15196
+ # SDKs will automatically generate a unique client request.
15197
+ #
15198
+ # **A suitable default value is auto-generated.** You should normally
15199
+ # not need to pass this option.
15200
+ # @return [String]
15201
+ #
15202
+ class StartDetectMitigationActionsTaskRequest < Struct.new(
15203
+ :task_id,
15204
+ :target,
15205
+ :actions,
15206
+ :violation_event_occurrence_range,
15207
+ :include_only_active_violations,
15208
+ :include_suppressed_alerts,
15209
+ :client_request_token)
15210
+ SENSITIVE = []
15211
+ include Aws::Structure
15212
+ end
15213
+
15214
+ # @!attribute [rw] task_id
15215
+ # The unique identifier of the task.
15216
+ # @return [String]
15217
+ #
15218
+ class StartDetectMitigationActionsTaskResponse < Struct.new(
15219
+ :task_id)
15220
+ SENSITIVE = []
15221
+ include Aws::Structure
15222
+ end
15223
+
14223
15224
  # @note When making an API call, you may pass StartOnDemandAuditTaskRequest
14224
15225
  # data as a hash:
14225
15226
  #
@@ -14339,9 +15340,9 @@ module Aws::IoT
14339
15340
  include Aws::Structure
14340
15341
  end
14341
15342
 
14342
- # A statistical ranking (percentile) which indicates a threshold value
14343
- # by which a behavior is determined to be in compliance or in violation
14344
- # of the behavior.
15343
+ # A statistical ranking (percentile) that indicates a threshold value by
15344
+ # which a behavior is determined to be in compliance or in violation of
15345
+ # the behavior.
14345
15346
  #
14346
15347
  # @note When making an API call, you may pass StatisticalThreshold
14347
15348
  # data as a hash:
@@ -14351,7 +15352,7 @@ module Aws::IoT
14351
15352
  # }
14352
15353
  #
14353
15354
  # @!attribute [rw] statistic
14354
- # The percentile which resolves to a threshold value by which
15355
+ # The percentile that resolves to a threshold value by which
14355
15356
  # compliance with a behavior is determined. Metrics are collected over
14356
15357
  # the specified period (`durationSeconds`) from all reporting devices
14357
15358
  # in your account and statistical ranks are calculated. Then, the
@@ -15560,6 +16561,14 @@ module Aws::IoT
15560
16561
  # to be sent to your confirmation endpoint.
15561
16562
  # @return [String]
15562
16563
  #
16564
+ # @!attribute [rw] created_at
16565
+ # The date and time when the topic rule destination was created.
16566
+ # @return [Time]
16567
+ #
16568
+ # @!attribute [rw] last_updated_at
16569
+ # The date and time when the topic rule destination was last updated.
16570
+ # @return [Time]
16571
+ #
15563
16572
  # @!attribute [rw] status_reason
15564
16573
  # Additional details or reason why the topic rule destination is in
15565
16574
  # the current status.
@@ -15569,11 +16578,18 @@ module Aws::IoT
15569
16578
  # Properties of the HTTP URL.
15570
16579
  # @return [Types::HttpUrlDestinationProperties]
15571
16580
  #
16581
+ # @!attribute [rw] vpc_properties
16582
+ # Properties of the virtual private cloud (VPC) connection.
16583
+ # @return [Types::VpcDestinationProperties]
16584
+ #
15572
16585
  class TopicRuleDestination < Struct.new(
15573
16586
  :arn,
15574
16587
  :status,
16588
+ :created_at,
16589
+ :last_updated_at,
15575
16590
  :status_reason,
15576
- :http_url_properties)
16591
+ :http_url_properties,
16592
+ :vpc_properties)
15577
16593
  SENSITIVE = []
15578
16594
  include Aws::Structure
15579
16595
  end
@@ -15587,14 +16603,25 @@ module Aws::IoT
15587
16603
  # http_url_configuration: {
15588
16604
  # confirmation_url: "Url", # required
15589
16605
  # },
16606
+ # vpc_configuration: {
16607
+ # subnet_ids: ["SubnetId"], # required
16608
+ # security_groups: ["SecurityGroupId"],
16609
+ # vpc_id: "VpcId", # required
16610
+ # role_arn: "AwsArn", # required
16611
+ # },
15590
16612
  # }
15591
16613
  #
15592
16614
  # @!attribute [rw] http_url_configuration
15593
16615
  # Configuration of the HTTP URL.
15594
16616
  # @return [Types::HttpUrlDestinationConfiguration]
15595
16617
  #
16618
+ # @!attribute [rw] vpc_configuration
16619
+ # Configuration of the virtual private cloud (VPC) connection.
16620
+ # @return [Types::VpcDestinationConfiguration]
16621
+ #
15596
16622
  class TopicRuleDestinationConfiguration < Struct.new(
15597
- :http_url_configuration)
16623
+ :http_url_configuration,
16624
+ :vpc_configuration)
15598
16625
  SENSITIVE = []
15599
16626
  include Aws::Structure
15600
16627
  end
@@ -15638,6 +16665,14 @@ module Aws::IoT
15638
16665
  # to be sent to your confirmation endpoint.
15639
16666
  # @return [String]
15640
16667
  #
16668
+ # @!attribute [rw] created_at
16669
+ # The date and time when the topic rule destination was created.
16670
+ # @return [Time]
16671
+ #
16672
+ # @!attribute [rw] last_updated_at
16673
+ # The date and time when the topic rule destination was last updated.
16674
+ # @return [Time]
16675
+ #
15641
16676
  # @!attribute [rw] status_reason
15642
16677
  # The reason the topic rule destination is in the current status.
15643
16678
  # @return [String]
@@ -15646,11 +16681,18 @@ module Aws::IoT
15646
16681
  # Information about the HTTP URL.
15647
16682
  # @return [Types::HttpUrlDestinationSummary]
15648
16683
  #
16684
+ # @!attribute [rw] vpc_destination_summary
16685
+ # Information about the virtual private cloud (VPC) connection.
16686
+ # @return [Types::VpcDestinationSummary]
16687
+ #
15649
16688
  class TopicRuleDestinationSummary < Struct.new(
15650
16689
  :arn,
15651
16690
  :status,
16691
+ :created_at,
16692
+ :last_updated_at,
15652
16693
  :status_reason,
15653
- :http_url_summary)
16694
+ :http_url_summary,
16695
+ :vpc_destination_summary)
15654
16696
  SENSITIVE = []
15655
16697
  include Aws::Structure
15656
16698
  end
@@ -15748,6 +16790,7 @@ module Aws::IoT
15748
16790
  # role_arn: "AwsArn", # required
15749
16791
  # delivery_stream_name: "DeliveryStreamName", # required
15750
16792
  # separator: "FirehoseSeparator",
16793
+ # batch_mode: false,
15751
16794
  # },
15752
16795
  # cloudwatch_metric: {
15753
16796
  # role_arn: "AwsArn", # required
@@ -15781,11 +16824,13 @@ module Aws::IoT
15781
16824
  # iot_analytics: {
15782
16825
  # channel_arn: "AwsArn",
15783
16826
  # channel_name: "ChannelName",
16827
+ # batch_mode: false,
15784
16828
  # role_arn: "AwsArn",
15785
16829
  # },
15786
16830
  # iot_events: {
15787
16831
  # input_name: "InputName", # required
15788
16832
  # message_id: "MessageId",
16833
+ # batch_mode: false,
15789
16834
  # role_arn: "AwsArn", # required
15790
16835
  # },
15791
16836
  # iot_site_wise: {
@@ -15851,6 +16896,15 @@ module Aws::IoT
15851
16896
  # },
15852
16897
  # },
15853
16898
  # },
16899
+ # kafka: {
16900
+ # destination_arn: "AwsArn", # required
16901
+ # topic: "String", # required
16902
+ # key: "String",
16903
+ # partition: "String",
16904
+ # client_properties: { # required
16905
+ # "String" => "String",
16906
+ # },
16907
+ # },
15854
16908
  # },
15855
16909
  # ],
15856
16910
  # rule_disabled: false,
@@ -15907,6 +16961,7 @@ module Aws::IoT
15907
16961
  # role_arn: "AwsArn", # required
15908
16962
  # delivery_stream_name: "DeliveryStreamName", # required
15909
16963
  # separator: "FirehoseSeparator",
16964
+ # batch_mode: false,
15910
16965
  # },
15911
16966
  # cloudwatch_metric: {
15912
16967
  # role_arn: "AwsArn", # required
@@ -15940,11 +16995,13 @@ module Aws::IoT
15940
16995
  # iot_analytics: {
15941
16996
  # channel_arn: "AwsArn",
15942
16997
  # channel_name: "ChannelName",
16998
+ # batch_mode: false,
15943
16999
  # role_arn: "AwsArn",
15944
17000
  # },
15945
17001
  # iot_events: {
15946
17002
  # input_name: "InputName", # required
15947
17003
  # message_id: "MessageId",
17004
+ # batch_mode: false,
15948
17005
  # role_arn: "AwsArn", # required
15949
17006
  # },
15950
17007
  # iot_site_wise: {
@@ -16010,6 +17067,15 @@ module Aws::IoT
16010
17067
  # },
16011
17068
  # },
16012
17069
  # },
17070
+ # kafka: {
17071
+ # destination_arn: "AwsArn", # required
17072
+ # topic: "String", # required
17073
+ # key: "String",
17074
+ # partition: "String",
17075
+ # client_properties: { # required
17076
+ # "String" => "String",
17077
+ # },
17078
+ # },
16013
17079
  # },
16014
17080
  # }
16015
17081
  #
@@ -16212,9 +17278,9 @@ module Aws::IoT
16212
17278
  # }
16213
17279
  #
16214
17280
  # @!attribute [rw] role_arn
16215
- # The ARN of the role that grants permission to AWS IoT to access
16216
- # information about your devices, policies, certificates and other
16217
- # items as required when performing an audit.
17281
+ # The Amazon Resource Name (ARN) of the role that grants permission to
17282
+ # AWS IoT to access information about your devices, policies,
17283
+ # certificates, and other items as required when performing an audit.
16218
17284
  # @return [String]
16219
17285
  #
16220
17286
  # @!attribute [rw] audit_notification_target_configurations
@@ -16230,7 +17296,7 @@ module Aws::IoT
16230
17296
  # enabled. When a check is disabled, any data collected so far in
16231
17297
  # relation to the check is deleted.
16232
17298
  #
16233
- # You cannot disable a check if it is used by any scheduled audit. You
17299
+ # You cannot disable a check if it's used by any scheduled audit. You
16234
17300
  # must first delete the check from the scheduled audit or delete the
16235
17301
  # scheduled audit itself.
16236
17302
  #
@@ -16421,7 +17487,7 @@ module Aws::IoT
16421
17487
  # }
16422
17488
  #
16423
17489
  # @!attribute [rw] action
16424
- # The action that you want to apply to the CA cerrtificate. The only
17490
+ # The action that you want to apply to the CA certificate. The only
16425
17491
  # supported value is `DEACTIVATE`.
16426
17492
  # @return [String]
16427
17493
  #
@@ -16515,6 +17581,68 @@ module Aws::IoT
16515
17581
  include Aws::Structure
16516
17582
  end
16517
17583
 
17584
+ # @note When making an API call, you may pass UpdateCustomMetricRequest
17585
+ # data as a hash:
17586
+ #
17587
+ # {
17588
+ # metric_name: "MetricName", # required
17589
+ # display_name: "CustomMetricDisplayName", # required
17590
+ # }
17591
+ #
17592
+ # @!attribute [rw] metric_name
17593
+ # The name of the custom metric. Cannot be updated.
17594
+ # @return [String]
17595
+ #
17596
+ # @!attribute [rw] display_name
17597
+ # Field represents a friendly name in the console for the custom
17598
+ # metric, it doesn't have to be unique. Don't use this name as the
17599
+ # metric identifier in the device metric report. Can be updated.
17600
+ # @return [String]
17601
+ #
17602
+ class UpdateCustomMetricRequest < Struct.new(
17603
+ :metric_name,
17604
+ :display_name)
17605
+ SENSITIVE = []
17606
+ include Aws::Structure
17607
+ end
17608
+
17609
+ # @!attribute [rw] metric_name
17610
+ # The name of the custom metric.
17611
+ # @return [String]
17612
+ #
17613
+ # @!attribute [rw] metric_arn
17614
+ # The Amazon Resource Number (ARN) of the custom metric.
17615
+ # @return [String]
17616
+ #
17617
+ # @!attribute [rw] metric_type
17618
+ # The type of the custom metric. Types include `string-list`,
17619
+ # `ip-address-list`, `number-list`, and `number`.
17620
+ # @return [String]
17621
+ #
17622
+ # @!attribute [rw] display_name
17623
+ # A friendly name in the console for the custom metric
17624
+ # @return [String]
17625
+ #
17626
+ # @!attribute [rw] creation_date
17627
+ # The creation date of the custom metric in milliseconds since epoch.
17628
+ # @return [Time]
17629
+ #
17630
+ # @!attribute [rw] last_modified_date
17631
+ # The time the custom metric was last modified in milliseconds since
17632
+ # epoch.
17633
+ # @return [Time]
17634
+ #
17635
+ class UpdateCustomMetricResponse < Struct.new(
17636
+ :metric_name,
17637
+ :metric_arn,
17638
+ :metric_type,
17639
+ :display_name,
17640
+ :creation_date,
17641
+ :last_modified_date)
17642
+ SENSITIVE = []
17643
+ include Aws::Structure
17644
+ end
17645
+
16518
17646
  # Parameters to define a mitigation action that changes the state of the
16519
17647
  # device certificate to inactive.
16520
17648
  #
@@ -16526,7 +17654,7 @@ module Aws::IoT
16526
17654
  # }
16527
17655
  #
16528
17656
  # @!attribute [rw] action
16529
- # The action that you want to apply to the device cerrtificate. The
17657
+ # The action that you want to apply to the device certificate. The
16530
17658
  # only supported value is `DEACTIVATE`.
16531
17659
  # @return [String]
16532
17660
  #
@@ -16568,7 +17696,7 @@ module Aws::IoT
16568
17696
  # @return [String]
16569
17697
  #
16570
17698
  # @!attribute [rw] arn
16571
- # The ARN (Amazon resource name) of the created dimension.
17699
+ # The Amazon Resource Name (ARN)of the created dimension.
16572
17700
  # @return [String]
16573
17701
  #
16574
17702
  # @!attribute [rw] type
@@ -16928,9 +18056,9 @@ module Aws::IoT
16928
18056
  # }
16929
18057
  #
16930
18058
  # @!attribute [rw] action_name
16931
- # The friendly name for the mitigation action. You can't change the
18059
+ # The friendly name for the mitigation action. You cannot change the
16932
18060
  # name by using `UpdateMitigationAction`. Instead, you must delete and
16933
- # re-create the mitigation action with the new name.
18061
+ # recreate the mitigation action with the new name.
16934
18062
  # @return [String]
16935
18063
  #
16936
18064
  # @!attribute [rw] role_arn
@@ -17079,24 +18207,24 @@ module Aws::IoT
17079
18207
  # }
17080
18208
  #
17081
18209
  # @!attribute [rw] frequency
17082
- # How often the scheduled audit takes place. Can be one of "DAILY",
17083
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each
17084
- # audit is determined by the system.
18210
+ # How often the scheduled audit takes place, either `DAILY`, `WEEKLY`,
18211
+ # `BIWEEKLY`, or `MONTHLY`. The start time of each audit is determined
18212
+ # by the system.
17085
18213
  # @return [String]
17086
18214
  #
17087
18215
  # @!attribute [rw] day_of_month
17088
- # The day of the month on which the scheduled audit takes place. Can
17089
- # be "1" through "31" or "LAST". This field is required if the
17090
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
18216
+ # The day of the month on which the scheduled audit takes place. This
18217
+ # can be `1` through `31` or `LAST`. This field is required if the
18218
+ # `frequency` parameter is set to `MONTHLY`. If days 29-31 are
17091
18219
  # specified, and the month does not have that many days, the audit
17092
18220
  # takes place on the "LAST" day of the month.
17093
18221
  # @return [String]
17094
18222
  #
17095
18223
  # @!attribute [rw] day_of_week
17096
- # The day of the week on which the scheduled audit takes place. Can be
17097
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
17098
- # "SAT". This field is required if the "frequency" parameter is
17099
- # set to "WEEKLY" or "BIWEEKLY".
18224
+ # The day of the week on which the scheduled audit takes place. This
18225
+ # can be one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`.
18226
+ # This field is required if the "frequency" parameter is set to
18227
+ # `WEEKLY` or `BIWEEKLY`.
17100
18228
  # @return [String]
17101
18229
  #
17102
18230
  # @!attribute [rw] target_check_names
@@ -17147,11 +18275,14 @@ module Aws::IoT
17147
18275
  # operator: "IN", # accepts IN, NOT_IN
17148
18276
  # },
17149
18277
  # criteria: {
17150
- # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
18278
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set, in-set, not-in-set
17151
18279
  # value: {
17152
18280
  # count: 1,
17153
18281
  # cidrs: ["Cidr"],
17154
18282
  # ports: [1],
18283
+ # number: 1.0,
18284
+ # numbers: [1.0],
18285
+ # strings: ["stringValue"],
17155
18286
  # },
17156
18287
  # duration_seconds: 1,
17157
18288
  # consecutive_datapoints_to_alarm: 1,
@@ -17159,7 +18290,11 @@ module Aws::IoT
17159
18290
  # statistical_threshold: {
17160
18291
  # statistic: "EvaluationStatistic",
17161
18292
  # },
18293
+ # ml_detection_config: {
18294
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18295
+ # },
17162
18296
  # },
18297
+ # suppress_alerts: false,
17163
18298
  # },
17164
18299
  # ],
17165
18300
  # alert_targets: {
@@ -17207,13 +18342,15 @@ module Aws::IoT
17207
18342
  #
17208
18343
  # A list of metrics whose data is retained (stored). By default, data
17209
18344
  # is retained for any metric used in the profile's `behaviors`, but
17210
- # it is also retained for any metric specified here.
18345
+ # it is also retained for any metric specified here. Can be used with
18346
+ # custom metrics; cannot be used with dimensions.
17211
18347
  # @return [Array<String>]
17212
18348
  #
17213
18349
  # @!attribute [rw] additional_metrics_to_retain_v2
17214
18350
  # A list of metrics whose data is retained (stored). By default, data
17215
18351
  # is retained for any metric used in the profile's behaviors, but it
17216
- # is also retained for any metric specified here.
18352
+ # is also retained for any metric specified here. Can be used with
18353
+ # custom metrics; cannot be used with dimensions.
17217
18354
  # @return [Array<Types::MetricToRetain>]
17218
18355
  #
17219
18356
  # @!attribute [rw] delete_behaviors
@@ -17289,7 +18426,8 @@ module Aws::IoT
17289
18426
  # @!attribute [rw] additional_metrics_to_retain_v2
17290
18427
  # A list of metrics whose data is retained (stored). By default, data
17291
18428
  # is retained for any metric used in the profile's behaviors, but it
17292
- # is also retained for any metric specified here.
18429
+ # is also retained for any metric specified here. Can be used with
18430
+ # custom metrics; cannot be used with dimensions.
17293
18431
  # @return [Array<Types::MetricToRetain>]
17294
18432
  #
17295
18433
  # @!attribute [rw] version
@@ -17548,7 +18686,7 @@ module Aws::IoT
17548
18686
  #
17549
18687
  # {
17550
18688
  # arn: "AwsArn", # required
17551
- # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR
18689
+ # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR, DELETING
17552
18690
  # }
17553
18691
  #
17554
18692
  # @!attribute [rw] arn
@@ -17610,11 +18748,14 @@ module Aws::IoT
17610
18748
  # operator: "IN", # accepts IN, NOT_IN
17611
18749
  # },
17612
18750
  # criteria: {
17613
- # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set
18751
+ # comparison_operator: "less-than", # accepts less-than, less-than-equals, greater-than, greater-than-equals, in-cidr-set, not-in-cidr-set, in-port-set, not-in-port-set, in-set, not-in-set
17614
18752
  # value: {
17615
18753
  # count: 1,
17616
18754
  # cidrs: ["Cidr"],
17617
18755
  # ports: [1],
18756
+ # number: 1.0,
18757
+ # numbers: [1.0],
18758
+ # strings: ["stringValue"],
17618
18759
  # },
17619
18760
  # duration_seconds: 1,
17620
18761
  # consecutive_datapoints_to_alarm: 1,
@@ -17622,7 +18763,11 @@ module Aws::IoT
17622
18763
  # statistical_threshold: {
17623
18764
  # statistic: "EvaluationStatistic",
17624
18765
  # },
18766
+ # ml_detection_config: {
18767
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
18768
+ # },
17625
18769
  # },
18770
+ # suppress_alerts: false,
17626
18771
  # },
17627
18772
  # ],
17628
18773
  # }
@@ -17707,13 +18852,17 @@ module Aws::IoT
17707
18852
  # @return [String]
17708
18853
  #
17709
18854
  # @!attribute [rw] behavior
17710
- # The behavior which was violated.
18855
+ # The behavior that was violated.
17711
18856
  # @return [Types::Behavior]
17712
18857
  #
17713
18858
  # @!attribute [rw] metric_value
17714
18859
  # The value of the metric (the measurement).
17715
18860
  # @return [Types::MetricValue]
17716
18861
  #
18862
+ # @!attribute [rw] violation_event_additional_info
18863
+ # The details of a violation event.
18864
+ # @return [Types::ViolationEventAdditionalInfo]
18865
+ #
17717
18866
  # @!attribute [rw] violation_event_type
17718
18867
  # The type of violation event.
17719
18868
  # @return [String]
@@ -17728,11 +18877,147 @@ module Aws::IoT
17728
18877
  :security_profile_name,
17729
18878
  :behavior,
17730
18879
  :metric_value,
18880
+ :violation_event_additional_info,
17731
18881
  :violation_event_type,
17732
18882
  :violation_event_time)
17733
18883
  SENSITIVE = []
17734
18884
  include Aws::Structure
17735
18885
  end
17736
18886
 
18887
+ # The details of a violation event.
18888
+ #
18889
+ # @!attribute [rw] confidence_level
18890
+ # The sensitivity of anomalous behavior evaluation. Can be `Low`,
18891
+ # `Medium`, or `High`.
18892
+ # @return [String]
18893
+ #
18894
+ class ViolationEventAdditionalInfo < Struct.new(
18895
+ :confidence_level)
18896
+ SENSITIVE = []
18897
+ include Aws::Structure
18898
+ end
18899
+
18900
+ # Specifies the time period of which violation events occurred between.
18901
+ #
18902
+ # @note When making an API call, you may pass ViolationEventOccurrenceRange
18903
+ # data as a hash:
18904
+ #
18905
+ # {
18906
+ # start_time: Time.now, # required
18907
+ # end_time: Time.now, # required
18908
+ # }
18909
+ #
18910
+ # @!attribute [rw] start_time
18911
+ # The start date and time of a time period in which violation events
18912
+ # occurred.
18913
+ # @return [Time]
18914
+ #
18915
+ # @!attribute [rw] end_time
18916
+ # The end date and time of a time period in which violation events
18917
+ # occurred.
18918
+ # @return [Time]
18919
+ #
18920
+ class ViolationEventOccurrenceRange < Struct.new(
18921
+ :start_time,
18922
+ :end_time)
18923
+ SENSITIVE = []
18924
+ include Aws::Structure
18925
+ end
18926
+
18927
+ # The configuration information for a virtual private cloud (VPC)
18928
+ # destination.
18929
+ #
18930
+ # @note When making an API call, you may pass VpcDestinationConfiguration
18931
+ # data as a hash:
18932
+ #
18933
+ # {
18934
+ # subnet_ids: ["SubnetId"], # required
18935
+ # security_groups: ["SecurityGroupId"],
18936
+ # vpc_id: "VpcId", # required
18937
+ # role_arn: "AwsArn", # required
18938
+ # }
18939
+ #
18940
+ # @!attribute [rw] subnet_ids
18941
+ # The subnet IDs of the VPC destination.
18942
+ # @return [Array<String>]
18943
+ #
18944
+ # @!attribute [rw] security_groups
18945
+ # The security groups of the VPC destination.
18946
+ # @return [Array<String>]
18947
+ #
18948
+ # @!attribute [rw] vpc_id
18949
+ # The ID of the VPC.
18950
+ # @return [String]
18951
+ #
18952
+ # @!attribute [rw] role_arn
18953
+ # The ARN of a role that has permission to create and attach to
18954
+ # elastic network interfaces (ENIs).
18955
+ # @return [String]
18956
+ #
18957
+ class VpcDestinationConfiguration < Struct.new(
18958
+ :subnet_ids,
18959
+ :security_groups,
18960
+ :vpc_id,
18961
+ :role_arn)
18962
+ SENSITIVE = []
18963
+ include Aws::Structure
18964
+ end
18965
+
18966
+ # The properties of a virtual private cloud (VPC) destination.
18967
+ #
18968
+ # @!attribute [rw] subnet_ids
18969
+ # The subnet IDs of the VPC destination.
18970
+ # @return [Array<String>]
18971
+ #
18972
+ # @!attribute [rw] security_groups
18973
+ # The security groups of the VPC destination.
18974
+ # @return [Array<String>]
18975
+ #
18976
+ # @!attribute [rw] vpc_id
18977
+ # The ID of the VPC.
18978
+ # @return [String]
18979
+ #
18980
+ # @!attribute [rw] role_arn
18981
+ # The ARN of a role that has permission to create and attach to
18982
+ # elastic network interfaces (ENIs).
18983
+ # @return [String]
18984
+ #
18985
+ class VpcDestinationProperties < Struct.new(
18986
+ :subnet_ids,
18987
+ :security_groups,
18988
+ :vpc_id,
18989
+ :role_arn)
18990
+ SENSITIVE = []
18991
+ include Aws::Structure
18992
+ end
18993
+
18994
+ # The summary of a virtual private cloud (VPC) destination.
18995
+ #
18996
+ # @!attribute [rw] subnet_ids
18997
+ # The subnet IDs of the VPC destination.
18998
+ # @return [Array<String>]
18999
+ #
19000
+ # @!attribute [rw] security_groups
19001
+ # The security groups of the VPC destination.
19002
+ # @return [Array<String>]
19003
+ #
19004
+ # @!attribute [rw] vpc_id
19005
+ # The ID of the VPC.
19006
+ # @return [String]
19007
+ #
19008
+ # @!attribute [rw] role_arn
19009
+ # The ARN of a role that has permission to create and attach to
19010
+ # elastic network interfaces (ENIs).
19011
+ # @return [String]
19012
+ #
19013
+ class VpcDestinationSummary < Struct.new(
19014
+ :subnet_ids,
19015
+ :security_groups,
19016
+ :vpc_id,
19017
+ :role_arn)
19018
+ SENSITIVE = []
19019
+ include Aws::Structure
19020
+ end
19021
+
17737
19022
  end
17738
19023
  end