aws-sdk-iot 1.62.0 → 1.67.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.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