aws-sdk-iot 1.60.0 → 1.65.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 776f23406e1409292b2e9acd105288a7c9d9d4e7b47e7e347509b499302b8ec6
4
- data.tar.gz: 570efe63fb2356ea0fe385a439ca216628da15cab9c3d1507f46b6af723df4aa
3
+ metadata.gz: ad0fbbfe81dbcc3bd3626d994aa704e60ab1ef75ee751861686d8dbc2e12fb4d
4
+ data.tar.gz: 491e1edb0577a870a92315f8524366a34ebe4b110740d8c3859b92e177c711a2
5
5
  SHA512:
6
- metadata.gz: 405418302ae30a6607dc926fb1b9739ccddc708e9aacf56ad249fb538d9df73aaee1d2305e022f6e3a313d357c51a61422091649c35838f6c2957f2134ddff54
7
- data.tar.gz: b00c6a971f42168b716caa9147c159d2d6e7496347678461e87799f9317fb004e1d5e45c899364389b90b9d51aac527f500a55d0079ce15ced7c2b8a08729bec
6
+ metadata.gz: 86fef14861a9e4ea9fac5e4f47c358252946a805bf52ef8432ea2b5346a85085a86631b27d53efd740b5c20daf7dca2da1b4a07642e087d2e8f2594bed37980f
7
+ data.tar.gz: c7cf683baad4b3456dd1b5211d328a2e242df35acedebb9b5db4506fa1a642122750a0a348a53d4a54bede7d88df577de2ea01556440def65512113feb3c4d74
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-iot/customizations'
48
48
  # @!group service
49
49
  module Aws::IoT
50
50
 
51
- GEM_VERSION = '1.60.0'
51
+ GEM_VERSION = '1.65.0'
52
52
 
53
53
  end
@@ -610,7 +610,7 @@ module Aws::IoT
610
610
  # @example Request syntax with placeholder values
611
611
  #
612
612
  # resp = client.cancel_audit_mitigation_actions_task({
613
- # task_id: "AuditMitigationActionsTaskId", # required
613
+ # task_id: "MitigationActionsTaskId", # required
614
614
  # })
615
615
  #
616
616
  # @overload cancel_audit_mitigation_actions_task(params = {})
@@ -621,7 +621,7 @@ module Aws::IoT
621
621
  end
622
622
 
623
623
  # Cancels an audit that is in progress. The audit can be either
624
- # scheduled or on-demand. If the audit is not in progress, an
624
+ # scheduled or on demand. If the audit isn't in progress, an
625
625
  # "InvalidRequestException" occurs.
626
626
  #
627
627
  # @option params [required, String] :task_id
@@ -674,6 +674,26 @@ module Aws::IoT
674
674
  req.send_request(options)
675
675
  end
676
676
 
677
+ # Cancels a Device Defender ML Detect mitigation action.
678
+ #
679
+ # @option params [required, String] :task_id
680
+ # The unique identifier of the task.
681
+ #
682
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
683
+ #
684
+ # @example Request syntax with placeholder values
685
+ #
686
+ # resp = client.cancel_detect_mitigation_actions_task({
687
+ # task_id: "MitigationActionsTaskId", # required
688
+ # })
689
+ #
690
+ # @overload cancel_detect_mitigation_actions_task(params = {})
691
+ # @param [Hash] params ({})
692
+ def cancel_detect_mitigation_actions_task(params = {}, options = {})
693
+ req = build_request(:cancel_detect_mitigation_actions_task, params)
694
+ req.send_request(options)
695
+ end
696
+
677
697
  # Cancels a job.
678
698
  #
679
699
  # @option params [required, String] :job_id
@@ -1071,6 +1091,67 @@ module Aws::IoT
1071
1091
  req.send_request(options)
1072
1092
  end
1073
1093
 
1094
+ # Use this API to define a Custom Metric published by your devices to
1095
+ # Device Defender.
1096
+ #
1097
+ # @option params [required, String] :metric_name
1098
+ # The name of the custom metric. This will be used in the metric report
1099
+ # submitted from the device/thing. Shouldn't begin with `aws:`. Cannot
1100
+ # be updated once defined.
1101
+ #
1102
+ # @option params [String] :display_name
1103
+ # Field represents a friendly name in the console for the custom metric;
1104
+ # it doesn't have to be unique. Don't use this name as the metric
1105
+ # identifier in the device metric report. Can be updated once defined.
1106
+ #
1107
+ # @option params [required, String] :metric_type
1108
+ # The type of the custom metric. Types include `string-list`,
1109
+ # `ip-address-list`, `number-list`, and `number`.
1110
+ #
1111
+ # @option params [Array<Types::Tag>] :tags
1112
+ # Metadata that can be used to manage the custom metric.
1113
+ #
1114
+ # @option params [required, String] :client_request_token
1115
+ # Each custom metric must have a unique client request token. If you try
1116
+ # to create a new custom metric that already exists with a different
1117
+ # token, an exception occurs. If you omit this value, AWS SDKs will
1118
+ # automatically generate a unique client request.
1119
+ #
1120
+ # **A suitable default value is auto-generated.** You should normally
1121
+ # not need to pass this option.**
1122
+ #
1123
+ # @return [Types::CreateCustomMetricResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1124
+ #
1125
+ # * {Types::CreateCustomMetricResponse#metric_name #metric_name} => String
1126
+ # * {Types::CreateCustomMetricResponse#metric_arn #metric_arn} => String
1127
+ #
1128
+ # @example Request syntax with placeholder values
1129
+ #
1130
+ # resp = client.create_custom_metric({
1131
+ # metric_name: "MetricName", # required
1132
+ # display_name: "CustomMetricDisplayName",
1133
+ # metric_type: "string-list", # required, accepts string-list, ip-address-list, number-list, number
1134
+ # tags: [
1135
+ # {
1136
+ # key: "TagKey", # required
1137
+ # value: "TagValue",
1138
+ # },
1139
+ # ],
1140
+ # client_request_token: "ClientRequestToken", # required
1141
+ # })
1142
+ #
1143
+ # @example Response structure
1144
+ #
1145
+ # resp.metric_name #=> String
1146
+ # resp.metric_arn #=> String
1147
+ #
1148
+ # @overload create_custom_metric(params = {})
1149
+ # @param [Hash] params ({})
1150
+ def create_custom_metric(params = {}, options = {})
1151
+ req = build_request(:create_custom_metric, params)
1152
+ req.send_request(options)
1153
+ end
1154
+
1074
1155
  # Create a dimension that you can use to limit the scope of a metric
1075
1156
  # used in a security profile for AWS IoT Device Defender. For example,
1076
1157
  # using a `TOPIC_FILTER` dimension, you can narrow down the scope of the
@@ -1657,6 +1738,7 @@ module Aws::IoT
1657
1738
  # files: [ # required
1658
1739
  # {
1659
1740
  # file_name: "FileName",
1741
+ # file_type: 1,
1660
1742
  # file_version: "OTAUpdateFileVersion",
1661
1743
  # file_location: {
1662
1744
  # stream: {
@@ -2051,22 +2133,22 @@ module Aws::IoT
2051
2133
  # Creates a scheduled audit that is run at a specified time interval.
2052
2134
  #
2053
2135
  # @option params [required, String] :frequency
2054
- # How often the scheduled audit takes place. Can be one of "DAILY",
2055
- # "WEEKLY", "BIWEEKLY" or "MONTHLY". The start time of each audit
2056
- # is determined by the system.
2136
+ # How often the scheduled audit takes place, either `DAILY`, `WEEKLY`,
2137
+ # `BIWEEKLY` or `MONTHLY`. The start time of each audit is determined by
2138
+ # the system.
2057
2139
  #
2058
2140
  # @option params [String] :day_of_month
2059
- # The day of the month on which the scheduled audit takes place. Can be
2060
- # "1" through "31" or "LAST". This field is required if the
2061
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
2062
- # specified, and the month does not have that many days, the audit takes
2063
- # place on the "LAST" day of the month.
2141
+ # The day of the month on which the scheduled audit takes place. This
2142
+ # can be "1" through "31" or "LAST". This field is required if the
2143
+ # "frequency" parameter is set to `MONTHLY`. If days 29 to 31 are
2144
+ # specified, and the month doesn't have that many days, the audit takes
2145
+ # place on the `LAST` day of the month.
2064
2146
  #
2065
2147
  # @option params [String] :day_of_week
2066
- # The day of the week on which the scheduled audit takes place. Can be
2067
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
2068
- # "SAT". This field is required if the "frequency" parameter is set
2069
- # to "WEEKLY" or "BIWEEKLY".
2148
+ # The day of the week on which the scheduled audit takes place, either
2149
+ # `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`. This field is
2150
+ # required if the `frequency` parameter is set to `WEEKLY` or
2151
+ # `BIWEEKLY`.
2070
2152
  #
2071
2153
  # @option params [required, Array<String>] :target_check_names
2072
2154
  # Which checks are performed during the scheduled audit. Checks must be
@@ -2134,12 +2216,14 @@ module Aws::IoT
2134
2216
  #
2135
2217
  # A list of metrics whose data is retained (stored). By default, data is
2136
2218
  # retained for any metric used in the profile's `behaviors`, but it is
2137
- # also retained for any metric specified here.
2219
+ # also retained for any metric specified here. Can be used with custom
2220
+ # metrics; cannot be used with dimensions.
2138
2221
  #
2139
2222
  # @option params [Array<Types::MetricToRetain>] :additional_metrics_to_retain_v2
2140
2223
  # A list of metrics whose data is retained (stored). By default, data is
2141
2224
  # retained for any metric used in the profile's `behaviors`, but it is
2142
- # also retained for any metric specified here.
2225
+ # also retained for any metric specified here. Can be used with custom
2226
+ # metrics; cannot be used with dimensions.
2143
2227
  #
2144
2228
  # @option params [Array<Types::Tag>] :tags
2145
2229
  # Metadata that can be used to manage the security profile.
@@ -2163,11 +2247,14 @@ module Aws::IoT
2163
2247
  # operator: "IN", # accepts IN, NOT_IN
2164
2248
  # },
2165
2249
  # criteria: {
2166
- # 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
2250
+ # 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
2167
2251
  # value: {
2168
2252
  # count: 1,
2169
2253
  # cidrs: ["Cidr"],
2170
2254
  # ports: [1],
2255
+ # number: 1.0,
2256
+ # numbers: [1.0],
2257
+ # strings: ["stringValue"],
2171
2258
  # },
2172
2259
  # duration_seconds: 1,
2173
2260
  # consecutive_datapoints_to_alarm: 1,
@@ -2175,7 +2262,11 @@ module Aws::IoT
2175
2262
  # statistical_threshold: {
2176
2263
  # statistic: "EvaluationStatistic",
2177
2264
  # },
2265
+ # ml_detection_config: {
2266
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
2267
+ # },
2178
2268
  # },
2269
+ # suppress_alerts: false,
2179
2270
  # },
2180
2271
  # ],
2181
2272
  # alert_targets: {
