aws-sdk-iot 1.62.0 → 1.67.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.67.0
data/lib/aws-sdk-iot.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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.62.0'
51
+ GEM_VERSION = '1.67.0'
52
52
 
53
53
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -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: {
@@ -2650,6 +2741,15 @@ module Aws::IoT
2650
2741
  # },
2651
2742
  # },
2652
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
+ # },
2653
2753
  # },
2654
2754
  # ],
2655
2755
  # rule_disabled: false,
@@ -2812,6 +2912,15 @@ module Aws::IoT
2812
2912
  # },
2813
2913
  # },
2814
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
+ # },
2815
2924
  # },
2816
2925
  # },
2817
2926
  # tags: "String",
@@ -2841,15 +2950,29 @@ module Aws::IoT
2841
2950
  # http_url_configuration: {
2842
2951
  # confirmation_url: "Url", # required
2843
2952
  # },
2953
+ # vpc_configuration: {
2954
+ # subnet_ids: ["SubnetId"], # required
2955
+ # security_groups: ["SecurityGroupId"],
2956
+ # vpc_id: "VpcId", # required
2957
+ # role_arn: "AwsArn", # required
2958
+ # },
2844
2959
  # },
2845
2960
  # })
2846
2961
  #
2847
2962
  # @example Response structure
2848
2963
  #
2849
2964
  # resp.topic_rule_destination.arn #=> String
2850
- # 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
2851
2968
  # resp.topic_rule_destination.status_reason #=> String
2852
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
2853
2976
  #
2854
2977
  # @overload create_topic_rule_destination(params = {})
2855
2978
  # @param [Hash] params ({})
@@ -3019,6 +3142,38 @@ module Aws::IoT
3019
3142
  req.send_request(options)
3020
3143
  end
3021
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
+
3022
3177
  # Removes the specified dimension from your AWS account.
3023
3178
  #
3024
3179
  # @option params [required, String] :name
@@ -3238,12 +3393,15 @@ module Aws::IoT
3238
3393
  # The ID of the OTA update to delete.
3239
3394
  #
3240
3395
  # @option params [Boolean] :delete_stream
3241
- # Specifies if the stream associated with an OTA update should be
3242
- # 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.
3243
3399
  #
3244
3400
  # @option params [Boolean] :force_delete_aws_job
3245
- # Specifies if the AWS Job associated with the OTA update should be
3246
- # 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.
3247
3405
  #
3248
3406
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3249
3407
  #
@@ -3660,8 +3818,8 @@ module Aws::IoT
3660
3818
  end
3661
3819
 
3662
3820
  # Gets information about a single audit finding. Properties include the
3663
- # reason for noncompliance, the severity of the issue, and when the
3664
- # 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.
3665
3823
  #
3666
3824
  # @option params [required, String] :finding_id
3667
3825
  # A unique identifier for a single audit finding. You can use this
@@ -3742,7 +3900,7 @@ module Aws::IoT
3742
3900
  # @example Request syntax with placeholder values
3743
3901
  #
3744
3902
  # resp = client.describe_audit_mitigation_actions_task({
3745
- # task_id: "AuditMitigationActionsTaskId", # required
3903
+ # task_id: "MitigationActionsTaskId", # required
3746
3904
  # })
3747
3905
  #
3748
3906
  # @example Response structure
@@ -4052,6 +4210,42 @@ module Aws::IoT
4052
4210
  req.send_request(options)
4053
4211
  end
4054
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
+
4055
4249
  # Describes the default authorizer.
4056
4250
  #
4057
4251
  # @return [Types::DescribeDefaultAuthorizerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -4078,6 +4272,59 @@ module Aws::IoT
4078
4272
  req.send_request(options)
4079
4273
  end
4080
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
+
4081
4328
  # Provides details about a dimension that is defined in your AWS
4082
4329
  # account.
4083
4330
  #
@@ -4611,16 +4858,23 @@ module Aws::IoT
4611
4858
  # resp.behaviors[0].metric #=> String
4612
4859
  # resp.behaviors[0].metric_dimension.dimension_name #=> String
4613
4860
  # resp.behaviors[0].metric_dimension.operator #=> String, one of "IN", "NOT_IN"
4614
- # 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"
4615
4862
  # resp.behaviors[0].criteria.value.count #=> Integer
4616
4863
  # resp.behaviors[0].criteria.value.cidrs #=> Array
4617
4864
  # resp.behaviors[0].criteria.value.cidrs[0] #=> String
4618
4865
  # resp.behaviors[0].criteria.value.ports #=> Array
4619
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
4620
4872
  # resp.behaviors[0].criteria.duration_seconds #=> Integer
4621
4873
  # resp.behaviors[0].criteria.consecutive_datapoints_to_alarm #=> Integer
4622
4874
  # resp.behaviors[0].criteria.consecutive_datapoints_to_clear #=> Integer
4623
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
4624
4878
  # resp.alert_targets #=> Hash
4625
4879
  # resp.alert_targets["AlertTargetType"].alert_target_arn #=> String
4626
4880
  # resp.alert_targets["AlertTargetType"].role_arn #=> String
@@ -5011,6 +5265,52 @@ module Aws::IoT
5011
5265
  req.send_request(options)
5012
5266
  end
5013
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
+
5014
5314
  # Returns the approximate count of unique values that match the query.
5015
5315
  #
5016
5316
  # @option params [String] :index_name
@@ -5207,6 +5507,7 @@ module Aws::IoT
5207
5507
  # resp.ota_update_info.target_selection #=> String, one of "CONTINUOUS", "SNAPSHOT"
5208
5508
  # resp.ota_update_info.ota_update_files #=> Array
5209
5509
  # resp.ota_update_info.ota_update_files[0].file_name #=> String
5510
+ # resp.ota_update_info.ota_update_files[0].file_type #=> Integer
5210
5511
  # resp.ota_update_info.ota_update_files[0].file_version #=> String
5211
5512
  # resp.ota_update_info.ota_update_files[0].file_location.stream.stream_id #=> String
5212
5513
  # resp.ota_update_info.ota_update_files[0].file_location.stream.file_id #=> Integer
@@ -5563,6 +5864,12 @@ module Aws::IoT
5563
5864
  # resp.rule.actions[0].http.auth.sigv4.signing_region #=> String
5564
5865
  # resp.rule.actions[0].http.auth.sigv4.service_name #=> String
5565
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
5566
5873
  # resp.rule.rule_disabled #=> Boolean
5567
5874
  # resp.rule.aws_iot_sql_version #=> String
5568
5875
  # resp.rule.error_action.dynamo_db.table_name #=> String
@@ -5658,6 +5965,12 @@ module Aws::IoT
5658
5965
  # resp.rule.error_action.http.auth.sigv4.signing_region #=> String
5659
5966
  # resp.rule.error_action.http.auth.sigv4.service_name #=> String
5660
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
5661
5974
  #
5662
5975
  # @overload get_topic_rule(params = {})
5663
5976
  # @param [Hash] params ({})
@@ -5684,9 +5997,17 @@ module Aws::IoT
5684
5997
  # @example Response structure
5685
5998
  #
5686
5999
  # resp.topic_rule_destination.arn #=> String
5687
- # 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
5688
6003
  # resp.topic_rule_destination.status_reason #=> String
5689
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
5690
6011
  #
5691
6012
  # @overload get_topic_rule_destination(params = {})
5692
6013
  # @param [Hash] params ({})
@@ -5726,6 +6047,12 @@ module Aws::IoT
5726
6047
  # The name of the Device Defender security profile for which violations
5727
6048
  # are listed.
5728
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
+ #
5729
6056
  # @option params [String] :next_token
5730
6057
  # The token for the next set of results.
5731
6058
  #
@@ -5744,6 +6071,8 @@ module Aws::IoT
5744
6071
  # resp = client.list_active_violations({
5745
6072
  # thing_name: "DeviceDefenderThingName",
5746
6073
  # security_profile_name: "SecurityProfileName",
6074
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
6075
+ # list_suppressed_alerts: false,
5747
6076
  # next_token: "NextToken",
5748
6077
  # max_results: 1,
5749
6078
  # })
@@ -5758,21 +6087,34 @@ module Aws::IoT
5758
6087
  # resp.active_violations[0].behavior.metric #=> String
5759
6088
  # resp.active_violations[0].behavior.metric_dimension.dimension_name #=> String
5760
6089
  # resp.active_violations[0].behavior.metric_dimension.operator #=> String, one of "IN", "NOT_IN"
5761
- # 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"
5762
6091
  # resp.active_violations[0].behavior.criteria.value.count #=> Integer
5763
6092
  # resp.active_violations[0].behavior.criteria.value.cidrs #=> Array
5764
6093
  # resp.active_violations[0].behavior.criteria.value.cidrs[0] #=> String
5765
6094
  # resp.active_violations[0].behavior.criteria.value.ports #=> Array
5766
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
5767
6101
  # resp.active_violations[0].behavior.criteria.duration_seconds #=> Integer
5768
6102
  # resp.active_violations[0].behavior.criteria.consecutive_datapoints_to_alarm #=> Integer
5769
6103
  # resp.active_violations[0].behavior.criteria.consecutive_datapoints_to_clear #=> Integer
5770
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
5771
6107
  # resp.active_violations[0].last_violation_value.count #=> Integer
5772
6108
  # resp.active_violations[0].last_violation_value.cidrs #=> Array
5773
6109
  # resp.active_violations[0].last_violation_value.cidrs[0] #=> String
5774
6110
  # resp.active_violations[0].last_violation_value.ports #=> Array
5775
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"
5776
6118
  # resp.active_violations[0].last_violation_time #=> Time
5777
6119
  # resp.active_violations[0].violation_start_time #=> Time
5778
6120
  # resp.next_token #=> String
@@ -5979,7 +6321,7 @@ module Aws::IoT
5979
6321
  # @example Request syntax with placeholder values
5980
6322
  #
5981
6323
  # resp = client.list_audit_mitigation_actions_executions({
5982
- # task_id: "AuditMitigationActionsTaskId", # required
6324
+ # task_id: "MitigationActionsTaskId", # required
5983
6325
  # action_status: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED, CANCELED, SKIPPED, PENDING
5984
6326
  # finding_id: "FindingId", # required
5985
6327
  # max_results: 1,
@@ -6435,6 +6777,184 @@ module Aws::IoT
6435
6777
  req.send_request(options)
6436
6778
  end
6437
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
+
6438
6958
  # List the set of dimensions that are defined for your AWS account.
6439
6959
  #
6440
6960
  # @option params [String] :next_token
@@ -7253,9 +7773,12 @@ module Aws::IoT
7253
7773
  req.send_request(options)
7254
7774
  end
7255
7775
 
7256
- # Lists the Device Defender security profiles you have created. You can
7257
- # use filters to list only those security profiles associated with a
7258
- # 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>
7259
7782
  #
7260
7783
  # @option params [String] :next_token
7261
7784
  # The token for the next set of results.
@@ -7265,7 +7788,10 @@ module Aws::IoT
7265
7788
  #
7266
7789
  # @option params [String] :dimension_name
7267
7790
  # A filter to limit results to the security profiles that use the
7268
- # 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`.
7269
7795
  #
7270
7796
  # @return [Types::ListSecurityProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7271
7797
  #
@@ -7280,6 +7806,7 @@ module Aws::IoT
7280
7806
  # next_token: "NextToken",
7281
7807
  # max_results: 1,
7282
7808
  # dimension_name: "DimensionName",
7809
+ # metric_name: "MetricName",
7283
7810
  # })
7284
7811
  #
7285
7812
  # @example Response structure
@@ -7955,9 +8482,17 @@ module Aws::IoT
7955
8482
  #
7956
8483
  # resp.destination_summaries #=> Array
7957
8484
  # resp.destination_summaries[0].arn #=> String
7958
- # 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
7959
8488
  # resp.destination_summaries[0].status_reason #=> String
7960
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
7961
8496
  # resp.next_token #=> String
7962
8497
  #
7963
8498
  # @overload list_topic_rule_destinations(params = {})
@@ -8079,6 +8614,12 @@ module Aws::IoT
8079
8614
  # A filter to limit results to those alerts generated by the specified
8080
8615
  # security profile.
8081
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
+ #
8082
8623
  # @option params [String] :next_token
8083
8624
  # The token for the next set of results.
8084
8625
  #
@@ -8099,6 +8640,8 @@ module Aws::IoT
8099
8640
  # end_time: Time.now, # required
8100
8641
  # thing_name: "DeviceDefenderThingName",
8101
8642
  # security_profile_name: "SecurityProfileName",
8643
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
8644
+ # list_suppressed_alerts: false,
8102
8645
  # next_token: "NextToken",
8103
8646
  # max_results: 1,
8104
8647
  # })
@@ -8113,21 +8656,34 @@ module Aws::IoT
8113
8656
  # resp.violation_events[0].behavior.metric #=> String
8114
8657
  # resp.violation_events[0].behavior.metric_dimension.dimension_name #=> String
8115
8658
  # resp.violation_events[0].behavior.metric_dimension.operator #=> String, one of "IN", "NOT_IN"
8116
- # 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"
8117
8660
  # resp.violation_events[0].behavior.criteria.value.count #=> Integer
8118
8661
  # resp.violation_events[0].behavior.criteria.value.cidrs #=> Array
8119
8662
  # resp.violation_events[0].behavior.criteria.value.cidrs[0] #=> String
8120
8663
  # resp.violation_events[0].behavior.criteria.value.ports #=> Array
8121
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
8122
8670
  # resp.violation_events[0].behavior.criteria.duration_seconds #=> Integer
8123
8671
  # resp.violation_events[0].behavior.criteria.consecutive_datapoints_to_alarm #=> Integer
8124
8672
  # resp.violation_events[0].behavior.criteria.consecutive_datapoints_to_clear #=> Integer
8125
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
8126
8676
  # resp.violation_events[0].metric_value.count #=> Integer
8127
8677
  # resp.violation_events[0].metric_value.cidrs #=> Array
8128
8678
  # resp.violation_events[0].metric_value.cidrs[0] #=> String
8129
8679
  # resp.violation_events[0].metric_value.ports #=> Array
8130
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"
8131
8687
  # resp.violation_events[0].violation_event_type #=> String, one of "in-alarm", "alarm-cleared", "alarm-invalidated"
8132
8688
  # resp.violation_events[0].violation_event_time #=> Time
8133
8689
  # resp.next_token #=> String
@@ -8626,6 +9182,15 @@ module Aws::IoT
8626
9182
  # },
8627
9183
  # },
8628
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
+ # },
8629
9194
  # },
8630
9195
  # ],
8631
9196
  # rule_disabled: false,
@@ -8788,6 +9353,15 @@ module Aws::IoT
8788
9353
  # },
8789
9354
  # },
8790
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
+ # },
8791
9365
  # },
8792
9366
  # },
8793
9367
  # })
@@ -9010,7 +9584,7 @@ module Aws::IoT
9010
9584
  # @option params [required, Types::AuditMitigationActionsTaskTarget] :target
9011
9585
  # Specifies the audit findings to which the mitigation actions are
9012
9586
  # applied. You can apply them to a type of audit check, to all findings
9013
- # from an audit, or to a speecific set of findings.
9587
+ # from an audit, or to a specific set of findings.
9014
9588
  #
9015
9589
  # @option params [required, Hash<String,Array>] :audit_check_to_actions_mapping
9016
9590
  # For an audit check, specifies which mitigation actions to apply. Those
@@ -9032,7 +9606,7 @@ module Aws::IoT
9032
9606
  # @example Request syntax with placeholder values
9033
9607
  #
9034
9608
  # resp = client.start_audit_mitigation_actions_task({
9035
- # task_id: "AuditMitigationActionsTaskId", # required
9609
+ # task_id: "MitigationActionsTaskId", # required
9036
9610
  # target: { # required
9037
9611
  # audit_task_id: "AuditTaskId",
9038
9612
  # finding_ids: ["FindingId"],
@@ -9057,6 +9631,70 @@ module Aws::IoT
9057
9631
  req.send_request(options)
9058
9632
  end
9059
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
+
9060
9698
  # Starts an on-demand Device Defender audit.
9061
9699
  #
9062
9700
  # @option params [required, Array<String>] :target_check_names
@@ -9397,9 +10035,9 @@ module Aws::IoT
9397
10035
  # audit checks are enabled or disabled.
9398
10036
  #
9399
10037
  # @option params [String] :role_arn
9400
- # The ARN of the role that grants permission to AWS IoT to access
9401
- # information about your devices, policies, certificates and other items
9402
- # 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.
9403
10041
  #
9404
10042
  # @option params [Hash<String,Types::AuditNotificationTarget>] :audit_notification_target_configurations
9405
10043
  # Information about the targets to which audit notifications are sent.
@@ -9413,7 +10051,7 @@ module Aws::IoT
9413
10051
  # enabled. When a check is disabled, any data collected so far in
9414
10052
  # relation to the check is deleted.
9415
10053
  #
9416
- # 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
9417
10055
  # must first delete the check from the scheduled audit or delete the
9418
10056
  # scheduled audit itself.
9419
10057
  #
@@ -9669,8 +10307,50 @@ module Aws::IoT
9669
10307
  req.send_request(options)
9670
10308
  end
9671
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
+
9672
10352
  # Updates the definition for a dimension. You cannot change the type of
9673
- # 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).
9674
10354
  #
9675
10355
  # @option params [required, String] :name
9676
10356
  # A unique identifier for the dimension. Choose something that describes
@@ -9988,9 +10668,9 @@ module Aws::IoT
9988
10668
  # Updates the definition for the specified mitigation action.
9989
10669
  #
9990
10670
  # @option params [required, String] :action_name
9991
- # The friendly name for the mitigation action. You can't change the
10671
+ # The friendly name for the mitigation action. You cannot change the
9992
10672
  # name by using `UpdateMitigationAction`. Instead, you must delete and
9993
- # re-create the mitigation action with the new name.
10673
+ # recreate the mitigation action with the new name.
9994
10674
  #
9995
10675
  # @option params [String] :role_arn
9996
10676
  # The ARN of the IAM role that is used to apply the mitigation action.
@@ -10132,22 +10812,22 @@ module Aws::IoT
10132
10812
  # how often the audit takes place.
10133
10813
  #
10134
10814
  # @option params [String] :frequency
10135
- # How often the scheduled audit takes place. Can be one of "DAILY",
10136
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each audit
10137
- # 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.
10138
10818
  #
10139
10819
  # @option params [String] :day_of_month
10140
- # The day of the month on which the scheduled audit takes place. Can be
10141
- # "1" through "31" or "LAST". This field is required if the
10142
- # "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
10143
10823
  # specified, and the month does not have that many days, the audit takes
10144
10824
  # place on the "LAST" day of the month.
10145
10825
  #
10146
10826
  # @option params [String] :day_of_week
10147
- # The day of the week on which the scheduled audit takes place. Can be
10148
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
10149
- # "SAT". This field is required if the "frequency" parameter is set
10150
- # 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`.
10151
10831
  #
10152
10832
  # @option params [Array<String>] :target_check_names
10153
10833
  # Which checks are performed during the scheduled audit. Checks must be
@@ -10204,12 +10884,14 @@ module Aws::IoT
10204
10884
  #
10205
10885
  # A list of metrics whose data is retained (stored). By default, data is
10206
10886
  # retained for any metric used in the profile's `behaviors`, but it is
10207
- # 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.
10208
10889
  #
10209
10890
  # @option params [Array<Types::MetricToRetain>] :additional_metrics_to_retain_v2
10210
10891
  # A list of metrics whose data is retained (stored). By default, data is
10211
10892
  # retained for any metric used in the profile's behaviors, but it is
10212
- # 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.
10213
10895
  #
10214
10896
  # @option params [Boolean] :delete_behaviors
10215
10897
  # If true, delete all `behaviors` defined for this security profile. If
@@ -10259,11 +10941,14 @@ module Aws::IoT
10259
10941
  # operator: "IN", # accepts IN, NOT_IN
10260
10942
  # },
10261
10943
  # criteria: {
10262
- # 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
10263
10945
  # value: {
10264
10946
  # count: 1,
10265
10947
  # cidrs: ["Cidr"],
10266
10948
  # ports: [1],
10949
+ # number: 1.0,
10950
+ # numbers: [1.0],
10951
+ # strings: ["stringValue"],
10267
10952
  # },
10268
10953
  # duration_seconds: 1,
10269
10954
  # consecutive_datapoints_to_alarm: 1,
@@ -10271,7 +10956,11 @@ module Aws::IoT
10271
10956
  # statistical_threshold: {
10272
10957
  # statistic: "EvaluationStatistic",
10273
10958
  # },
10959
+ # ml_detection_config: {
10960
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
10961
+ # },
10274
10962
  # },
10963
+ # suppress_alerts: false,
10275
10964
  # },
10276
10965
  # ],
10277
10966
  # alert_targets: {
@@ -10306,16 +10995,23 @@ module Aws::IoT
10306
10995
  # resp.behaviors[0].metric #=> String
10307
10996
  # resp.behaviors[0].metric_dimension.dimension_name #=> String
10308
10997
  # resp.behaviors[0].metric_dimension.operator #=> String, one of "IN", "NOT_IN"
10309
- # 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"
10310
10999
  # resp.behaviors[0].criteria.value.count #=> Integer
10311
11000
  # resp.behaviors[0].criteria.value.cidrs #=> Array
10312
11001
  # resp.behaviors[0].criteria.value.cidrs[0] #=> String
10313
11002
  # resp.behaviors[0].criteria.value.ports #=> Array
10314
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
10315
11009
  # resp.behaviors[0].criteria.duration_seconds #=> Integer
10316
11010
  # resp.behaviors[0].criteria.consecutive_datapoints_to_alarm #=> Integer
10317
11011
  # resp.behaviors[0].criteria.consecutive_datapoints_to_clear #=> Integer
10318
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
10319
11015
  # resp.alert_targets #=> Hash
10320
11016
  # resp.alert_targets["AlertTargetType"].alert_target_arn #=> String
10321
11017
  # resp.alert_targets["AlertTargetType"].role_arn #=> String
@@ -10567,7 +11263,7 @@ module Aws::IoT
10567
11263
  #
10568
11264
  # resp = client.update_topic_rule_destination({
10569
11265
  # arn: "AwsArn", # required
10570
- # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR
11266
+ # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR, DELETING
10571
11267
  # })
10572
11268
  #
10573
11269
  # @overload update_topic_rule_destination(params = {})
@@ -10600,11 +11296,14 @@ module Aws::IoT
10600
11296
  # operator: "IN", # accepts IN, NOT_IN
10601
11297
  # },
10602
11298
  # criteria: {
10603
- # 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
10604
11300
  # value: {
10605
11301
  # count: 1,
10606
11302
  # cidrs: ["Cidr"],
10607
11303
  # ports: [1],
11304
+ # number: 1.0,
11305
+ # numbers: [1.0],
11306
+ # strings: ["stringValue"],
10608
11307
  # },
10609
11308
  # duration_seconds: 1,
10610
11309
  # consecutive_datapoints_to_alarm: 1,
@@ -10612,7 +11311,11 @@ module Aws::IoT
10612
11311
  # statistical_threshold: {
10613
11312
  # statistic: "EvaluationStatistic",
10614
11313
  # },
11314
+ # ml_detection_config: {
11315
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
11316
+ # },
10615
11317
  # },
11318
+ # suppress_alerts: false,
10616
11319
  # },
10617
11320
  # ],
10618
11321
  # })
@@ -10643,7 +11346,7 @@ module Aws::IoT
10643
11346
  params: params,
10644
11347
  config: config)
10645
11348
  context[:gem_name] = 'aws-sdk-iot'
10646
- context[:gem_version] = '1.62.0'
11349
+ context[:gem_version] = '1.67.0'
10647
11350
  Seahorse::Client::Request.new(handlers, context)
10648
11351
  end
10649
11352