aws-sdk-iot 1.60.0 → 1.65.0

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