aws-sdk-iot 1.63.0 → 1.68.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.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.68.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.63.0'
51
+ GEM_VERSION = '1.68.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
@@ -2052,22 +2133,22 @@ module Aws::IoT
2052
2133
  # Creates a scheduled audit that is run at a specified time interval.
2053
2134
  #
2054
2135
  # @option params [required, String] :frequency
2055
- # How often the scheduled audit takes place. Can be one of "DAILY",
2056
- # "WEEKLY", "BIWEEKLY" or "MONTHLY". The start time of each audit
2057
- # 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.
2058
2139
  #
2059
2140
  # @option params [String] :day_of_month
2060
- # The day of the month on which the scheduled audit takes place. Can be
2061
- # "1" through "31" or "LAST". This field is required if the
2062
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
2063
- # specified, and the month does not have that many days, the audit takes
2064
- # 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.
2065
2146
  #
2066
2147
  # @option params [String] :day_of_week
2067
- # The day of the week on which the scheduled audit takes place. Can be
2068
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
2069
- # "SAT". This field is required if the "frequency" parameter is set
2070
- # 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`.
2071
2152
  #
2072
2153
  # @option params [required, Array<String>] :target_check_names
2073
2154
  # Which checks are performed during the scheduled audit. Checks must be
@@ -2135,12 +2216,14 @@ module Aws::IoT
2135
2216
  #
2136
2217
  # A list of metrics whose data is retained (stored). By default, data is
2137
2218
  # retained for any metric used in the profile's `behaviors`, but it is
2138
- # 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.
2139
2221
  #
2140
2222
  # @option params [Array<Types::MetricToRetain>] :additional_metrics_to_retain_v2
2141
2223
  # A list of metrics whose data is retained (stored). By default, data is
2142
2224
  # retained for any metric used in the profile's `behaviors`, but it is
2143
- # 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.
2144
2227
  #
2145
2228
  # @option params [Array<Types::Tag>] :tags
2146
2229
  # Metadata that can be used to manage the security profile.
@@ -2164,11 +2247,14 @@ module Aws::IoT
2164
2247
  # operator: "IN", # accepts IN, NOT_IN
2165
2248
  # },
2166
2249
  # criteria: {
2167
- # 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
2168
2251
  # value: {
2169
2252
  # count: 1,
2170
2253
  # cidrs: ["Cidr"],
2171
2254
  # ports: [1],
2255
+ # number: 1.0,
2256
+ # numbers: [1.0],
2257
+ # strings: ["stringValue"],
2172
2258
  # },
2173
2259
  # duration_seconds: 1,
2174
2260
  # consecutive_datapoints_to_alarm: 1,
@@ -2176,7 +2262,11 @@ module Aws::IoT
2176
2262
  # statistical_threshold: {
2177
2263
  # statistic: "EvaluationStatistic",
2178
2264
  # },
2265
+ # ml_detection_config: {
2266
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
2267
+ # },
2179
2268
  # },
2269
+ # suppress_alerts: false,
2180
2270
  # },
2181
2271
  # ],
2182
2272
  # alert_targets: {
@@ -2651,6 +2741,15 @@ module Aws::IoT
2651
2741
  # },
2652
2742
  # },
2653
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
+ # },
2654
2753
  # },
2655
2754
  # ],
2656
2755
  # rule_disabled: false,
@@ -2813,6 +2912,15 @@ module Aws::IoT
2813
2912
  # },
2814
2913
  # },
2815
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
+ # },
2816
2924
  # },
2817
2925
  # },
2818
2926
  # tags: "String",
@@ -2842,15 +2950,29 @@ module Aws::IoT
2842
2950
  # http_url_configuration: {
2843
2951
  # confirmation_url: "Url", # required
2844
2952
  # },
2953
+ # vpc_configuration: {
2954
+ # subnet_ids: ["SubnetId"], # required
2955
+ # security_groups: ["SecurityGroupId"],
2956
+ # vpc_id: "VpcId", # required
2957
+ # role_arn: "AwsArn", # required
2958
+ # },
2845
2959
  # },
2846
2960
  # })
2847
2961
  #
2848
2962
  # @example Response structure
2849
2963
  #
2850
2964
  # resp.topic_rule_destination.arn #=> String
2851
- # 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
2852
2968
  # resp.topic_rule_destination.status_reason #=> String
2853
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
2854
2976
  #
2855
2977
  # @overload create_topic_rule_destination(params = {})
2856
2978
  # @param [Hash] params ({})
@@ -3020,6 +3142,38 @@ module Aws::IoT
3020
3142
  req.send_request(options)
3021
3143
  end
3022
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
+
3023
3177
  # Removes the specified dimension from your AWS account.
3024
3178
  #
3025
3179
  # @option params [required, String] :name
@@ -3239,12 +3393,15 @@ module Aws::IoT
3239
3393
  # The ID of the OTA update to delete.
3240
3394
  #