@@ -2544,6 +2635,7 @@ module Aws::IoT
2544
2635
  # role_arn: "AwsArn", # required
2545
2636
  # delivery_stream_name: "DeliveryStreamName", # required
2546
2637
  # separator: "FirehoseSeparator",
2638
+ # batch_mode: false,
2547
2639
  # },
2548
2640
  # cloudwatch_metric: {
2549
2641
  # role_arn: "AwsArn", # required
@@ -2577,11 +2669,13 @@ module Aws::IoT
2577
2669
  # iot_analytics: {
2578
2670
  # channel_arn: "AwsArn",
2579
2671
  # channel_name: "ChannelName",
2672
+ # batch_mode: false,
2580
2673
  # role_arn: "AwsArn",
2581
2674
  # },
2582
2675
  # iot_events: {
2583
2676
  # input_name: "InputName", # required
2584
2677
  # message_id: "MessageId",
2678
+ # batch_mode: false,
2585
2679
  # role_arn: "AwsArn", # required
2586
2680
  # },
2587
2681
  # iot_site_wise: {
@@ -2647,6 +2741,15 @@ module Aws::IoT
2647
2741
  # },
2648
2742
  # },
2649
2743
  # },
2744
+ # kafka: {
2745
+ # destination_arn: "AwsArn", # required
2746
+ # topic: "String", # required
2747
+ # key: "String",
2748
+ # partition: "String",
2749
+ # client_properties: { # required
2750
+ # "String" => "String",
2751
+ # },
2752
+ # },
2650
2753
  # },
2651
2754
  # ],
2652
2755
  # rule_disabled: false,
@@ -2703,6 +2806,7 @@ module Aws::IoT
2703
2806
  # role_arn: "AwsArn", # required
2704
2807
  # delivery_stream_name: "DeliveryStreamName", # required
2705
2808
  # separator: "FirehoseSeparator",
2809
+ # batch_mode: false,
2706
2810
  # },
2707
2811
  # cloudwatch_metric: {
2708
2812
  # role_arn: "AwsArn", # required
@@ -2736,11 +2840,13 @@ module Aws::IoT
2736
2840
  # iot_analytics: {
2737
2841
  # channel_arn: "AwsArn",
2738
2842
  # channel_name: "ChannelName",
2843
+ # batch_mode: false,
2739
2844
  # role_arn: "AwsArn",
2740
2845
  # },
2741
2846
  # iot_events: {
2742
2847
  # input_name: "InputName", # required
2743
2848
  # message_id: "MessageId",
2849
+ # batch_mode: false,
2744
2850
  # role_arn: "AwsArn", # required
2745
2851
  # },
2746
2852
  # iot_site_wise: {
@@ -2806,6 +2912,15 @@ module Aws::IoT
2806
2912
  # },
2807
2913
  # },
2808
2914
  # },
2915
+ # kafka: {
2916
+ # destination_arn: "AwsArn", # required
2917
+ # topic: "String", # required
2918
+ # key: "String",
2919
+ # partition: "String",
2920
+ # client_properties: { # required
2921
+ # "String" => "String",
2922
+ # },
2923
+ # },
2809
2924
  # },
2810
2925
  # },
2811
2926
  # tags: "String",
@@ -2835,15 +2950,29 @@ module Aws::IoT
2835
2950
  # http_url_configuration: {
2836
2951
  # confirmation_url: "Url", # required
2837
2952
  # },
2953
+ # vpc_configuration: {
2954
+ # subnet_ids: ["SubnetId"], # required
2955
+ # security_groups: ["SecurityGroupId"],
2956
+ # vpc_id: "VpcId", # required
2957
+ # role_arn: "AwsArn", # required
2958
+ # },
2838
2959
  # },
2839
2960
  # })
2840
2961
  #
2841
2962
  # @example Response structure
2842
2963
  #
2843
2964
  # resp.topic_rule_destination.arn #=> String
2844
- # resp.topic_rule_destination.status #=> String, one of "ENABLED", "IN_PROGRESS", "DISABLED", "ERROR"
2965
+ # resp.topic_rule_destination.status #=> String, one of "ENABLED", "IN_PROGRESS", "DISABLED", "ERROR", "DELETING"
2966
+ # resp.topic_rule_destination.created_at #=> Time
2967
+ # resp.topic_rule_destination.last_updated_at #=> Time
2845
2968
  # resp.topic_rule_destination.status_reason #=> String
2846
2969
  # resp.topic_rule_destination.http_url_properties.confirmation_url #=> String
2970
+ # resp.topic_rule_destination.vpc_properties.subnet_ids #=> Array
2971
+ # resp.topic_rule_destination.vpc_properties.subnet_ids[0] #=> String
2972
+ # resp.topic_rule_destination.vpc_properties.security_groups #=> Array
2973
+ # resp.topic_rule_destination.vpc_properties.security_groups[0] #=> String
2974
+ # resp.topic_rule_destination.vpc_properties.vpc_id #=> String
2975
+ # resp.topic_rule_destination.vpc_properties.role_arn #=> String
2847
2976
  #
2848
2977
  # @overload create_topic_rule_destination(params = {})
2849
2978
  # @param [Hash] params ({})
@@ -3013,6 +3142,38 @@ module Aws::IoT
3013
3142
  req.send_request(options)
3014
3143
  end
3015
3144
 
3145
+ # <note markdown="1"> Before you can delete a custom metric, you must first remove the
3146
+ # custom metric from all security profiles it's a part of. The security
3147
+ # profile associated with the custom metric can be found using the
3148
+ # [ListSecurityProfiles][1] API with `metricName` set to your custom
3149
+ # metric name.
3150
+ #
3151
+ # </note>
3152
+ #
3153
+ # Deletes a Device Defender detect custom metric.
3154
+ #
3155
+ #
3156
+ #
3157
+ # [1]: https://docs.aws.amazon.com/iot/latest/apireference/API_ListSecurityProfiles.html
3158
+ #
3159
+ # @option params [required, String] :metric_name
3160
+ # The name of the custom metric.
3161
+ #
3162
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3163
+ #
3164
+ # @example Request syntax with placeholder values
3165
+ #
3166
+ # resp = client.delete_custom_metric({
3167
+ # metric_name: "MetricName", # required
3168
+ # })
3169
+ #
3170
+ # @overload delete_custom_metric(params = {})
3171
+ # @param [Hash] params ({})
3172
+ def delete_custom_metric(params = {}, options = {})
3173
+ req = build_request(:delete_custom_metric, params)
3174
+ req.send_request(options)
3175
+ end
3176
+
3016
3177
  # Removes the specified dimension from your AWS account.
3017
3178
  #
3018
3179
  # @option params [required, String] :name
@@ -3232,12 +3393,15 @@ module Aws::IoT
3232
3393
  # The ID of the OTA update to delete.
3233
3394
  #
3234
3395
  # @option params [Boolean] :delete_stream
3235
- # Specifies if the stream associated with an OTA update should be
3236
- # deleted when the OTA update is deleted.
3396
+ # When true, the stream created by the OTAUpdate process is deleted when
3397
+ # the OTA update is deleted. Ignored if the stream specified in the
3398
+ # OTAUpdate is supplied by the user.
3237
3399
  #
3238
3400
  # @option params [Boolean] :force_delete_aws_job
3239
- # Specifies if the AWS Job associated with the OTA update should be
3240
- # deleted when the OTA update is deleted.
3401
+ # When true, deletes the AWS job created by the OTAUpdate process even
3402
+ # if it is "IN\_PROGRESS". Otherwise, if the job is not in a terminal
3403
+ # state ("COMPLETED" or "CANCELED") an exception will occur. The
3404
+ # default is false.
3241
3405
  #
3242
3406
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3243
3407
  #
@@ -3654,8 +3818,8 @@ module Aws::IoT
3654
3818
  end
3655
3819
 
3656
3820
  # Gets information about a single audit finding. Properties include the
3657
- # reason for noncompliance, the severity of the issue, and when the
3658
- # audit that returned the finding was started.
3821
+ # reason for noncompliance, the severity of the issue, and the start
3822
+ # time when the audit that returned the finding.
3659
3823
  #
3660
3824
  # @option params [required, String] :finding_id
3661
3825
  # A unique identifier for a single audit finding. You can use this
@@ -3736,7 +3900,7 @@ module Aws::IoT
3736
3900
  # @example Request syntax with placeholder values
3737
3901
  #
3738
3902
  # resp = client.describe_audit_mitigation_actions_task({
3739
- # task_id: "AuditMitigationActionsTaskId", # required
3903
+ # task_id: "MitigationActionsTaskId", # required
3740
3904
  # })
3741
3905
  #
3742
3906
  # @example Response structure
@@ -4046,6 +4210,42 @@ module Aws::IoT
4046
4210
  req.send_request(options)
4047
4211
  end
4048
4212
 
4213
+ # Gets information about a Device Defender detect custom metric.
4214
+ #
4215
+ # @option params [required, String] :metric_name
4216
+ # The name of the custom metric.
4217
+ #
4218
+ # @return [Types::DescribeCustomMetricResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4219
+ #
4220
+ # * {Types::DescribeCustomMetricResponse#metric_name #metric_name} => String
4221
+ # * {Types::DescribeCustomMetricResponse#metric_arn #metric_arn} => String
4222
+ # * {Types::DescribeCustomMetricResponse#metric_type #metric_type} => String
4223
+ # * {Types::DescribeCustomMetricResponse#display_name #display_name} => String
4224
+ # * {Types::DescribeCustomMetricResponse#creation_date #creation_date} => Time
4225
+ # * {Types::DescribeCustomMetricResponse#last_modified_date #last_modified_date} => Time
4226
+ #
4227
+ # @example Request syntax with placeholder values
4228
+ #
4229
+ # resp = client.describe_custom_metric({
4230
+ # metric_name: "MetricName", # required
4231
+ # })
4232
+ #
4233
+ # @example Response structure
4234
+ #
4235
+ # resp.metric_name #=> String
4236
+ # resp.metric_arn #=> String
4237
+ # resp.metric_type #=> String, one of "string-list", "ip-address-list", "number-list", "number"
4238
+ # resp.display_name #=> String
4239
+ # resp.creation_date #=> Time
4240
+ # resp.last_modified_date #=> Time
4241
+ #
4242
+ # @overload describe_custom_metric(params = {})
4243
+ # @param [Hash] params ({})
4244
+ def describe_custom_metric(params = {}, options = {})
4245
+ req = build_request(:describe_custom_metric, params)
4246
+ req.send_request(options)
4247
+ end
4248
+
4049
4249
  # Describes the default authorizer.
4050
4250
  #
4051
4251
  # @return [Types::DescribeDefaultAuthorizerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -4072,6 +4272,59 @@ module Aws::IoT
4072
4272
  req.send_request(options)
4073
4273
  end
4074
4274
 
