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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +408 -0
- data/LICENSE.txt +202 -0
- data/VERSION +1 -0
- data/lib/aws-sdk-iot.rb +2 -2
- data/lib/aws-sdk-iot/client.rb +772 -62
- data/lib/aws-sdk-iot/client_api.rb +454 -9
- data/lib/aws-sdk-iot/customizations.rb +1 -1
- data/lib/aws-sdk-iot/errors.rb +1 -1
- data/lib/aws-sdk-iot/resource.rb +1 -1
- data/lib/aws-sdk-iot/types.rb +1310 -108
- metadata +10 -7
    
        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/ | 
| 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. | 
| 51 | 
            +
              GEM_VERSION = '1.68.0'
         | 
| 52 52 |  | 
| 53 53 | 
             
            end
         | 
    
        data/lib/aws-sdk-iot/client.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/ | 
| 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: " | 
| 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 | 
| 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 | 
| 2056 | 
            -
                #    | 
| 2057 | 
            -
                #    | 
| 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.  | 
| 2061 | 
            -
                #   "1" through "31" or "LAST". This field is required if the
         | 
| 2062 | 
            -
                #   "frequency" parameter is set to  | 
| 2063 | 
            -
                #   specified, and the month  | 
| 2064 | 
            -
                #   place on the  | 
| 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 | 
| 2068 | 
            -
                #    | 
| 2069 | 
            -
                #    | 
| 2070 | 
            -
                #    | 
| 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 | 
            -
                #    | 
| 3243 | 
            -
                #    | 
| 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 | 
            -
                #    | 
| 3247 | 
            -
                #    | 
| 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  | 
| 3665 | 
            -
                # audit that returned the finding | 
| 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: " | 
| 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<Types::BehaviorModelTrainingSummary>
         | 
| 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: " | 
| 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<String>
         | 
| 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<Types::DetectMitigationActionExecution>
         | 
| 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<Types::DetectMitigationActionsTaskSummary>
         | 
| 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  | 
| 7259 | 
            -
                #  | 
| 7260 | 
            -
                # | 
| 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<Types::ThingAttribute>
         | 
| @@ -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  | 
| 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: " | 
| 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 | 
| 9403 | 
            -
                #   information about your devices, policies, | 
| 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  | 
| 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  | 
| 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  | 
| 10680 | 
            +
                #   The friendly name for the mitigation action. You cannot change the
         | 
| 9994 10681 | 
             
                #   name by using `UpdateMitigationAction`. Instead, you must delete and
         | 
| 9995 | 
            -
                #    | 
| 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 | 
| 10138 | 
            -
                #    | 
| 10139 | 
            -
                #    | 
| 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.  | 
| 10143 | 
            -
                #    | 
| 10144 | 
            -
                #    | 
| 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.  | 
| 10150 | 
            -
                #   one of  | 
| 10151 | 
            -
                #    | 
| 10152 | 
            -
                #    | 
| 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. | 
| 11358 | 
            +
                  context[:gem_version] = '1.68.0'
         | 
| 10649 11359 | 
             
                  Seahorse::Client::Request.new(handlers, context)
         | 
| 10650 11360 | 
             
                end
         | 
| 10651 11361 |  |