3241
3395
  # @option params [Boolean] :delete_stream
3242
- # Specifies if the stream associated with an OTA update should be
3243
- # 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.
3244
3399
  #
3245
3400
  # @option params [Boolean] :force_delete_aws_job
3246
- # Specifies if the AWS Job associated with the OTA update should be
3247
- # 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.
3248
3405
  #
3249
3406
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3250
3407
  #
@@ -3661,8 +3818,8 @@ module Aws::IoT
3661
3818
  end
3662
3819
 
3663
3820
  # Gets information about a single audit finding. Properties include the
3664
- # reason for noncompliance, the severity of the issue, and when the
3665
- # 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.
3666
3823
  #
3667
3824
  # @option params [required, String] :finding_id
3668
3825
  # A unique identifier for a single audit finding. You can use this
@@ -3743,7 +3900,7 @@ module Aws::IoT
3743
3900
  # @example Request syntax with placeholder values
3744
3901
  #
3745
3902
  # resp = client.describe_audit_mitigation_actions_task({
3746
- # task_id: "AuditMitigationActionsTaskId", # required
3903
+ # task_id: "MitigationActionsTaskId", # required
3747
3904
  # })
3748
3905
  #
3749
3906
  # @example Response structure
@@ -4053,6 +4210,42 @@ module Aws::IoT
4053
4210
  req.send_request(options)
4054
4211
  end
4055
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
+
4056
4249
  # Describes the default authorizer.
4057
4250
  #
4058
4251
  # @return [Types::DescribeDefaultAuthorizerResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -4079,6 +4272,59 @@ module Aws::IoT
4079
4272
  req.send_request(options)
4080
4273
  end
4081
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
+
4082
4328
  # Provides details about a dimension that is defined in your AWS
4083
4329
  # account.
4084
4330
  #
@@ -4612,16 +4858,23 @@ module Aws::IoT
4612
4858
  # resp.behaviors[0].metric #=> String
4613
4859
  # resp.behaviors[0].metric_dimension.dimension_name #=> String
4614
4860
  # resp.behaviors[0].metric_dimension.operator #=> String, one of "IN", "NOT_IN"
4615
- # 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"
4616
4862
  # resp.behaviors[0].criteria.value.count #=> Integer
4617
4863
  # resp.behaviors[0].criteria.value.cidrs #=> Array
4618
4864
  # resp.behaviors[0].criteria.value.cidrs[0] #=> String
4619
4865
  # resp.behaviors[0].criteria.value.ports #=> Array
4620
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
4621
4872
  # resp.behaviors[0].criteria.duration_seconds #=> Integer
4622
4873
  # resp.behaviors[0].criteria.consecutive_datapoints_to_alarm #=> Integer
4623
4874
  # resp.behaviors[0].criteria.consecutive_datapoints_to_clear #=> Integer
4624
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
4625
4878
  # resp.alert_targets #=> Hash
4626
4879
  # resp.alert_targets["AlertTargetType"].alert_target_arn #=> String
4627
4880
  # resp.alert_targets["AlertTargetType"].role_arn #=> String
@@ -5012,6 +5265,52 @@ module Aws::IoT
5012
5265
  req.send_request(options)
5013
5266
  end
5014
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
+
5015
5314
  # Returns the approximate count of unique values that match the query.
5016
5315
  #
5017
5316
  # @option params [String] :index_name
@@ -5565,6 +5864,12 @@ module Aws::IoT
5565
5864
  # resp.rule.actions[0].http.auth.sigv4.signing_region #=> String
5566
5865
  # resp.rule.actions[0].http.auth.sigv4.service_name #=> String
5567
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
5568
5873
  # resp.rule.rule_disabled #=> Boolean
5569
5874
  # resp.rule.aws_iot_sql_version #=> String
5570
5875
  # resp.rule.error_action.dynamo_db.table_name #=> String
@@ -5660,6 +5965,12 @@ module Aws::IoT
5660
5965
  # resp.rule.error_action.http.auth.sigv4.signing_region #=> String
5661
5966
  # resp.rule.error_action.http.auth.sigv4.service_name #=> String
5662
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
5663
5974
  #
5664
5975
  # @overload get_topic_rule(params = {})
5665
5976
  # @param [Hash] params ({})
@@ -5686,9 +5997,17 @@ module Aws::IoT
5686
5997
  # @example Response structure
5687
5998
  #
5688
5999
  # resp.topic_rule_destination.arn #=> String
5689
- # 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
5690
6003
  # resp.topic_rule_destination.status_reason #=> String
5691
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
5692
6011
  #
5693
6012
  # @overload get_topic_rule_destination(params = {})
5694
6013
  # @param [Hash] params ({})
@@ -5728,6 +6047,12 @@ module Aws::IoT
5728
6047
  # The name of the Device Defender security profile for which violations
5729
6048
  # are listed.
5730
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
+ #
5731
6056
  # @option params [String] :next_token