4275
+ # Gets information about a Device Defender ML Detect mitigation action.
4276
+ #
4277
+ # @option params [required, String] :task_id
4278
+ # The unique identifier of the task.
4279
+ #
4280
+ # @return [Types::DescribeDetectMitigationActionsTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4281
+ #
4282
+ # * {Types::DescribeDetectMitigationActionsTaskResponse#task_summary #task_summary} => Types::DetectMitigationActionsTaskSummary
4283
+ #
4284
+ # @example Request syntax with placeholder values
4285
+ #
4286
+ # resp = client.describe_detect_mitigation_actions_task({
4287
+ # task_id: "MitigationActionsTaskId", # required
4288
+ # })
4289
+ #
4290
+ # @example Response structure
4291
+ #
4292
+ # resp.task_summary.task_id #=> String
4293
+ # resp.task_summary.task_status #=> String, one of "IN_PROGRESS", "SUCCESSFUL", "FAILED", "CANCELED"
4294
+ # resp.task_summary.task_start_time #=> Time
4295
+ # resp.task_summary.task_end_time #=> Time
4296
+ # resp.task_summary.target.violation_ids #=> Array
4297
+ # resp.task_summary.target.violation_ids[0] #=> String
4298
+ # resp.task_summary.target.security_profile_name #=> String
4299
+ # resp.task_summary.target.behavior_name #=> String
4300
+ # resp.task_summary.violation_event_occurrence_range.start_time #=> Time
4301
+ # resp.task_summary.violation_event_occurrence_range.end_time #=> Time
4302
+ # resp.task_summary.only_active_violations_included #=> Boolean
4303
+ # resp.task_summary.suppressed_alerts_included #=> Boolean
4304
+ # resp.task_summary.actions_definition #=> Array
4305
+ # resp.task_summary.actions_definition[0].name #=> String
4306
+ # resp.task_summary.actions_definition[0].id #=> String
4307
+ # resp.task_summary.actions_definition[0].role_arn #=> String
4308
+ # resp.task_summary.actions_definition[0].action_params.update_device_certificate_params.action #=> String, one of "DEACTIVATE"
4309
+ # resp.task_summary.actions_definition[0].action_params.update_ca_certificate_params.action #=> String, one of "DEACTIVATE"
4310
+ # resp.task_summary.actions_definition[0].action_params.add_things_to_thing_group_params.thing_group_names #=> Array
4311
+ # resp.task_summary.actions_definition[0].action_params.add_things_to_thing_group_params.thing_group_names[0] #=> String
4312
+ # resp.task_summary.actions_definition[0].action_params.add_things_to_thing_group_params.override_dynamic_groups #=> Boolean
4313
+ # resp.task_summary.actions_definition[0].action_params.replace_default_policy_version_params.template_name #=> String, one of "BLANK_POLICY"
4314
+ # resp.task_summary.actions_definition[0].action_params.enable_io_t_logging_params.role_arn_for_logging #=> String
4315
+ # resp.task_summary.actions_definition[0].action_params.enable_io_t_logging_params.log_level #=> String, one of "DEBUG", "INFO", "ERROR", "WARN", "DISABLED"
4316
+ # resp.task_summary.actions_definition[0].action_params.publish_finding_to_sns_params.topic_arn #=> String
4317
+ # resp.task_summary.task_statistics.actions_executed #=> Integer
4318
+ # resp.task_summary.task_statistics.actions_skipped #=> Integer
4319
+ # resp.task_summary.task_statistics.actions_failed #=> Integer
4320
+ #
4321
+ # @overload describe_detect_mitigation_actions_task(params = {})
4322
+ # @param [Hash] params ({})
4323
+ def describe_detect_mitigation_actions_task(params = {}, options = {})
4324
+ req = build_request(:describe_detect_mitigation_actions_task, params)
4325
+ req.send_request(options)
4326
+ end
4327
+
4075
4328
  # Provides details about a dimension that is defined in your AWS
4076
4329
  # account.
4077
4330
  #
@@ -4605,16 +4858,23 @@ module Aws::IoT
4605
4858
  # resp.behaviors[0].metric #=> String
4606
4859
  # resp.behaviors[0].metric_dimension.dimension_name #=> String
4607
4860
  # resp.behaviors[0].metric_dimension.operator #=> String, one of "IN", "NOT_IN"
4608
- # resp.behaviors[0].criteria.comparison_operator #=> String, one of "less-than", "less-than-equals", "greater-than", "greater-than-equals", "in-cidr-set", "not-in-cidr-set", "in-port-set", "not-in-port-set"
4861
+ # resp.behaviors[0].criteria.comparison_operator #=> String, one of "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"
4609
4862
  # resp.behaviors[0].criteria.value.count #=> Integer
4610
4863
  # resp.behaviors[0].criteria.value.cidrs #=> Array
4611
4864
  # resp.behaviors[0].criteria.value.cidrs[0] #=> String
4612
4865
  # resp.behaviors[0].criteria.value.ports #=> Array
4613
4866
  # resp.behaviors[0].criteria.value.ports[0] #=> Integer
4867
+ # resp.behaviors[0].criteria.value.number #=> Float
4868
+ # resp.behaviors[0].criteria.value.numbers #=> Array
4869
+ # resp.behaviors[0].criteria.value.numbers[0] #=> Float
4870
+ # resp.behaviors[0].criteria.value.strings #=> Array
4871
+ # resp.behaviors[0].criteria.value.strings[0] #=> String
4614
4872
  # resp.behaviors[0].criteria.duration_seconds #=> Integer
4615
4873
  # resp.behaviors[0].criteria.consecutive_datapoints_to_alarm #=> Integer
4616
4874
  # resp.behaviors[0].criteria.consecutive_datapoints_to_clear #=> Integer
4617
4875
  # resp.behaviors[0].criteria.statistical_threshold.statistic #=> String
4876
+ # resp.behaviors[0].criteria.ml_detection_config.confidence_level #=> String, one of "LOW", "MEDIUM", "HIGH"
4877
+ # resp.behaviors[0].suppress_alerts #=> Boolean
4618
4878
  # resp.alert_targets #=> Hash
4619
4879
  # resp.alert_targets["AlertTargetType"].alert_target_arn #=> String
4620
4880
  # resp.alert_targets["AlertTargetType"].role_arn #=> String
@@ -5005,6 +5265,52 @@ module Aws::IoT
5005
5265
  req.send_request(options)
5006
5266
  end
5007
5267
 
5268
+ # Returns a Device Defender's ML Detect Security Profile training
5269
+ # model's status.
5270
+ #
5271
+ # @option params [String] :security_profile_name
5272
+ # The name of the security profile.
5273
+ #
5274
+ # @option params [Integer] :max_results
5275
+ # The maximum number of results to return at one time. The default is
5276
+ # 25.
5277
+ #
5278
+ # @option params [String] :next_token
5279
+ # The token for the next set of results.
5280
+ #
5281
+ # @return [Types::GetBehaviorModelTrainingSummariesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5282
+ #
5283
+ # * {Types::GetBehaviorModelTrainingSummariesResponse#summaries #summaries} => Array&lt;Types::BehaviorModelTrainingSummary&gt;
5284
+ # * {Types::GetBehaviorModelTrainingSummariesResponse#next_token #next_token} => String
5285
+ #
5286
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
5287
+ #
5288
+ # @example Request syntax with placeholder values
5289
+ #
5290
+ # resp = client.get_behavior_model_training_summaries({
5291
+ # security_profile_name: "SecurityProfileName",
5292
+ # max_results: 1,
5293
+ # next_token: "NextToken",
5294
+ # })
5295
+ #
5296
+ # @example Response structure
5297
+ #
5298
+ # resp.summaries #=> Array
5299
+ # resp.summaries[0].security_profile_name #=> String
5300
+ # resp.summaries[0].behavior_name #=> String
5301
+ # resp.summaries[0].training_data_collection_start_date #=> Time
5302
+ # resp.summaries[0].model_status #=> String, one of "PENDING_BUILD", "ACTIVE", "EXPIRED"
5303
+ # resp.summaries[0].datapoints_collection_percentage #=> Float
5304
+ # resp.summaries[0].last_model_refresh_date #=> Time
5305
+ # resp.next_token #=> String
5306
+ #
5307
+ # @overload get_behavior_model_training_summaries(params = {})
5308
+ # @param [Hash] params ({})
5309
+ def get_behavior_model_training_summaries(params = {}, options = {})
5310
+ req = build_request(:get_behavior_model_training_summaries, params)
5311
+ req.send_request(options)
5312
+ end
5313
+
5008
5314
  # Returns the approximate count of unique values that match the query.
5009
5315
  #
5010
5316
  # @option params [String] :index_name
@@ -5201,6 +5507,7 @@ module Aws::IoT
5201
5507
  # resp.ota_update_info.target_selection #=> String, one of "CONTINUOUS", "SNAPSHOT"
5202
5508
  # resp.ota_update_info.ota_update_files #=> Array
5203
5509
  # resp.ota_update_info.ota_update_files[0].file_name #=> String
5510
+ # resp.ota_update_info.ota_update_files[0].file_type #=> Integer
5204
5511
  # resp.ota_update_info.ota_update_files[0].file_version #=> String
5205
5512
  # resp.ota_update_info.ota_update_files[0].file_location.stream.stream_id #=> String
5206
5513
  # resp.ota_update_info.ota_update_files[0].file_location.stream.file_id #=> Integer
@@ -5496,6 +5803,7 @@ module Aws::IoT
5496
5803
  # resp.rule.actions[0].firehose.role_arn #=> String
5497
5804
  # resp.rule.actions[0].firehose.delivery_stream_name #=> String
5498
5805
  # resp.rule.actions[0].firehose.separator #=> String
5806
+ # resp.rule.actions[0].firehose.batch_mode #=> Boolean
5499
5807
  # resp.rule.actions[0].cloudwatch_metric.role_arn #=> String
5500
5808
  # resp.rule.actions[0].cloudwatch_metric.metric_namespace #=> String
5501
5809
  # resp.rule.actions[0].cloudwatch_metric.metric_name #=> String
@@ -5517,9 +5825,11 @@ module Aws::IoT
5517
5825
  # resp.rule.actions[0].salesforce.url #=> String
5518
5826
  # resp.rule.actions[0].iot_analytics.channel_arn #=> String
5519
5827
  # resp.rule.actions[0].iot_analytics.channel_name #=> String
5828
+ # resp.rule.actions[0].iot_analytics.batch_mode #=> Boolean
5520
5829
  # resp.rule.actions[0].iot_analytics.role_arn #=> String
5521
5830
  # resp.rule.actions[0].iot_events.input_name #=> String
5522
5831
  # resp.rule.actions[0].iot_events.message_id #=> String
5832
+ # resp.rule.actions[0].iot_events.batch_mode #=> Boolean
5523
5833
  # resp.rule.actions[0].iot_events.role_arn #=> String
5524
5834
  # resp.rule.actions[0].iot_site_wise.put_asset_property_value_entries #=> Array
5525
5835
  # resp.rule.actions[0].iot_site_wise.put_asset_property_value_entries[0].entry_id #=> String
@@ -5554,6 +5864,12 @@ module Aws::IoT
5554
5864
  # resp.rule.actions[0].http.auth.sigv4.signing_region #=> String
5555
5865
  # resp.rule.actions[0].http.auth.sigv4.service_name #=> String