5732
6057
  # The token for the next set of results.
5733
6058
  #
@@ -5746,6 +6071,8 @@ module Aws::IoT
5746
6071
  # resp = client.list_active_violations({
5747
6072
  # thing_name: "DeviceDefenderThingName",
5748
6073
  # security_profile_name: "SecurityProfileName",
6074
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
6075
+ # list_suppressed_alerts: false,
5749
6076
  # next_token: "NextToken",
5750
6077
  # max_results: 1,
5751
6078
  # })
@@ -5760,21 +6087,34 @@ module Aws::IoT
5760
6087
  # resp.active_violations[0].behavior.metric #=> String
5761
6088
  # resp.active_violations[0].behavior.metric_dimension.dimension_name #=> String
5762
6089
  # resp.active_violations[0].behavior.metric_dimension.operator #=> String, one of "IN", "NOT_IN"
5763
- # 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"
5764
6091
  # resp.active_violations[0].behavior.criteria.value.count #=> Integer
5765
6092
  # resp.active_violations[0].behavior.criteria.value.cidrs #=> Array
5766
6093
  # resp.active_violations[0].behavior.criteria.value.cidrs[0] #=> String
5767
6094
  # resp.active_violations[0].behavior.criteria.value.ports #=> Array
5768
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
5769
6101
  # resp.active_violations[0].behavior.criteria.duration_seconds #=> Integer
5770
6102
  # resp.active_violations[0].behavior.criteria.consecutive_datapoints_to_alarm #=> Integer
5771
6103
  # resp.active_violations[0].behavior.criteria.consecutive_datapoints_to_clear #=> Integer
5772
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
5773
6107
  # resp.active_violations[0].last_violation_value.count #=> Integer
5774
6108
  # resp.active_violations[0].last_violation_value.cidrs #=> Array
5775
6109
  # resp.active_violations[0].last_violation_value.cidrs[0] #=> String
5776
6110
  # resp.active_violations[0].last_violation_value.ports #=> Array
5777
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"
5778
6118
  # resp.active_violations[0].last_violation_time #=> Time
5779
6119
  # resp.active_violations[0].violation_start_time #=> Time
5780
6120
  # resp.next_token #=> String
@@ -5981,7 +6321,7 @@ module Aws::IoT
5981
6321
  # @example Request syntax with placeholder values
5982
6322
  #
5983
6323
  # resp = client.list_audit_mitigation_actions_executions({
5984
- # task_id: "AuditMitigationActionsTaskId", # required
6324
+ # task_id: "MitigationActionsTaskId", # required
5985
6325
  # action_status: "IN_PROGRESS", # accepts IN_PROGRESS, COMPLETED, FAILED, CANCELED, SKIPPED, PENDING
5986
6326
  # finding_id: "FindingId", # required
5987
6327
  # max_results: 1,
@@ -6437,6 +6777,184 @@ module Aws::IoT
6437
6777
  req.send_request(options)
6438
6778
  end
6439
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
+
6440
6958
  # List the set of dimensions that are defined for your AWS account.
6441
6959
  #
6442
6960
  # @option params [String] :next_token
@@ -7255,9 +7773,12 @@ module Aws::IoT
7255
7773
  req.send_request(options)
7256
7774
  end
7257
7775
 
7258
- # Lists the Device Defender security profiles you have created. You can
7259
- # use filters to list only those security profiles associated with a
7260
- # 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>
7261
7782
  #
7262
7783
  # @option params [String] :next_token
7263
7784
  # The token for the next set of results.
@@ -7267,7 +7788,10 @@ module Aws::IoT
7267
7788
  #
7268
7789
  # @option params [String] :dimension_name
7269
7790
  # A filter to limit results to the security profiles that use the
7270
- # 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`.
7271
7795
  #
7272
7796
  # @return [Types::ListSecurityProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7273
7797
  #
@@ -7282,6 +7806,7 @@ module Aws::IoT
7282
7806
  # next_token: "NextToken",
7283
7807
  # max_results: 1,
7284
7808
  # dimension_name: "DimensionName",
7809
+ # metric_name: "MetricName",
7285
7810
  # })
7286
7811
  #
7287
7812
  # @example Response structure
@@ -7807,6 +8332,14 @@ module Aws::IoT
7807
8332
  # @option params [String] :thing_type_name
7808
8333
  # The name of the thing type used to search for things.
7809
8334
  #
8335
+ # @option params [Boolean] :use_prefix_attribute_value
8336
+ # When `true`, the action returns the thing resources with attribute
8337
+ # values that start with the `attributeValue` provided.
8338
+ #
8339
+ # When `false`, or not present, the action returns only the thing
8340
+ # resources with attribute values that match the entire `attributeValue`
8341
+ # provided.
8342
+ #
7810
8343
  # @return [Types::ListThingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7811
8344
  #
7812
8345
  # * {Types::ListThingsResponse#things #things} => Array&lt;Types::ThingAttribute&gt;