5556
5866
  # resp.rule.actions[0].http.auth.sigv4.role_arn #=> String
5867
+ # resp.rule.actions[0].kafka.destination_arn #=> String
5868
+ # resp.rule.actions[0].kafka.topic #=> String
5869
+ # resp.rule.actions[0].kafka.key #=> String
5870
+ # resp.rule.actions[0].kafka.partition #=> String
5871
+ # resp.rule.actions[0].kafka.client_properties #=> Hash
5872
+ # resp.rule.actions[0].kafka.client_properties["String"] #=> String
5557
5873
  # resp.rule.rule_disabled #=> Boolean
5558
5874
  # resp.rule.aws_iot_sql_version #=> String
5559
5875
  # resp.rule.error_action.dynamo_db.table_name #=> String
@@ -5588,6 +5904,7 @@ module Aws::IoT
5588
5904
  # resp.rule.error_action.firehose.role_arn #=> String
5589
5905
  # resp.rule.error_action.firehose.delivery_stream_name #=> String
5590
5906
  # resp.rule.error_action.firehose.separator #=> String
5907
+ # resp.rule.error_action.firehose.batch_mode #=> Boolean
5591
5908
  # resp.rule.error_action.cloudwatch_metric.role_arn #=> String
5592
5909
  # resp.rule.error_action.cloudwatch_metric.metric_namespace #=> String
5593
5910
  # resp.rule.error_action.cloudwatch_metric.metric_name #=> String
@@ -5609,9 +5926,11 @@ module Aws::IoT
5609
5926
  # resp.rule.error_action.salesforce.url #=> String
5610
5927
  # resp.rule.error_action.iot_analytics.channel_arn #=> String
5611
5928
  # resp.rule.error_action.iot_analytics.channel_name #=> String
5929
+ # resp.rule.error_action.iot_analytics.batch_mode #=> Boolean
5612
5930
  # resp.rule.error_action.iot_analytics.role_arn #=> String
5613
5931
  # resp.rule.error_action.iot_events.input_name #=> String
5614
5932
  # resp.rule.error_action.iot_events.message_id #=> String
5933
+ # resp.rule.error_action.iot_events.batch_mode #=> Boolean
5615
5934
  # resp.rule.error_action.iot_events.role_arn #=> String
5616
5935
  # resp.rule.error_action.iot_site_wise.put_asset_property_value_entries #=> Array
5617
5936
  # resp.rule.error_action.iot_site_wise.put_asset_property_value_entries[0].entry_id #=> String
@@ -5646,6 +5965,12 @@ module Aws::IoT
5646
5965
  # resp.rule.error_action.http.auth.sigv4.signing_region #=> String
5647
5966
  # resp.rule.error_action.http.auth.sigv4.service_name #=> String
5648
5967
  # resp.rule.error_action.http.auth.sigv4.role_arn #=> String
5968
+ # resp.rule.error_action.kafka.destination_arn #=> String
5969
+ # resp.rule.error_action.kafka.topic #=> String
5970
+ # resp.rule.error_action.kafka.key #=> String
5971
+ # resp.rule.error_action.kafka.partition #=> String
5972
+ # resp.rule.error_action.kafka.client_properties #=> Hash
5973
+ # resp.rule.error_action.kafka.client_properties["String"] #=> String
5649
5974
  #
5650
5975
  # @overload get_topic_rule(params = {})
5651
5976
  # @param [Hash] params ({})
@@ -5672,9 +5997,17 @@ module Aws::IoT
5672
5997
  # @example Response structure
5673
5998
  #
5674
5999
  # resp.topic_rule_destination.arn #=> String
5675
- # resp.topic_rule_destination.status #=> String, one of "ENABLED", "IN_PROGRESS", "DISABLED", "ERROR"
6000
+ # resp.topic_rule_destination.status #=> String, one of "ENABLED", "IN_PROGRESS", "DISABLED", "ERROR", "DELETING"
6001
+ # resp.topic_rule_destination.created_at #=> Time
6002
+ # resp.topic_rule_destination.last_updated_at #=> Time
5676
6003
  # resp.topic_rule_destination.status_reason #=> String
5677
6004
  # resp.topic_rule_destination.http_url_properties.confirmation_url #=> String
6005
+ # resp.topic_rule_destination.vpc_properties.subnet_ids #=> Array
6006
+ # resp.topic_rule_destination.vpc_properties.subnet_ids[0] #=> String
6007
+ # resp.topic_rule_destination.vpc_properties.security_groups #=> Array
6008
+ # resp.topic_rule_destination.vpc_properties.security_groups[0] #=> String
6009
+ # resp.topic_rule_destination.vpc_properties.vpc_id #=> String
6010
+ # resp.topic_rule_destination.vpc_properties.role_arn #=> String
5678
6011
  #
5679
6012
  # @overload get_topic_rule_destination(params = {})
5680
6013
  # @param [Hash] params ({})
@@ -5714,6 +6047,12 @@ module Aws::IoT
5714
6047
  # The name of the Device Defender security profile for which violations
5715
6048
  # are listed.
5716
6049
  #
6050
+ # @option params [String] :behavior_criteria_type
6051
+ # The criteria for a behavior.
6052
+ #
6053
+ # @option params [Boolean] :list_suppressed_alerts
6054
+ # A list of all suppressed alerts.
6055
+ #
5717
6056
  # @option params [String] :next_token
5718
6057
  # The token for the next set of results.
5719
6058
  #
@@ -5732,6 +6071,8 @@ module Aws::IoT
5732
6071
  # resp = client.list_active_violations({
5733
6072
  # thing_name: "DeviceDefenderThingName",
5734
6073
  # security_profile_name: "SecurityProfileName",
6074
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
6075
+ # list_suppressed_alerts: false,
5735
6076
  # next_token: "NextToken",
5736
6077
  # max_results: 1,
5737
6078
  # })
@@ -5746,21 +6087,34 @@ module Aws::IoT
5746
6087
  # resp.active_violations[0].behavior.metric #=> String
5747
6088
  # resp.active_violations[0].behavior.metric_dimension.dimension_name #=> String
5748
6089
  # resp.active_violations[0].behavior.metric_dimension.operator #=> String, one of "IN", "NOT_IN"
5749
- # resp.active_violations[0].behavior.criteria.comparison_operator #=> String, one of "less-than", "less-than-equals", "greater-than", "greater-than-equals", "in-cidr-set", "not-in-cidr-set", "in-port-set", "not-in-port-set"
6090
+ # resp.active_violations[0].behavior.criteria.comparison_operator #=> String, one of "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"
5750
6091
  # resp.active_violations[0].behavior.criteria.value.count #=> Integer
5751
6092
  # resp.active_violations[0].behavior.criteria.value.cidrs #=> Array
5752
6093
  # resp.active_violations[0].behavior.criteria.value.cidrs[0] #=> String
5753
6094
  # resp.active_violations[0].behavior.criteria.value.ports #=> Array
5754
6095
  # resp.active_violations[0].behavior.criteria.value.ports[0] #=> Integer
6096
+ # resp.active_violations[0].behavior.criteria.value.number #=> Float
6097
+ # resp.active_violations[0].behavior.criteria.value.numbers #=> Array
6098
+ # resp.active_violations[0].behavior.criteria.value.numbers[0] #=> Float
6099
+ # resp.active_violations[0].behavior.criteria.value.strings #=> Array
6100
+ # resp.active_violations[0].behavior.criteria.value.strings[0] #=> String
5755
6101
  # resp.active_violations[0].behavior.criteria.duration_seconds #=> Integer
5756
6102
  # resp.active_violations[0].behavior.criteria.consecutive_datapoints_to_alarm #=> Integer
5757
6103
  # resp.active_violations[0].behavior.criteria.consecutive_datapoints_to_clear #=> Integer
5758
6104
  # resp.active_violations[0].behavior.criteria.statistical_threshold.statistic #=> String
6105
+ # resp.active_violations[0].behavior.criteria.ml_detection_config.confidence_level #=> String, one of "LOW", "MEDIUM", "HIGH"
6106
+ # resp.active_violations[0].behavior.suppress_alerts #=> Boolean
5759
6107
  # resp.active_violations[0].last_violation_value.count #=> Integer
5760
6108
  # resp.active_violations[0].last_violation_value.cidrs #=> Array
5761
6109
  # resp.active_violations[0].last_violation_value.cidrs[0] #=> String
5762
6110
  # resp.active_violations[0].last_violation_value.ports #=> Array
5763
6111
  # resp.active_violations[0].last_violation_value.ports[0] #=> Integer
6112
+ # resp.active_violations[0].last_violation_value.number #=> Float
6113
+ # resp.active_violations[0].last_violation_value.numbers #=> Array
6114
+ # resp.active_violations[0].last_violation_value.numbers[0] #=> Float
6115
+ # resp.active_violations[0].last_violation_value.strings #=> Array
6116
+ # resp.active_violations[0].last_violation_value.strings[0] #=> String
6117
+ # resp.active_violations[0].violation_event_additional_info.confidence_level #=> String, one of "LOW", "MEDIUM", "HIGH"
5764
6118
  # resp.active_violations[0].last_violation_time #=> Time
5765
6119
  # resp.active_violations[0].violation_start_time #=> Time
5766
6120
  # resp.next_token #=> String
@@ -5967,7 +6321,7 @@ module Aws::IoT
5967
6321
  # @example Request syntax with placeholder values
5968
6322
  #
5969
6323
  # resp = client.list_audit_mitigation_actions_executions({
5970
- # task_id: "AuditMitigationActionsTaskId", # required
6324
+ # task_id: "MitigationActionsTaskId", # required
5971
6325
  # action_status: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED, CANCELED, SKIPPED, PENDING
5972
6326
  # finding_id: "FindingId", # required
5973
6327
  # max_results: 1,
@@ -6243,7 +6597,9 @@ module Aws::IoT
6243
6597
  # Lists the billing groups you have created.
6244
6598
  #
6245
6599
  # @option params [String] :next_token
6246
- # The token to retrieve the next set of results.
6600
+ # To retrieve the next set of results, the `nextToken` value from a
6601
+ # previous response; otherwise **null** to receive the first set of
6602
+ # results.
6247
6603
  #
6248
6604
  # @option params [Integer] :max_results
6249
6605
  # The maximum number of results to return per request.
@@ -6421,6 +6777,184 @@ module Aws::IoT
6421
6777
  req.send_request(options)
6422
6778
  end
6423
6779
 