@@ -7822,6 +8355,7 @@ module Aws::IoT
7822
8355
  # attribute_name: "AttributeName",
7823
8356
  # attribute_value: "AttributeValue",
7824
8357
  # thing_type_name: "ThingTypeName",
8358
+ # use_prefix_attribute_value: false,
7825
8359
  # })
7826
8360
  #
7827
8361
  # @example Response structure
@@ -7957,9 +8491,17 @@ module Aws::IoT
7957
8491
  #
7958
8492
  # resp.destination_summaries #=> Array
7959
8493
  # resp.destination_summaries[0].arn #=> String
7960
- # resp.destination_summaries[0].status #=> String, one of "ENABLED", "IN_PROGRESS", "DISABLED", "ERROR"
8494
+ # resp.destination_summaries[0].status #=> String, one of "ENABLED", "IN_PROGRESS", "DISABLED", "ERROR", "DELETING"
8495
+ # resp.destination_summaries[0].created_at #=> Time
8496
+ # resp.destination_summaries[0].last_updated_at #=> Time
7961
8497
  # resp.destination_summaries[0].status_reason #=> String
7962
8498
  # resp.destination_summaries[0].http_url_summary.confirmation_url #=> String
8499
+ # resp.destination_summaries[0].vpc_destination_summary.subnet_ids #=> Array
8500
+ # resp.destination_summaries[0].vpc_destination_summary.subnet_ids[0] #=> String
8501
+ # resp.destination_summaries[0].vpc_destination_summary.security_groups #=> Array
8502
+ # resp.destination_summaries[0].vpc_destination_summary.security_groups[0] #=> String
8503
+ # resp.destination_summaries[0].vpc_destination_summary.vpc_id #=> String
8504
+ # resp.destination_summaries[0].vpc_destination_summary.role_arn #=> String
7963
8505
  # resp.next_token #=> String
7964
8506
  #
7965
8507
  # @overload list_topic_rule_destinations(params = {})
@@ -8081,6 +8623,12 @@ module Aws::IoT
8081
8623
  # A filter to limit results to those alerts generated by the specified
8082
8624
  # security profile.
8083
8625
  #
8626
+ # @option params [String] :behavior_criteria_type
8627
+ # The criteria for a behavior.
8628
+ #
8629
+ # @option params [Boolean] :list_suppressed_alerts
8630
+ # A list of all suppressed alerts.
8631
+ #
8084
8632
  # @option params [String] :next_token
8085
8633
  # The token for the next set of results.
8086
8634
  #
@@ -8101,6 +8649,8 @@ module Aws::IoT
8101
8649
  # end_time: Time.now, # required
8102
8650
  # thing_name: "DeviceDefenderThingName",
8103
8651
  # security_profile_name: "SecurityProfileName",
8652
+ # behavior_criteria_type: "STATIC", # accepts STATIC, STATISTICAL, MACHINE_LEARNING
8653
+ # list_suppressed_alerts: false,
8104
8654
  # next_token: "NextToken",
8105
8655
  # max_results: 1,
8106
8656
  # })
@@ -8115,21 +8665,34 @@ module Aws::IoT
8115
8665
  # resp.violation_events[0].behavior.metric #=> String
8116
8666
  # resp.violation_events[0].behavior.metric_dimension.dimension_name #=> String
8117
8667
  # resp.violation_events[0].behavior.metric_dimension.operator #=> String, one of "IN", "NOT_IN"
8118
- # 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"
8668
+ # 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"
8119
8669
  # resp.violation_events[0].behavior.criteria.value.count #=> Integer
8120
8670
  # resp.violation_events[0].behavior.criteria.value.cidrs #=> Array
8121
8671
  # resp.violation_events[0].behavior.criteria.value.cidrs[0] #=> String
8122
8672
  # resp.violation_events[0].behavior.criteria.value.ports #=> Array
8123
8673
  # resp.violation_events[0].behavior.criteria.value.ports[0] #=> Integer
8674
+ # resp.violation_events[0].behavior.criteria.value.number #=> Float
8675
+ # resp.violation_events[0].behavior.criteria.value.numbers #=> Array
8676
+ # resp.violation_events[0].behavior.criteria.value.numbers[0] #=> Float
8677
+ # resp.violation_events[0].behavior.criteria.value.strings #=> Array
8678
+ # resp.violation_events[0].behavior.criteria.value.strings[0] #=> String
8124
8679
  # resp.violation_events[0].behavior.criteria.duration_seconds #=> Integer
8125
8680
  # resp.violation_events[0].behavior.criteria.consecutive_datapoints_to_alarm #=> Integer
8126
8681
  # resp.violation_events[0].behavior.criteria.consecutive_datapoints_to_clear #=> Integer
8127
8682
  # resp.violation_events[0].behavior.criteria.statistical_threshold.statistic #=> String