6780
+ # Lists your Device Defender detect custom metrics.
6781
+ #
6782
+ # @option params [String] :next_token
6783
+ # The token for the next set of results.
6784
+ #
6785
+ # @option params [Integer] :max_results
6786
+ # The maximum number of results to return at one time. The default is
6787
+ # 25.
6788
+ #
6789
+ # @return [Types::ListCustomMetricsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6790
+ #
6791
+ # * {Types::ListCustomMetricsResponse#metric_names #metric_names} => Array&lt;String&gt;
6792
+ # * {Types::ListCustomMetricsResponse#next_token #next_token} => String
6793
+ #
6794
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6795
+ #
6796
+ # @example Request syntax with placeholder values
6797
+ #
6798
+ # resp = client.list_custom_metrics({
6799
+ # next_token: "NextToken",
6800
+ # max_results: 1,
6801
+ # })
6802
+ #
6803
+ # @example Response structure
6804
+ #
6805
+ # resp.metric_names #=> Array
6806
+ # resp.metric_names[0] #=> String
6807
+ # resp.next_token #=> String
6808
+ #
6809
+ # @overload list_custom_metrics(params = {})
6810
+ # @param [Hash] params ({})
6811
+ def list_custom_metrics(params = {}, options = {})
6812
+ req = build_request(:list_custom_metrics, params)
6813
+ req.send_request(options)
6814
+ end
6815
+
6816
+ # Lists mitigation actions executions for a Device Defender ML Detect
6817
+ # Security Profile.
6818
+ #
6819
+ # @option params [String] :task_id
6820
+ # The unique identifier of the task.
6821
+ #
6822
+ # @option params [String] :violation_id
6823
+ # The unique identifier of the violation.
6824
+ #
6825
+ # @option params [String] :thing_name
6826
+ # The name of the thing whose mitigation actions are listed.
6827
+ #
6828
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
6829
+ # A filter to limit results to those found after the specified time. You
6830
+ # must specify either the startTime and endTime or the taskId, but not
6831
+ # both.
6832
+ #
6833
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
6834
+ # The end of the time period for which ML Detect mitigation actions
6835
+ # executions are returned.
6836
+ #
6837
+ # @option params [Integer] :max_results
6838
+ # The maximum number of results to return at one time. The default is
6839
+ # 25.
6840
+ #
6841
+ # @option params [String] :next_token
6842
+ # The token for the next set of results.
6843
+ #
6844
+ # @return [Types::ListDetectMitigationActionsExecutionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6845
+ #
6846
+ # * {Types::ListDetectMitigationActionsExecutionsResponse#actions_executions #actions_executions} => Array&lt;Types::DetectMitigationActionExecution&gt;
6847
+ # * {Types::ListDetectMitigationActionsExecutionsResponse#next_token #next_token} => String
6848
+ #
6849
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6850
+ #
6851
+ # @example Request syntax with placeholder values
6852
+ #
6853
+ # resp = client.list_detect_mitigation_actions_executions({
6854
+ # task_id: "MitigationActionsTaskId",
6855
+ # violation_id: "ViolationId",
6856
+ # thing_name: "DeviceDefenderThingName",
6857
+ # start_time: Time.now,
6858
+ # end_time: Time.now,
6859
+ # max_results: 1,
6860
+ # next_token: "NextToken",
6861
+ # })
6862
+ #
6863
+ # @example Response structure
6864
+ #
6865
+ # resp.actions_executions #=> Array
6866
+ # resp.actions_executions[0].task_id #=> String
6867
+ # resp.actions_executions[0].violation_id #=> String
6868
+ # resp.actions_executions[0].action_name #=> String
6869
+ # resp.actions_executions[0].thing_name #=> String
6870
+ # resp.actions_executions[0].execution_start_date #=> Time
6871
+ # resp.actions_executions[0].execution_end_date #=> Time
6872
+ # resp.actions_executions[0].status #=> String, one of "IN_PROGRESS", "SUCCESSFUL", "FAILED", "SKIPPED"
6873
+ # resp.actions_executions[0].error_code #=> String
6874
+ # resp.actions_executions[0].message #=> String
6875
+ # resp.next_token #=> String
6876
+ #
6877
+ # @overload list_detect_mitigation_actions_executions(params = {})
6878
+ # @param [Hash] params ({})
6879
+ def list_detect_mitigation_actions_executions(params = {}, options = {})
6880
+ req = build_request(:list_detect_mitigation_actions_executions, params)
6881
+ req.send_request(options)
6882
+ end
6883
+
6884
+ # List of Device Defender ML Detect mitigation actions tasks.
6885
+ #
6886
+ # @option params [Integer] :max_results
6887
+ # The maximum number of results to return at one time. The default is
6888
+ # 25.
6889
+ #
6890
+ # @option params [String] :next_token
6891
+ # The token for the next set of results.
6892
+ #
6893
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
6894
+ # A filter to limit results to those found after the specified time. You
6895
+ # must specify either the startTime and endTime or the taskId, but not
6896
+ # both.
6897
+ #
6898
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
6899
+ # The end of the time period for which ML Detect mitigation actions
6900
+ # tasks are returned.
6901
+ #
6902
+ # @return [Types::ListDetectMitigationActionsTasksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6903
+ #
6904
+ # * {Types::ListDetectMitigationActionsTasksResponse#tasks #tasks} => Array&lt;Types::DetectMitigationActionsTaskSummary&gt;
6905
+ # * {Types::ListDetectMitigationActionsTasksResponse#next_token #next_token} => String
6906
+ #
6907
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6908
+ #
6909
+ # @example Request syntax with placeholder values
6910
+ #
6911
+ # resp = client.list_detect_mitigation_actions_tasks({
6912
+ # max_results: 1,
6913
+ # next_token: "NextToken",
6914
+ # start_time: Time.now, # required
6915
+ # end_time: Time.now, # required
6916
+ # })
6917
+ #
6918
+ # @example Response structure
6919
+ #
6920
+ # resp.tasks #=> Array
6921
+ # resp.tasks[0].task_id #=> String
6922
+ # resp.tasks[0].task_status #=> String, one of "IN_PROGRESS", "SUCCESSFUL", "FAILED", "CANCELED"
6923
+ # resp.tasks[0].task_start_time #=> Time
6924
+ # resp.tasks[0].task_end_time #=> Time
6925
+ # resp.tasks[0].target.violation_ids #=> Array
6926
+ # resp.tasks[0].target.violation_ids[0] #=> String
6927
+ # resp.tasks[0].target.security_profile_name #=> String
6928
+ # resp.tasks[0].target.behavior_name #=> String
6929
+ # resp.tasks[0].violation_event_occurrence_range.start_time #=> Time
6930
+ # resp.tasks[0].violation_event_occurrence_range.end_time #=> Time
6931
+ # resp.tasks[0].only_active_violations_included #=> Boolean
6932
+ # resp.tasks[0].suppressed_alerts_included #=> Boolean
6933
+ # resp.tasks[0].actions_definition #=> Array
6934
+ # resp.tasks[0].actions_definition[0].name #=> String
6935
+ # resp.tasks[0].actions_definition[0].id #=> String
6936
+ # resp.tasks[0].actions_definition[0].role_arn #=> String
6937
+ # resp.tasks[0].actions_definition[0].action_params.update_device_certificate_params.action #=> String, one of "DEACTIVATE"
6938
+ # resp.tasks[0].actions_definition[0].action_params.update_ca_certificate_params.action #=> String, one of "DEACTIVATE"
6939
+ # resp.tasks[0].actions_definition[0].action_params.add_things_to_thing_group_params.thing_group_names #=> Array
6940
+ # resp.tasks[0].actions_definition[0].action_params.add_things_to_thing_group_params.thing_group_names[0] #=> String
6941
+ # resp.tasks[0].actions_definition[0].action_params.add_things_to_thing_group_params.override_dynamic_groups #=> Boolean
6942
+ # resp.tasks[0].actions_definition[0].action_params.replace_default_policy_version_params.template_name #=> String, one of "BLANK_POLICY"
6943
+ # resp.tasks[0].actions_definition[0].action_params.enable_io_t_logging_params.role_arn_for_logging #=> String
6944
+ # resp.tasks[0].actions_definition[0].action_params.enable_io_t_logging_params.log_level #=> String, one of "DEBUG", "INFO", "ERROR", "WARN", "DISABLED"
6945
+ # resp.tasks[0].actions_definition[0].action_params.publish_finding_to_sns_params.topic_arn #=> String
6946
+ # resp.tasks[0].task_statistics.actions_executed #=> Integer
6947
+ # resp.tasks[0].task_statistics.actions_skipped #=> Integer
6948
+ # resp.tasks[0].task_statistics.actions_failed #=> Integer
6949
+ # resp.next_token #=> String
6950
+ #
6951
+ # @overload list_detect_mitigation_actions_tasks(params = {})
6952
+ # @param [Hash] params ({})
6953
+ def list_detect_mitigation_actions_tasks(params = {}, options = {})
6954
+ req = build_request(:list_detect_mitigation_actions_tasks, params)
6955
+ req.send_request(options)
6956
+ end
6957
+
6424
6958
  # List the set of dimensions that are defined for your AWS account.
6425
6959
  #
6426
6960
  # @option params [String] :next_token
@@ -7041,7 +7575,9 @@ module Aws::IoT
7041
7575
  # Cognito identities or federated identities.
7042
7576
  #
7043
7577
  # @option params [String] :next_token
7044
- # The token to retrieve the next set of results.
7578
+ # To retrieve the next set of results, the `nextToken` value from a
7579
+ # previous response; otherwise **null** to receive the first set of
7580
+ # results.
7045
7581
  #
7046
7582
  # @option params [Integer] :max_results
7047
7583
  # The maximum number of results to return in this operation.
@@ -7237,9 +7773,12 @@ module Aws::IoT
7237
7773
  req.send_request(options)
7238
7774
  end
7239
7775
 
7240
- # Lists the Device Defender security profiles you have created. You can
7241
- # use filters to list only those security profiles associated with a
7242
- # thing group or only those associated with your account.
7776
+ # Lists the Device Defender security profiles you've created. You can
7777
+ # filter security profiles by dimension or custom metric.
7778
+ #
7779
+ # <note markdown="1"> `dimensionName` and `metricName` cannot be used in the same request.
7780
+ #
7781
+ # </note>
7243
7782
  #
7244
7783
  # @option params [String] :next_token
7245
7784
  # The token for the next set of results.
@@ -7249,7 +7788,10 @@ module Aws::IoT
7249
7788
  #
7250
7789
  # @option params [String] :dimension_name
7251
7790
  # A filter to limit results to the security profiles that use the
7252
- # defined dimension.
7791
+ # defined dimension. Cannot be used with `metricName`
7792
+ #
7793
+ # @option params [String] :metric_name
7794
+ # The name of the custom metric. Cannot be used with `dimensionName`.
7253
7795
  #
7254
7796
  # @return [Types::ListSecurityProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7255
7797
  #
@@ -7264,6 +7806,7 @@ module Aws::IoT
7264
7806
  # next_token: "NextToken",
7265
7807
  # max_results: 1,
7266
7808
  # dimension_name: "DimensionName",
7809
+ # metric_name: "MetricName",
7267
7810
  # })
7268
7811
  #
7269
7812
  # @example Response structure
@@ -7375,7 +7918,9 @@ module Aws::IoT
7375
7918
  # The ARN of the resource.
7376
7919
  #
7377
7920
  # @option params [String] :next_token
7378
- # The token to retrieve the next set of results.
7921
+ # To retrieve the next set of results, the `nextToken` value from a
7922
+ # previous response; otherwise **null** to receive the first set of
7923
+ # results.
7379
7924
  #
7380
7925
  # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7381
7926
  #
@@ -7487,7 +8032,9 @@ module Aws::IoT
7487
8032
  # List the thing groups in your account.
7488
8033
  #
7489
8034
  # @option params [String] :next_token
7490
- # The token to retrieve the next set of results.
8035
+ # To retrieve the next set of results, the `nextToken` value from a
8036
+ # previous response; otherwise **null** to receive the first set of
8037
+ # results.
7491
8038
  #
7492
8039
  # @option params [Integer] :max_results
7493
8040
  # The maximum number of results to return at one time.
@@ -7540,7 +8087,9 @@ module Aws::IoT
7540
8087
  # The thing name.
7541
8088
  #
7542
8089
  # @option params [String] :next_token
7543
- # The token to retrieve the next set of results.
8090
+ # To retrieve the next set of results, the `nextToken` value from a
8091
+ # previous response; otherwise **null** to receive the first set of
8092
+ # results.
7544
8093
  #
7545
8094
  # @option params [Integer] :max_results
7546
8095
  # The maximum number of results to return at one time.
@@ -7578,16 +8127,29 @@ module Aws::IoT
7578
8127
  # can be X.509 certificates, IAM users, groups, and roles, Amazon
7579
8128
  # Cognito identities or federated identities.
7580
8129
  #
8130
+ # @option params [String] :next_token
8131
+ # To retrieve the next set of results, the `nextToken` value from a
8132
+ # previous response; otherwise **null** to receive the first set of
8133
+ # results.
8134
+ #
8135
+ # @option params [Integer] :max_results
8136
+ # The maximum number of results to return in this operation.
8137
+ #
7581
8138
  # @option params [required, String] :thing_name
7582
8139
  # The name of the thing.
7583
8140
  #
7584
8141
  # @return [Types::ListThingPrincipalsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7585
8142
  #
7586
8143
  # * {Types::ListThingPrincipalsResponse#principals #principals} => Array&lt;String&gt;
8144
+ # * {Types::ListThingPrincipalsResponse#next_token #next_token} => String
8145
+ #
8146
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7587
8147
  #
7588
8148
  # @example Request syntax with placeholder values
7589
8149
  #
7590
8150
  # resp = client.list_thing_principals({
8151
+ # next_token: "NextToken",
8152
+ # max_results: 1,
7591
8153
  # thing_name: "ThingName", # required
7592
8154
  # })
7593
8155
  #
@@ -7595,6 +8157,7 @@ module Aws::IoT
7595
8157
  #
7596
8158
  # resp.principals #=> Array
7597
8159
  # resp.principals[0] #=> String
8160
+ # resp.next_token #=> String
7598
8161
  #
7599
8162
  # @overload list_thing_principals(params = {})
7600
8163
  # @param [Hash] params ({})
@@ -7612,7 +8175,9 @@ module Aws::IoT
7612
8175
  # The type of task report.
7613
8176
  #
7614
8177
  # @option params [String] :next_token
7615
- # The token to retrieve the next set of results.
8178
+ # To retrieve the next set of results, the `nextToken` value from a
8179
+ # previous response; otherwise **null** to receive the first set of
8180
+ # results.
7616
8181
  #
7617
8182
  # @option params [Integer] :max_results
7618
8183
  # The maximum number of results to return per request.
@@ -7651,7 +8216,9 @@ module Aws::IoT
7651
8216
  # List bulk thing provisioning tasks.
7652
8217
  #
7653
8218
  # @option params [String] :next_token
7654
- # The token to retrieve the next set of results.
8219
+ # To retrieve the next set of results, the `nextToken` value from a
8220
+ # previous response; otherwise **null** to receive the first set of
8221
+ # results.
7655
8222
  #
7656
8223
  # @option params [Integer] :max_results
7657
8224
  # The maximum number of results to return at one time.
@@ -7690,7 +8257,9 @@ module Aws::IoT
7690
8257
  # Lists the existing thing types.
7691
8258
  #
7692
8259
  # @option params [String] :next_token
7693
- # The token to retrieve the next set of results.
8260
+ # To retrieve the next set of results, the `nextToken` value from a
8261
+ # previous response; otherwise **null** to receive the first set of
8262
+ # results.
7694
8263
  #
7695
8264
  # @option params [Integer] :max_results
7696
8265
  # The maximum number of results to return in this operation.
@@ -7747,7 +8316,9 @@ module Aws::IoT
7747
8316
  # </note>
7748
8317
  #
7749
8318
  # @option params [String] :next_token
7750
- # The token to retrieve the next set of results.
8319
+ # To retrieve the next set of results, the `nextToken` value from a
8320
+ # previous response; otherwise **null** to receive the first set of
8321
+ # results.
7751
8322
  #
7752
8323
  # @option params [Integer] :max_results
7753
8324
  # The maximum number of results to return in this operation.
@@ -7802,7 +8373,9 @@ module Aws::IoT
7802
8373
  # The name of the billing group.
7803
8374
  #
7804
8375
  # @option params [String] :next_token
7805
- # The token to retrieve the next set of results.
8376
+ # To retrieve the next set of results, the `nextToken` value from a
8377
+ # previous response; otherwise **null** to receive the first set of
8378
+ # results.
7806
8379
  #
7807
8380
  # @option params [Integer] :max_results
7808
8381
  # The maximum number of results to return per request.
@@ -7845,7 +8418,9 @@ module Aws::IoT
7845
8418
  # well.
7846
8419
  #
7847
8420
  # @option params [String] :next_token
7848
- # The token to retrieve the next set of results.
8421
+ # To retrieve the next set of results, the `nextToken` value from a
8422
+ # previous response; otherwise **null** to receive the first set of
8423
+ # results.
7849
8424
  #
7850
8425
  # @option params [Integer] :max_results
7851
8426
  # The maximum number of results to return at one time.
@@ -7885,7 +8460,9 @@ module Aws::IoT
7885
8460
  # The maximum number of results to return at one time.
7886
8461
  #
7887
8462
  # @option params [String] :next_token
7888
- # The token to retrieve the next set of results.
8463
+ # To retrieve the next set of results, the `nextToken` value from a
8464
+ # previous response; otherwise **null** to receive the first set of
8465
+ # results.
7889
8466
  #
7890
8467
  # @return [Types::ListTopicRuleDestinationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7891
8468
  #
@@ -7905,9 +8482,17 @@ module Aws::IoT
7905
8482
  #
7906
8483
  # resp.destination_summaries #=> Array
7907
8484
  # resp.destination_summaries[0].arn #=> String
7908
- # resp.destination_summaries[0].status #=> String, one of "ENABLED", "IN_PROGRESS", "DISABLED", "ERROR"
8485
+ # resp.destination_summaries[0].status #=> String, one of "ENABLED", "IN_PROGRESS", "DISABLED", "ERROR", "DELETING"
8486
+ # resp.destination_summaries[0].created_at #=> Time
8487
+ # resp.destination_summaries[0].last_updated_at #=> Time
7909
8488
  # resp.destination_summaries[0].status_reason #=> String
7910
8489
  # resp.destination_summaries[0].http_url_summary.confirmation_url #=> String
8490
+ # resp.destination_summaries[0].vpc_destination_summary.subnet_ids #=> Array
8491
+ # resp.destination_summaries[0].vpc_destination_summary.subnet_ids[0] #=> String
8492
+ # resp.destination_summaries[0].vpc_destination_summary.security_groups #=> Array
8493
+ # resp.destination_summaries[0].vpc_destination_summary.security_groups[0] #=> String
8494
+ # resp.destination_summaries[0].vpc_destination_summary.vpc_id #=> String
8495
+ # resp.destination_summaries[0].vpc_destination_summary.role_arn #=> String
7911
8496
  # resp.next_token #=> String
7912
8497
  #
7913
8498
  # @overload list_topic_rule_destinations(params = {})
@@ -7926,7 +8511,9 @@ module Aws::IoT
7926
8511
  # The maximum number of results to return.
7927
8512
  #
7928
8513
  # @option params [String] :next_token
7929
- # A token used to retrieve the next value.
8514
+ # To retrieve the next set of results, the `nextToken` value from a
8515
+ # previous response; otherwise **null** to receive the first set of
8516
+ # results.
7930
8517
  #
7931
8518
  # @option params [Boolean] :rule_disabled
7932
8519
  # Specifies whether the rule is disabled.
@@ -7971,8 +8558,9 @@ module Aws::IoT
7971
8558
  # `THING_Group`.
7972
8559
  #
7973
8560
  # @option params [String] :next_token
7974
- # The token used to get the next set of results, or **null** if there
7975
- # are no additional results.
8561
+ # To retrieve the next set of results, the `nextToken` value from a
8562
+ # previous response; otherwise **null** to receive the first set of
8563
+ # results.
7976
8564
  #
7977
8565
  # @option params [Integer] :max_results
7978
8566
  # The maximum number of results to return at one time.
@@ -8026,6 +8614,12 @@ module Aws::IoT
8026
8614
  # A filter to limit results to those alerts generated by the specified
8027
8615
  # security profile.
8028
8616
  #
8617
+ # @option params [String] :behavior_criteria_type
8618
+ # The criteria for a behavior.
8619
+ #
8620
+ # @option params [Boolean] :list_suppressed_alerts
8621
+ # A list of all suppressed alerts.
8622
+ #
8029
8623
  # @option params [String] :next_token
8030
8624
  # The token for the next set of results.
8031
8625
  #
@@ -8046,6 +8640,8 @@ module Aws::IoT
8046
8640
  # end_time: Time.now, # required
8047
8641
  # thing_name: "DeviceDefenderThingName",
8048
8642
  # security_profile_name: "SecurityProfileName",
8643
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
8644
+ # list_suppressed_alerts: false,
8049
8645
  # next_token: "NextToken",
8050
8646
  # max_results: 1,
8051
8647
  # })
@@ -8060,21 +8656,34 @@ module Aws::IoT
8060
8656
  # resp.violation_events[0].behavior.metric #=> String
8061
8657
  # resp.violation_events[0].behavior.metric_dimension.dimension_name #=> String
8062
8658
  # resp.violation_events[0].behavior.metric_dimension.operator #=> String, one of "IN", "NOT_IN"
8063
- # resp.violation_events[0].behavior.criteria.comparison_operator #=> String, one of "less-than", "less-than-equals", "greater-than", "greater-than-equals", "in-cidr-set", "not-in-cidr-set", "in-port-set", "not-in-port-set"
8659
+ # resp.violation_events[0].behavior.criteria.comparison_operator #=> String, one of "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"
8064
8660
  # resp.violation_events[0].behavior.criteria.value.count #=> Integer
8065
8661
  # resp.violation_events[0].behavior.criteria.value.cidrs #=> Array
8066
8662
  # resp.violation_events[0].behavior.criteria.value.cidrs[0] #=> String
8067
8663
  # resp.violation_events[0].behavior.criteria.value.ports #=> Array
8068
8664
  # resp.violation_events[0].behavior.criteria.value.ports[0] #=> Integer