8683
+ # resp.violation_events[0].behavior.criteria.ml_detection_config.confidence_level #=> String, one of "LOW", "MEDIUM", "HIGH"
8684
+ # resp.violation_events[0].behavior.suppress_alerts #=> Boolean
8128
8685
  # resp.violation_events[0].metric_value.count #=> Integer
8129
8686
  # resp.violation_events[0].metric_value.cidrs #=> Array
8130
8687
  # resp.violation_events[0].metric_value.cidrs[0] #=> String
8131
8688
  # resp.violation_events[0].metric_value.ports #=> Array
8132
8689
  # resp.violation_events[0].metric_value.ports[0] #=> Integer
8690
+ # resp.violation_events[0].metric_value.number #=> Float
8691
+ # resp.violation_events[0].metric_value.numbers #=> Array
8692
+ # resp.violation_events[0].metric_value.numbers[0] #=> Float
8693
+ # resp.violation_events[0].metric_value.strings #=> Array
8694
+ # resp.violation_events[0].metric_value.strings[0] #=> String
8695
+ # resp.violation_events[0].violation_event_additional_info.confidence_level #=> String, one of "LOW", "MEDIUM", "HIGH"
8133
8696
  # resp.violation_events[0].violation_event_type #=> String, one of "in-alarm", "alarm-cleared", "alarm-invalidated"
8134
8697
  # resp.violation_events[0].violation_event_time #=> Time
8135
8698
  # resp.next_token #=> String
@@ -8628,6 +9191,15 @@ module Aws::IoT
8628
9191
  # },
8629
9192
  # },
8630
9193
  # },
9194
+ # kafka: {
9195
+ # destination_arn: "AwsArn", # required
9196
+ # topic: "String", # required
9197
+ # key: "String",
9198
+ # partition: "String",
9199
+ # client_properties: { # required
9200
+ # "String" => "String",
9201
+ # },
9202
+ # },
8631
9203
  # },
8632
9204
  # ],
8633
9205
  # rule_disabled: false,
@@ -8790,6 +9362,15 @@ module Aws::IoT
8790
9362
  # },
8791
9363
  # },
8792
9364
  # },
9365
+ # kafka: {
9366
+ # destination_arn: "AwsArn", # required
9367
+ # topic: "String", # required
9368
+ # key: "String",
9369
+ # partition: "String",
9370
+ # client_properties: { # required
9371
+ # "String" => "String",
9372
+ # },
9373
+ # },
8793
9374
  # },
8794
9375
  # },
8795
9376
  # })
@@ -9012,7 +9593,7 @@ module Aws::IoT
9012
9593
  # @option params [required, Types::AuditMitigationActionsTaskTarget] :target
9013
9594
  # Specifies the audit findings to which the mitigation actions are
9014
9595
  # applied. You can apply them to a type of audit check, to all findings
9015
- # from an audit, or to a speecific set of findings.
9596
+ # from an audit, or to a specific set of findings.
9016
9597
  #
9017
9598
  # @option params [required, Hash<String,Array>] :audit_check_to_actions_mapping
9018
9599
  # For an audit check, specifies which mitigation actions to apply. Those
@@ -9034,7 +9615,7 @@ module Aws::IoT
9034
9615
  # @example Request syntax with placeholder values
9035
9616
  #
9036
9617
  # resp = client.start_audit_mitigation_actions_task({
9037
- # task_id: "AuditMitigationActionsTaskId", # required
9618
+ # task_id: "MitigationActionsTaskId", # required
9038
9619
  # target: { # required
9039
9620
  # audit_task_id: "AuditTaskId",
9040
9621
  # finding_ids: ["FindingId"],
@@ -9059,6 +9640,70 @@ module Aws::IoT
9059
9640
  req.send_request(options)
9060
9641
  end
9061
9642
 