8665
+ # resp.violation_events[0].behavior.criteria.value.number #=> Float
8666
+ # resp.violation_events[0].behavior.criteria.value.numbers #=> Array
8667
+ # resp.violation_events[0].behavior.criteria.value.numbers[0] #=> Float
8668
+ # resp.violation_events[0].behavior.criteria.value.strings #=> Array
8669
+ # resp.violation_events[0].behavior.criteria.value.strings[0] #=> String
8069
8670
  # resp.violation_events[0].behavior.criteria.duration_seconds #=> Integer
8070
8671
  # resp.violation_events[0].behavior.criteria.consecutive_datapoints_to_alarm #=> Integer
8071
8672
  # resp.violation_events[0].behavior.criteria.consecutive_datapoints_to_clear #=> Integer
8072
8673
  # resp.violation_events[0].behavior.criteria.statistical_threshold.statistic #=> String
8674
+ # resp.violation_events[0].behavior.criteria.ml_detection_config.confidence_level #=> String, one of "LOW", "MEDIUM", "HIGH"
8675
+ # resp.violation_events[0].behavior.suppress_alerts #=> Boolean
8073
8676
  # resp.violation_events[0].metric_value.count #=> Integer
8074
8677
  # resp.violation_events[0].metric_value.cidrs #=> Array
8075
8678
  # resp.violation_events[0].metric_value.cidrs[0] #=> String
8076
8679
  # resp.violation_events[0].metric_value.ports #=> Array
8077
8680
  # resp.violation_events[0].metric_value.ports[0] #=> Integer
8681
+ # resp.violation_events[0].metric_value.number #=> Float
8682
+ # resp.violation_events[0].metric_value.numbers #=> Array
8683
+ # resp.violation_events[0].metric_value.numbers[0] #=> Float
8684
+ # resp.violation_events[0].metric_value.strings #=> Array
8685
+ # resp.violation_events[0].metric_value.strings[0] #=> String
8686
+ # resp.violation_events[0].violation_event_additional_info.confidence_level #=> String, one of "LOW", "MEDIUM", "HIGH"
8078
8687
  # resp.violation_events[0].violation_event_type #=> String, one of "in-alarm", "alarm-cleared", "alarm-invalidated"
8079
8688
  # resp.violation_events[0].violation_event_time #=> Time
8080
8689
  # resp.next_token #=> String
@@ -8467,6 +9076,7 @@ module Aws::IoT
8467
9076
  # role_arn: "AwsArn", # required
8468
9077
  # delivery_stream_name: "DeliveryStreamName", # required
8469
9078
  # separator: "FirehoseSeparator",
9079
+ # batch_mode: false,
8470
9080
  # },
8471
9081
  # cloudwatch_metric: {
8472
9082
  # role_arn: "AwsArn", # required
@@ -8500,11 +9110,13 @@ module Aws::IoT
8500
9110
  # iot_analytics: {
8501
9111
  # channel_arn: "AwsArn",
8502
9112
  # channel_name: "ChannelName",
9113
+ # batch_mode: false,
8503
9114
  # role_arn: "AwsArn",
8504
9115
  # },
8505
9116
  # iot_events: {
8506
9117
  # input_name: "InputName", # required
8507
9118
  # message_id: "MessageId",
9119
+ # batch_mode: false,
8508
9120
  # role_arn: "AwsArn", # required
8509
9121
  # },
8510
9122
  # iot_site_wise: {
@@ -8570,6 +9182,15 @@ module Aws::IoT
8570
9182
  # },
8571
9183
  # },
8572
9184
  # },
9185
+ # kafka: {
9186
+ # destination_arn: "AwsArn", # required
9187
+ # topic: "String", # required
9188
+ # key: "String",
9189
+ # partition: "String",
9190
+ # client_properties: { # required
9191
+ # "String" => "String",
9192
+ # },
9193
+ # },
8573
9194
  # },
8574
9195
  # ],
8575
9196
  # rule_disabled: false,
@@ -8626,6 +9247,7 @@ module Aws::IoT
8626
9247
  # role_arn: "AwsArn", # required
8627
9248
  # delivery_stream_name: "DeliveryStreamName", # required
8628
9249
  # separator: "FirehoseSeparator",
9250
+ # batch_mode: false,
8629
9251
  # },
8630
9252
  # cloudwatch_metric: {
8631
9253
  # role_arn: "AwsArn", # required
@@ -8659,11 +9281,13 @@ module Aws::IoT
8659
9281
  # iot_analytics: {
8660
9282
  # channel_arn: "AwsArn",
8661
9283
  # channel_name: "ChannelName",
9284
+ # batch_mode: false,
8662
9285
  # role_arn: "AwsArn",
8663
9286
  # },
8664
9287
  # iot_events: {
8665
9288
  # input_name: "InputName", # required
8666
9289
  # message_id: "MessageId",
9290
+ # batch_mode: false,
8667
9291
  # role_arn: "AwsArn", # required
8668
9292
  # },
8669
9293
  # iot_site_wise: {
@@ -8729,6 +9353,15 @@ module Aws::IoT
8729
9353
  # },
8730
9354
  # },
8731
9355
  # },
9356
+ # kafka: {
9357
+ # destination_arn: "AwsArn", # required
9358
+ # topic: "String", # required
9359
+ # key: "String",
9360
+ # partition: "String",
9361
+ # client_properties: { # required
9362
+ # "String" => "String",
9363
+ # },
9364
+ # },
8732
9365
  # },
8733
9366
  # },
8734
9367
  # })
@@ -8951,7 +9584,7 @@ module Aws::IoT
8951
9584
  # @option params [required, Types::AuditMitigationActionsTaskTarget] :target
8952
9585
  # Specifies the audit findings to which the mitigation actions are
8953
9586
  # applied. You can apply them to a type of audit check, to all findings
8954
- # from an audit, or to a speecific set of findings.
9587
+ # from an audit, or to a specific set of findings.
8955
9588
  #
8956
9589
  # @option params [required, Hash<String,Array>] :audit_check_to_actions_mapping
8957
9590
  # For an audit check, specifies which mitigation actions to apply. Those
@@ -8973,7 +9606,7 @@ module Aws::IoT
8973
9606
  # @example Request syntax with placeholder values
8974
9607
  #
8975
9608
  # resp = client.start_audit_mitigation_actions_task({
8976
- # task_id: "AuditMitigationActionsTaskId", # required
9609
+ # task_id: "MitigationActionsTaskId", # required
8977
9610
  # target: { # required
8978
9611
  # audit_task_id: "AuditTaskId",
8979
9612
  # finding_ids: ["FindingId"],
@@ -8998,6 +9631,70 @@ module Aws::IoT
8998
9631
  req.send_request(options)
8999
9632
  end
9000
9633
 
9634
+ # Starts a Device Defender ML Detect mitigation actions task.
9635
+ #
9636
+ # @option params [required, String] :task_id
9637
+ # The unique identifier of the task.
9638
+ #
9639
+ # @option params [required, Types::DetectMitigationActionsTaskTarget] :target
9640
+ # Specifies the ML Detect findings to which the mitigation actions are
9641
+ # applied.
9642
+ #
9643
+ # @option params [required, Array<String>] :actions
9644
+ # The actions to be performed when a device has unexpected behavior.
9645
+ #
9646
+ # @option params [Types::ViolationEventOccurrenceRange] :violation_event_occurrence_range
9647
+ # Specifies the time period of which violation events occurred between.
9648
+ #
9649
+ # @option params [Boolean] :include_only_active_violations
9650
+ # Specifies to list only active violations.
9651
+ #
9652
+ # @option params [Boolean] :include_suppressed_alerts
9653
+ # Specifies to include suppressed alerts.
9654
+ #
9655
+ # @option params [required, String] :client_request_token
9656
+ # Each mitigation action task must have a unique client request token.
9657
+ # If you try to create a new task with the same token as a task that
9658
+ # already exists, an exception occurs. If you omit this value, AWS SDKs
9659
+ # will automatically generate a unique client request.
9660
+ #
9661
+ # **A suitable default value is auto-generated.** You should normally
9662
+ # not need to pass this option.**
9663
+ #
9664
+ # @return [Types::StartDetectMitigationActionsTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9665
+ #
9666
+ # * {Types::StartDetectMitigationActionsTaskResponse#task_id #task_id} => String
9667
+ #
9668
+ # @example Request syntax with placeholder values
9669
+ #
9670
+ # resp = client.start_detect_mitigation_actions_task({
9671
+ # task_id: "MitigationActionsTaskId", # required
9672
+ # target: { # required
9673
+ # violation_ids: ["ViolationId"],
9674
+ # security_profile_name: "SecurityProfileName",
9675
+ # behavior_name: "BehaviorName",
9676
+ # },
9677
+ # actions: ["MitigationActionName"], # required
9678
+ # violation_event_occurrence_range: {
9679
+ # start_time: Time.now, # required
9680
+ # end_time: Time.now, # required
9681
+ # },
9682
+ # include_only_active_violations: false,
9683
+ # include_suppressed_alerts: false,
9684
+ # client_request_token: "ClientRequestToken", # required
9685
+ # })
9686
+ #
9687
+ # @example Response structure
9688
+ #
9689
+ # resp.task_id #=> String
9690
+ #
9691
+ # @overload start_detect_mitigation_actions_task(params = {})
9692
+ # @param [Hash] params ({})
9693
+ def start_detect_mitigation_actions_task(params = {}, options = {})
9694
+ req = build_request(:start_detect_mitigation_actions_task, params)
9695
+ req.send_request(options)
9696
+ end
9697
+
9001
9698
  # Starts an on-demand Device Defender audit.
9002
9699
  #
9003
9700
  # @option params [required, Array<String>] :target_check_names
@@ -9338,9 +10035,9 @@ module Aws::IoT
9338
10035
  # audit checks are enabled or disabled.
9339
10036
  #
9340
10037
  # @option params [String] :role_arn
9341
- # The ARN of the role that grants permission to AWS IoT to access
9342
- # information about your devices, policies, certificates and other items
9343
- # as required when performing an audit.
10038
+ # The Amazon Resource Name (ARN) of the role that grants permission to
10039
+ # AWS IoT to access information about your devices, policies,
10040
+ # certificates, and other items as required when performing an audit.
9344
10041
  #
9345
10042
  # @option params [Hash<String,Types::AuditNotificationTarget>] :audit_notification_target_configurations
9346
10043
  # Information about the targets to which audit notifications are sent.
@@ -9354,7 +10051,7 @@ module Aws::IoT
9354
10051
  # enabled. When a check is disabled, any data collected so far in
9355
10052
  # relation to the check is deleted.
9356
10053
  #
9357
- # You cannot disable a check if it is used by any scheduled audit. You
10054
+ # You cannot disable a check if it's used by any scheduled audit. You
9358
10055
  # must first delete the check from the scheduled audit or delete the
9359
10056
  # scheduled audit itself.
9360
10057
  #
@@ -9610,8 +10307,50 @@ module Aws::IoT
9610
10307
  req.send_request(options)
9611
10308
  end
9612
10309
 