9643
+ # Starts a Device Defender ML Detect mitigation actions task.
9644
+ #
9645
+ # @option params [required, String] :task_id
9646
+ # The unique identifier of the task.
9647
+ #
9648
+ # @option params [required, Types::DetectMitigationActionsTaskTarget] :target
9649
+ # Specifies the ML Detect findings to which the mitigation actions are
9650
+ # applied.
9651
+ #
9652
+ # @option params [required, Array<String>] :actions
9653
+ # The actions to be performed when a device has unexpected behavior.
9654
+ #
9655
+ # @option params [Types::ViolationEventOccurrenceRange] :violation_event_occurrence_range
9656
+ # Specifies the time period of which violation events occurred between.
9657
+ #
9658
+ # @option params [Boolean] :include_only_active_violations
9659
+ # Specifies to list only active violations.
9660
+ #
9661
+ # @option params [Boolean] :include_suppressed_alerts
9662
+ # Specifies to include suppressed alerts.
9663
+ #
9664
+ # @option params [required, String] :client_request_token
9665
+ # Each mitigation action task must have a unique client request token.
9666
+ # If you try to create a new task with the same token as a task that
9667
+ # already exists, an exception occurs. If you omit this value, AWS SDKs
9668
+ # will automatically generate a unique client request.
9669
+ #
9670
+ # **A suitable default value is auto-generated.** You should normally
9671
+ # not need to pass this option.**
9672
+ #
9673
+ # @return [Types::StartDetectMitigationActionsTaskResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9674
+ #
9675
+ # * {Types::StartDetectMitigationActionsTaskResponse#task_id #task_id} => String
9676
+ #
9677
+ # @example Request syntax with placeholder values
9678
+ #
9679
+ # resp = client.start_detect_mitigation_actions_task({
9680
+ # task_id: "MitigationActionsTaskId", # required
9681
+ # target: { # required
9682
+ # violation_ids: ["ViolationId"],
9683
+ # security_profile_name: "SecurityProfileName",
9684
+ # behavior_name: "BehaviorName",
9685
+ # },
9686
+ # actions: ["MitigationActionName"], # required
9687
+ # violation_event_occurrence_range: {
9688
+ # start_time: Time.now, # required
9689
+ # end_time: Time.now, # required
9690
+ # },
9691
+ # include_only_active_violations: false,
9692
+ # include_suppressed_alerts: false,
9693
+ # client_request_token: "ClientRequestToken", # required
9694
+ # })
9695
+ #
9696
+ # @example Response structure
9697
+ #
9698
+ # resp.task_id #=> String
9699
+ #
9700
+ # @overload start_detect_mitigation_actions_task(params = {})
9701
+ # @param [Hash] params ({})
9702
+ def start_detect_mitigation_actions_task(params = {}, options = {})
9703
+ req = build_request(:start_detect_mitigation_actions_task, params)
9704
+ req.send_request(options)
9705
+ end
9706
+
9062
9707
  # Starts an on-demand Device Defender audit.
9063
9708
  #
9064
9709
  # @option params [required, Array<String>] :target_check_names
@@ -9399,9 +10044,9 @@ module Aws::IoT
9399
10044
  # audit checks are enabled or disabled.
9400
10045
  #
9401
10046
  # @option params [String] :role_arn
9402
- # The ARN of the role that grants permission to AWS IoT to access
9403
- # information about your devices, policies, certificates and other items
9404
- # as required when performing an audit.
10047
+ # The Amazon Resource Name (ARN) of the role that grants permission to
10048
+ # AWS IoT to access information about your devices, policies,
10049
+ # certificates, and other items as required when performing an audit.
9405
10050
  #
9406
10051
  # @option params [Hash<String,Types::AuditNotificationTarget>] :audit_notification_target_configurations
9407
10052
  # Information about the targets to which audit notifications are sent.
@@ -9415,7 +10060,7 @@ module Aws::IoT
9415
10060
  # enabled. When a check is disabled, any data collected so far in
9416
10061
  # relation to the check is deleted.
9417
10062
  #
9418
- # You cannot disable a check if it is used by any scheduled audit. You
10063
+ # You cannot disable a check if it's used by any scheduled audit. You
9419
10064
  # must first delete the check from the scheduled audit or delete the
9420
10065
  # scheduled audit itself.
9421
10066
  #
@@ -9671,8 +10316,50 @@ module Aws::IoT
9671
10316
  req.send_request(options)
9672
10317
  end
9673
10318
 
10319
+ # Updates a Device Defender detect custom metric.
10320
+ #
10321
+ # @option params [required, String] :metric_name
10322
+ # The name of the custom metric. Cannot be updated.
10323
+ #
10324
+ # @option params [required, String] :display_name
10325
+ # Field represents a friendly name in the console for the custom metric,
10326
+ # it doesn't have to be unique. Don't use this name as the metric
10327
+ # identifier in the device metric report. Can be updated.
10328
+ #
10329
+ # @return [Types::UpdateCustomMetricResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10330
+ #
10331
+ # * {Types::UpdateCustomMetricResponse#metric_name #metric_name} => String
10332
+ # * {Types::UpdateCustomMetricResponse#metric_arn #metric_arn} => String
10333
+ # * {Types::UpdateCustomMetricResponse#metric_type #metric_type} => String
10334
+ # * {Types::UpdateCustomMetricResponse#display_name #display_name} => String
10335
+ # * {Types::UpdateCustomMetricResponse#creation_date #creation_date} => Time
10336
+ # * {Types::UpdateCustomMetricResponse#last_modified_date #last_modified_date} => Time
10337
+ #
10338
+ # @example Request syntax with placeholder values
10339
+ #
10340
+ # resp = client.update_custom_metric({
10341
+ # metric_name: "MetricName", # required
10342
+ # display_name: "CustomMetricDisplayName", # required
10343
+ # })
10344
+ #
10345
+ # @example Response structure
10346
+ #
10347
+ # resp.metric_name #=> String
10348
+ # resp.metric_arn #=> String
10349
+ # resp.metric_type #=> String, one of "string-list", "ip-address-list", "number-list", "number"
10350
+ # resp.display_name #=> String
10351
+ # resp.creation_date #=> Time
10352
+ # resp.last_modified_date #=> Time
10353
+ #
10354
+ # @overload update_custom_metric(params = {})
10355
+ # @param [Hash] params ({})
10356
+ def update_custom_metric(params = {}, options = {})
10357
+ req = build_request(:update_custom_metric, params)
10358
+ req.send_request(options)
10359
+ end
10360
+
9674
10361
  # Updates the definition for a dimension. You cannot change the type of
9675
- # a dimension after it is created (you can delete it and re-create it).
10362
+ # a dimension after it is created (you can delete it and recreate it).
9676
10363
  #
9677
10364
  # @option params [required, String] :name
9678
10365
  # A unique identifier for the dimension. Choose something that describes
@@ -9990,9 +10677,9 @@ module Aws::IoT
9990
10677
  # Updates the definition for the specified mitigation action.
9991
10678
  #
9992
10679
  # @option params [required, String] :action_name
9993
- # The friendly name for the mitigation action. You can't change the
10680
+ # The friendly name for the mitigation action. You cannot change the
9994
10681
  # name by using `UpdateMitigationAction`. Instead, you must delete and
9995
- # re-create the mitigation action with the new name.
10682
+ # recreate the mitigation action with the new name.
9996
10683
  #
9997
10684
  # @option params [String] :role_arn
9998
10685
  # The ARN of the IAM role that is used to apply the mitigation action.
@@ -10134,22 +10821,22 @@ module Aws::IoT
10134
10821
  # how often the audit takes place.
10135
10822
  #
10136
10823
  # @option params [String] :frequency
10137
- # How often the scheduled audit takes place. Can be one of "DAILY",
10138
- # "WEEKLY", "BIWEEKLY", or "MONTHLY". The start time of each audit
10139
- # is determined by the system.
10824
+ # How often the scheduled audit takes place, either `DAILY`, `WEEKLY`,
10825
+ # `BIWEEKLY`, or `MONTHLY`. The start time of each audit is determined
10826
+ # by the system.
10140
10827
  #
10141
10828
  # @option params [String] :day_of_month
10142
- # The day of the month on which the scheduled audit takes place. Can be
10143
- # "1" through "31" or "LAST". This field is required if the
10144
- # "frequency" parameter is set to "MONTHLY". If days 29-31 are
10829
+ # The day of the month on which the scheduled audit takes place. This
10830
+ # can be `1` through `31` or `LAST`. This field is required if the
10831
+ # `frequency` parameter is set to `MONTHLY`. If days 29-31 are
10145
10832
  # specified, and the month does not have that many days, the audit takes
10146
10833
  # place on the "LAST" day of the month.
10147
10834
  #
10148
10835
  # @option params [String] :day_of_week
10149
- # The day of the week on which the scheduled audit takes place. Can be
10150
- # one of "SUN", "MON", "TUE", "WED", "THU", "FRI", or
10151
- # "SAT". This field is required if the "frequency" parameter is set
10152
- # to "WEEKLY" or "BIWEEKLY".
10836
+ # The day of the week on which the scheduled audit takes place. This can
10837
+ # be one of `SUN`, `MON`, `TUE`, `WED`, `THU`, `FRI`, or `SAT`. This
10838
+ # field is required if the "frequency" parameter is set to `WEEKLY` or
10839
+ # `BIWEEKLY`.
10153
10840
  #
10154
10841
  # @option params [Array<String>] :target_check_names
10155
10842
  # Which checks are performed during the scheduled audit. Checks must be
@@ -10206,12 +10893,14 @@ module Aws::IoT
10206
10893
  #
10207
10894
  # A list of metrics whose data is retained (stored). By default, data is
10208
10895
  # retained for any metric used in the profile's `behaviors`, but it is
10209
- # also retained for any metric specified here.
10896
+ # also retained for any metric specified here. Can be used with custom
10897
+ # metrics; cannot be used with dimensions.
10210
10898
  #
10211
10899
  # @option params [Array<Types::MetricToRetain>] :additional_metrics_to_retain_v2
10212
10900
  # A list of metrics whose data is retained (stored). By default, data is
10213
10901
  # retained for any metric used in the profile's behaviors, but it is
10214
- # also retained for any metric specified here.
10902
+ # also retained for any metric specified here. Can be used with custom
10903
+ # metrics; cannot be used with dimensions.
10215
10904
  #
10216
10905
  # @option params [Boolean] :delete_behaviors
10217
10906
  # If true, delete all `behaviors` defined for this security profile. If
@@ -10261,11 +10950,14 @@ module Aws::IoT
10261
10950
  # operator: "IN", # accepts IN, NOT_IN
10262
10951
  # },
10263
10952
  # criteria: {
10264
- # 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
10953
+ # 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
10265
10954
  # value: {
10266
10955
  # count: 1,