10310
+ # Updates a Device Defender detect custom metric.
10311
+ #
10312
+ # @option params [required, String] :metric_name
10313
+ # The name of the custom metric. Cannot be updated.
10314
+ #
10315
+ # @option params [required, String] :display_name
10316
+ # Field represents a friendly name in the console for the custom metric,
10317
+ # it doesn't have to be unique. Don't use this name as the metric
10318
+ # identifier in the device metric report. Can be updated.
10319
+ #
10320
+ # @return [Types::UpdateCustomMetricResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10321
+ #
10322
+ # * {Types::UpdateCustomMetricResponse#metric_name #metric_name} => String
10323
+ # * {Types::UpdateCustomMetricResponse#metric_arn #metric_arn} => String
10324
+ # * {Types::UpdateCustomMetricResponse#metric_type #metric_type} => String
10325
+ # * {Types::UpdateCustomMetricResponse#display_name #display_name} => String
10326
+ # * {Types::UpdateCustomMetricResponse#creation_date #creation_date} => Time
10327
+ # * {Types::UpdateCustomMetricResponse#last_modified_date #last_modified_date} => Time
10328
+ #
10329
+ # @example Request syntax with placeholder values
10330
+ #
10331
+ # resp = client.update_custom_metric({
10332
+ # metric_name: "MetricName", # required
10333
+ # display_name: "CustomMetricDisplayName", # required
10334
+ # })
10335
+ #
10336
+ # @example Response structure
10337
+ #
10338
+ # resp.metric_name #=> String
10339
+ # resp.metric_arn #=> String
10340
+ # resp.metric_type #=> String, one of "string-list", "ip-address-list", "number-list", "number"
10341
+ # resp.display_name #=> String
10342
+ # resp.creation_date #=> Time
10343
+ # resp.last_modified_date #=> Time
10344
+ #
10345
+ # @overload update_custom_metric(params = {})
10346
+ # @param [Hash] params ({})
10347
+ def update_custom_metric(params = {}, options = {})
10348
+ req = build_request(:update_custom_metric, params)
10349
+ req.send_request(options)
10350
+ end
10351
+
9613
10352
  # Updates the definition for a dimension. You cannot change the type of
9614
- # a dimension after it is created (you can delete it and re-create it).
10353
+ # a dimension after it is created (you can delete it and recreate it).
9615
10354
  #
9616
10355
  # @option params [required, String] :name
9617
10356
  # A unique identifier for the dimension. Choose something that describes
@@ -9929,9 +10668,9 @@ module Aws::IoT
9929
10668
  # Updates the definition for the specified mitigation action.
9930
10669
  #
9931
10670
  # @option params [required, String] :action_name
9932
- # The friendly name for the mitigation action. You can't change the
10671
+ # The friendly name for the mitigation action. You cannot change the
9933
10672
  # name by using `UpdateMitigationAction`. Instead, you must delete and
9934
- # re-create the mitigation action with the new name.
10673
+ # recreate the mitigation action with the new name.
9935
10674
  #
9936
10675
  # @option params [String] :role_arn
9937
10676
  # The ARN of the IAM role that is used to apply the mitigation action.
@@ -10073,22 +10812,22 @@ module Aws::IoT
10073
10812
  # how often the audit takes place.
10074
10813
  #
10075
10814
  # @option params [String] :frequency
10076
- # How often the scheduled audit takes place. Can be one of "DAILY",
10077
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each audit
10078
- # is determined by the system.
10815
+ # How often the scheduled audit takes place, either `DAILY`, `WEEKLY`,
10816
+ # `BIWEEKLY`, or `MONTHLY`. The start time of each audit is determined
10817
+ # by the system.
10079
10818
  #
10080
10819
  # @option params [String] :day_of_month
10081
- # The day of the month on which the scheduled audit takes place. Can be
10082
- # "1" through "31" or "LAST". This field is required if the
10083
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
10820
+ # The day of the month on which the scheduled audit takes place. This
10821
+ # can be `1` through `31` or `LAST`. This field is required if the
10822
+ # `frequency` parameter is set to `MONTHLY`. If days 29-31 are
10084
10823
  # specified, and the month does not have that many days, the audit takes
10085
10824
  # place on the "LAST" day of the month.
10086
10825
  #
10087
10826
  # @option params [String] :day_of_week
10088
- # The day of the week on which the scheduled audit takes place. Can be
10089
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
10090
- # "SAT". This field is required if the "frequency" parameter is set
10091
- # to "WEEKLY" or "BIWEEKLY".
10827
+ # The day of the week on which the scheduled audit takes place. This can
10828
+ # be one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`. This
10829
+ # field is required if the "frequency" parameter is set to `WEEKLY` or
10830
+ # `BIWEEKLY`.
10092
10831
  #
10093
10832
  # @option params [Array<String>] :target_check_names
10094
10833
  # Which checks are performed during the scheduled audit. Checks must be
@@ -10145,12 +10884,14 @@ module Aws::IoT
10145
10884
  #
10146
10885
  # A list of metrics whose data is retained (stored). By default, data is
10147
10886
  # retained for any metric used in the profile's `behaviors`, but it is
10148
- # also retained for any metric specified here.
10887
+ # also retained for any metric specified here. Can be used with custom
10888
+ # metrics; cannot be used with dimensions.
10149
10889
  #
10150
10890
  # @option params [Array<Types::MetricToRetain>] :additional_metrics_to_retain_v2
10151
10891
  # A list of metrics whose data is retained (stored). By default, data is
10152
10892
  # retained for any metric used in the profile's behaviors, but it is
10153
- # also retained for any metric specified here.
10893
+ # also retained for any metric specified here. Can be used with custom
10894
+ # metrics; cannot be used with dimensions.
10154
10895
  #
10155
10896
  # @option params [Boolean] :delete_behaviors
10156
10897
  # If true, delete all `behaviors` defined for this security profile. If
@@ -10200,11 +10941,14 @@ module Aws::IoT
10200
10941
  # operator: "IN", # accepts IN, NOT_IN
10201
10942
  # },
10202
10943
  # criteria: {
10203
- # 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
10944
+ # 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
10204
10945
  # value: {
10205
10946
  # count: 1,
10206
10947
  # cidrs: ["Cidr"],
10207
10948
  # ports: [1],
10949
+ # number: 1.0,
10950
+ # numbers: [1.0],
10951
+ # strings: ["stringValue"],
10208
10952
  # },
10209
10953
  # duration_seconds: 1,
10210
10954
  # consecutive_datapoints_to_alarm: 1,
@@ -10212,7 +10956,11 @@ module Aws::IoT
10212
10956
  # statistical_threshold: {
10213
10957
  # statistic: "EvaluationStatistic",
10214
10958
  # },
10959
+ # ml_detection_config: {
10960
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
10961
+ # },
10215
10962
  # },
10963
+ # suppress_alerts: false,
10216
10964
  # },
10217
10965
  # ],
10218
10966
  # alert_targets: {
@@ -10247,16 +10995,23 @@ module Aws::IoT
10247
10995
  # resp.behaviors[0].metric #=> String
10248
10996
  # resp.behaviors[0].metric_dimension.dimension_name #=> String
10249
10997
  # resp.behaviors[0].metric_dimension.operator #=> String, one of "IN", "NOT_IN"
10250
- # resp.behaviors[0].criteria.comparison_operator #=> String, one of "less-than", "less-than-equals", "greater-than", "greater-than-equals", "in-cidr-set", "not-in-cidr-set", "in-port-set", "not-in-port-set"
10998
+ # resp.behaviors[0].criteria.comparison_operator #=> String, one of "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"
10251
10999
  # resp.behaviors[0].criteria.value.count #=> Integer
10252
11000
  # resp.behaviors[0].criteria.value.cidrs #=> Array
10253
11001
  # resp.behaviors[0].criteria.value.cidrs[0] #=> String
10254
11002
  # resp.behaviors[0].criteria.value.ports #=> Array
10255
11003
  # resp.behaviors[0].criteria.value.ports[0] #=> Integer
11004
+ # resp.behaviors[0].criteria.value.number #=> Float
11005
+ # resp.behaviors[0].criteria.value.numbers #=> Array
11006
+ # resp.behaviors[0].criteria.value.numbers[0] #=> Float
11007
+ # resp.behaviors[0].criteria.value.strings #=> Array
11008
+ # resp.behaviors[0].criteria.value.strings[0] #=> String
10256
11009
  # resp.behaviors[0].criteria.duration_seconds #=> Integer
10257
11010
  # resp.behaviors[0].criteria.consecutive_datapoints_to_alarm #=> Integer
10258
11011
  # resp.behaviors[0].criteria.consecutive_datapoints_to_clear #=> Integer
10259
11012
  # resp.behaviors[0].criteria.statistical_threshold.statistic #=> String
11013
+ # resp.behaviors[0].criteria.ml_detection_config.confidence_level #=> String, one of "LOW", "MEDIUM", "HIGH"
11014
+ # resp.behaviors[0].suppress_alerts #=> Boolean
10260
11015
  # resp.alert_targets #=> Hash
10261
11016
  # resp.alert_targets["AlertTargetType"].alert_target_arn #=> String
10262
11017
  # resp.alert_targets["AlertTargetType"].role_arn #=> String
@@ -10508,7 +11263,7 @@ module Aws::IoT
10508
11263
  #
10509
11264
  # resp = client.update_topic_rule_destination({
10510
11265
  # arn: "AwsArn", # required
10511
- # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR
11266
+ # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR, DELETING
10512
11267
  # })
10513
11268
  #
10514
11269
  # @overload update_topic_rule_destination(params = {})
@@ -10541,11 +11296,14 @@ module Aws::IoT
10541
11296
  # operator: "IN", # accepts IN, NOT_IN
10542
11297
  # },
10543
11298
  # criteria: {
10544
- # 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
11299
+ # 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
10545
11300
  # value: {
10546
11301
  # count: 1,
10547
11302
  # cidrs: ["Cidr"],
10548
11303
  # ports: [1],
11304
+ # number: 1.0,
11305
+ # numbers: [1.0],
11306
+ # strings: ["stringValue"],
10549
11307
  # },
10550
11308
  # duration_seconds: 1,
10551
11309
  # consecutive_datapoints_to_alarm: 1,
@@ -10553,7 +11311,11 @@ module Aws::IoT
10553
11311
  # statistical_threshold: {
10554
11312
  # statistic: "EvaluationStatistic",
10555
11313
  # },
11314
+ # ml_detection_config: {
11315
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
11316
+ # },
10556
11317
  # },
11318
+ # suppress_alerts: false,
10557
11319
  # },
10558
11320
  # ],
10559
11321
  # })
@@ -10584,7 +11346,7 @@ module Aws::IoT
10584
11346
  params: params,
10585
11347
  config: config)
10586
11348
  context[:gem_name] = 'aws-sdk-iot'
10587
- context[:gem_version] = '1.60.0'
11349
+ context[:gem_version] = '1.65.0'
10588
11350
  Seahorse::Client::Request.new(handlers, context)
10589
11351
  end
10590
11352