10267
10956
  # cidrs: ["Cidr"],
10268
10957
  # ports: [1],
10958
+ # number: 1.0,
10959
+ # numbers: [1.0],
10960
+ # strings: ["stringValue"],
10269
10961
  # },
10270
10962
  # duration_seconds: 1,
10271
10963
  # consecutive_datapoints_to_alarm: 1,
@@ -10273,7 +10965,11 @@ module Aws::IoT
10273
10965
  # statistical_threshold: {
10274
10966
  # statistic: "EvaluationStatistic",
10275
10967
  # },
10968
+ # ml_detection_config: {
10969
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
10970
+ # },
10276
10971
  # },
10972
+ # suppress_alerts: false,
10277
10973
  # },
10278
10974
  # ],
10279
10975
  # alert_targets: {
@@ -10308,16 +11004,23 @@ module Aws::IoT
10308
11004
  # resp.behaviors[0].metric #=> String
10309
11005
  # resp.behaviors[0].metric_dimension.dimension_name #=> String
10310
11006
  # resp.behaviors[0].metric_dimension.operator #=> String, one of "IN", "NOT_IN"
10311
- # 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"
11007
+ # 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"
10312
11008
  # resp.behaviors[0].criteria.value.count #=> Integer
10313
11009
  # resp.behaviors[0].criteria.value.cidrs #=> Array
10314
11010
  # resp.behaviors[0].criteria.value.cidrs[0] #=> String
10315
11011
  # resp.behaviors[0].criteria.value.ports #=> Array
10316
11012
  # resp.behaviors[0].criteria.value.ports[0] #=> Integer
11013
+ # resp.behaviors[0].criteria.value.number #=> Float
11014
+ # resp.behaviors[0].criteria.value.numbers #=> Array
11015
+ # resp.behaviors[0].criteria.value.numbers[0] #=> Float
11016
+ # resp.behaviors[0].criteria.value.strings #=> Array
11017
+ # resp.behaviors[0].criteria.value.strings[0] #=> String
10317
11018
  # resp.behaviors[0].criteria.duration_seconds #=> Integer
10318
11019
  # resp.behaviors[0].criteria.consecutive_datapoints_to_alarm #=> Integer
10319
11020
  # resp.behaviors[0].criteria.consecutive_datapoints_to_clear #=> Integer
10320
11021
  # resp.behaviors[0].criteria.statistical_threshold.statistic #=> String
11022
+ # resp.behaviors[0].criteria.ml_detection_config.confidence_level #=> String, one of "LOW", "MEDIUM", "HIGH"
11023
+ # resp.behaviors[0].suppress_alerts #=> Boolean
10321
11024
  # resp.alert_targets #=> Hash
10322
11025
  # resp.alert_targets["AlertTargetType"].alert_target_arn #=> String
10323
11026
  # resp.alert_targets["AlertTargetType"].role_arn #=> String
@@ -10569,7 +11272,7 @@ module Aws::IoT
10569
11272
  #
10570
11273
  # resp = client.update_topic_rule_destination({
10571
11274
  # arn: "AwsArn", # required
10572
- # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR
11275
+ # status: "ENABLED", # required, accepts ENABLED, IN_PROGRESS, DISABLED, ERROR, DELETING
10573
11276
  # })
10574
11277
  #
10575
11278
  # @overload update_topic_rule_destination(params = {})
@@ -10602,11 +11305,14 @@ module Aws::IoT
10602
11305
  # operator: "IN", # accepts IN, NOT_IN
10603
11306
  # },
10604
11307
  # criteria: {
10605
- # 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
11308
+ # 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
10606
11309
  # value: {
10607
11310
  # count: 1,
10608
11311
  # cidrs: ["Cidr"],
10609
11312
  # ports: [1],
11313
+ # number: 1.0,
11314
+ # numbers: [1.0],
11315
+ # strings: ["stringValue"],
10610
11316
  # },
10611
11317
  # duration_seconds: 1,
10612
11318
  # consecutive_datapoints_to_alarm: 1,
@@ -10614,7 +11320,11 @@ module Aws::IoT
10614
11320
  # statistical_threshold: {
10615
11321
  # statistic: "EvaluationStatistic",
10616
11322
  # },
11323
+ # ml_detection_config: {
11324
+ # confidence_level: "LOW", # required, accepts LOW, MEDIUM, HIGH
11325
+ # },
10617
11326
  # },
11327
+ # suppress_alerts: false,
10618
11328
  # },
10619
11329
  # ],
10620
11330
  # })
@@ -10645,7 +11355,7 @@ module Aws::IoT
10645
11355
  params: params,
10646
11356
  config: config)
10647
11357
  context[:gem_name] = 'aws-sdk-iot'
10648
- context[:gem_version] = '1.63.0'
11358
+ context[:gem_version] = '1.68.0'
10649
11359
  Seahorse::Client::Request.new(handlers, context)
10650
11360
  end
10651
11361