aws-sdk-iot 1.45.0 → 1.50.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,13 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::IoT
9
- # This class provides a resource oriented interface for IoT.
10
- # To create a resource object:
11
- # resource = Aws::IoT::Resource.new(region: 'us-west-2')
12
- # You can supply a client object with custom configuration that will be used for all resource operations.
13
- # If you do not pass +:client+, a default client will be constructed.
14
- # client = Aws::IoT::Client.new(region: 'us-west-2')
15
- # resource = Aws::IoT::Resource.new(client: client)
9
+
16
10
  class Resource
17
11
 
18
12
  # @param options ({})
@@ -293,7 +293,7 @@ module Aws::IoT
293
293
  # @return [Types::CloudwatchAlarmAction]
294
294
  #
295
295
  # @!attribute [rw] cloudwatch_logs
296
- # Send data to CloudWatch logs.
296
+ # Send data to CloudWatch Logs.
297
297
  # @return [Types::CloudwatchLogsAction]
298
298
  #
299
299
  # @!attribute [rw] elasticsearch
@@ -1134,7 +1134,7 @@ module Aws::IoT
1134
1134
  #
1135
1135
  # {
1136
1136
  # action_type: "PUBLISH", # accepts PUBLISH, SUBSCRIBE, RECEIVE, CONNECT
1137
- # resources: ["Resource"],
1137
+ # resources: ["Resource"], # required
1138
1138
  # }
1139
1139
  #
1140
1140
  # @!attribute [rw] action_type
@@ -1327,6 +1327,10 @@ module Aws::IoT
1327
1327
  # {
1328
1328
  # name: "BehaviorName", # required
1329
1329
  # metric: "BehaviorMetric",
1330
+ # metric_dimension: {
1331
+ # dimension_name: "DimensionName", # required
1332
+ # operator: "IN", # accepts IN, NOT_IN
1333
+ # },
1330
1334
  # criteria: {
1331
1335
  # 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
1332
1336
  # value: {
@@ -1351,6 +1355,13 @@ module Aws::IoT
1351
1355
  # What is measured by the behavior.
1352
1356
  # @return [String]
1353
1357
  #
1358
+ # @!attribute [rw] metric_dimension
1359
+ # The dimension for a metric in your behavior. For example, using a
1360
+ # `TOPIC_FILTER` dimension, you can narrow down the scope of the
1361
+ # metric only to MQTT topics whose name match the pattern specified in
1362
+ # the dimension.
1363
+ # @return [Types::MetricDimension]
1364
+ #
1354
1365
  # @!attribute [rw] criteria
1355
1366
  # The criteria that determine if a device is behaving normally in
1356
1367
  # regard to the `metric`.
@@ -1359,6 +1370,7 @@ module Aws::IoT
1359
1370
  class Behavior < Struct.new(
1360
1371
  :name,
1361
1372
  :metric,
1373
+ :metric_dimension,
1362
1374
  :criteria)
1363
1375
  include Aws::Structure
1364
1376
  end
@@ -1746,6 +1758,10 @@ module Aws::IoT
1746
1758
  # used.
1747
1759
  # @return [String]
1748
1760
  #
1761
+ # @!attribute [rw] certificate_mode
1762
+ # The mode of the certificate.
1763
+ # @return [String]
1764
+ #
1749
1765
  # @!attribute [rw] creation_date
1750
1766
  # The date and time the certificate was created.
1751
1767
  # @return [Time]
@@ -1754,6 +1770,7 @@ module Aws::IoT
1754
1770
  :certificate_arn,
1755
1771
  :certificate_id,
1756
1772
  :status,
1773
+ :certificate_mode,
1757
1774
  :creation_date)
1758
1775
  include Aws::Structure
1759
1776
  end
@@ -1827,6 +1844,10 @@ module Aws::IoT
1827
1844
  # When the certificate is valid.
1828
1845
  # @return [Types::CertificateValidity]
1829
1846
  #
1847
+ # @!attribute [rw] certificate_mode
1848
+ # The mode of the certificate.
1849
+ # @return [String]
1850
+ #
1830
1851
  class CertificateDescription < Struct.new(
1831
1852
  :certificate_arn,
1832
1853
  :certificate_id,
@@ -1840,7 +1861,8 @@ module Aws::IoT
1840
1861
  :customer_version,
1841
1862
  :transfer_data,
1842
1863
  :generation_id,
1843
- :validity)
1864
+ :validity,
1865
+ :certificate_mode)
1844
1866
  include Aws::Structure
1845
1867
  end
1846
1868
 
@@ -1925,7 +1947,7 @@ module Aws::IoT
1925
1947
  include Aws::Structure
1926
1948
  end
1927
1949
 
1928
- # Describes an action that sends data to CloudWatch logs.
1950
+ # Describes an action that sends data to CloudWatch Logs.
1929
1951
  #
1930
1952
  # @note When making an API call, you may pass CloudwatchLogsAction
1931
1953
  # data as a hash:
@@ -2162,6 +2184,12 @@ module Aws::IoT
2162
2184
  # "KeyName" => "KeyValue",
2163
2185
  # },
2164
2186
  # status: "ACTIVE", # accepts ACTIVE, INACTIVE
2187
+ # tags: [
2188
+ # {
2189
+ # key: "TagKey", # required
2190
+ # value: "TagValue",
2191
+ # },
2192
+ # ],
2165
2193
  # signing_disabled: false,
2166
2194
  # }
2167
2195
  #
@@ -2187,6 +2215,21 @@ module Aws::IoT
2187
2215
  # The status of the create authorizer request.
2188
2216
  # @return [String]
2189
2217
  #
2218
+ # @!attribute [rw] tags
2219
+ # Metadata which can be used to manage the custom authorizer.
2220
+ #
2221
+ # <note markdown="1"> For URI Request parameters use format:
2222
+ # ...key1=value1&amp;key2=value2...
2223
+ #
2224
+ # For the CLI command-line parameter use format: &amp;&amp;tags
2225
+ # "key1=value1&amp;key2=value2..."
2226
+ #
2227
+ # For the cli-input-json file use format: "tags":
2228
+ # "key1=value1&amp;key2=value2..."
2229
+ #
2230
+ # </note>
2231
+ # @return [Array<Types::Tag>]
2232
+ #
2190
2233
  # @!attribute [rw] signing_disabled
2191
2234
  # Specifies whether AWS IoT validates the token signature in an
2192
2235
  # authorization request.
@@ -2198,6 +2241,7 @@ module Aws::IoT
2198
2241
  :token_key_name,
2199
2242
  :token_signing_public_keys,
2200
2243
  :status,
2244
+ :tags,
2201
2245
  :signing_disabled)
2202
2246
  include Aws::Structure
2203
2247
  end
@@ -2226,7 +2270,7 @@ module Aws::IoT
2226
2270
  # },
2227
2271
  # tags: [
2228
2272
  # {
2229
- # key: "TagKey",
2273
+ # key: "TagKey", # required
2230
2274
  # value: "TagValue",
2231
2275
  # },
2232
2276
  # ],
@@ -2317,6 +2361,75 @@ module Aws::IoT
2317
2361
  include Aws::Structure
2318
2362
  end
2319
2363
 
2364
+ # @note When making an API call, you may pass CreateDimensionRequest
2365
+ # data as a hash:
2366
+ #
2367
+ # {
2368
+ # name: "DimensionName", # required
2369
+ # type: "TOPIC_FILTER", # required, accepts TOPIC_FILTER
2370
+ # string_values: ["DimensionStringValue"], # required
2371
+ # tags: [
2372
+ # {
2373
+ # key: "TagKey", # required
2374
+ # value: "TagValue",
2375
+ # },
2376
+ # ],
2377
+ # client_request_token: "ClientRequestToken", # required
2378
+ # }
2379
+ #
2380
+ # @!attribute [rw] name
2381
+ # A unique identifier for the dimension. Choose something that
2382
+ # describes the type and value to make it easy to remember what it
2383
+ # does.
2384
+ # @return [String]
2385
+ #
2386
+ # @!attribute [rw] type
2387
+ # Specifies the type of dimension. Supported types: `TOPIC_FILTER.`
2388
+ # @return [String]
2389
+ #
2390
+ # @!attribute [rw] string_values
2391
+ # Specifies the value or list of values for the dimension. For
2392
+ # `TOPIC_FILTER` dimensions, this is a pattern used to match the MQTT
2393
+ # topic (for example, "admin/#").
2394
+ # @return [Array<String>]
2395
+ #
2396
+ # @!attribute [rw] tags
2397
+ # Metadata that can be used to manage the dimension.
2398
+ # @return [Array<Types::Tag>]
2399
+ #
2400
+ # @!attribute [rw] client_request_token
2401
+ # Each dimension must have a unique client request token. If you try
2402
+ # to create a new dimension with the same token as a dimension that
2403
+ # already exists, an exception occurs. If you omit this value, AWS
2404
+ # SDKs will automatically generate a unique client request.
2405
+ #
2406
+ # **A suitable default value is auto-generated.** You should normally
2407
+ # not need to pass this option.
2408
+ # @return [String]
2409
+ #
2410
+ class CreateDimensionRequest < Struct.new(
2411
+ :name,
2412
+ :type,
2413
+ :string_values,
2414
+ :tags,
2415
+ :client_request_token)
2416
+ include Aws::Structure
2417
+ end
2418
+
2419
+ # @!attribute [rw] name
2420
+ # A unique identifier for the dimension.
2421
+ # @return [String]
2422
+ #
2423
+ # @!attribute [rw] arn
2424
+ # The ARN (Amazon resource name) of the created dimension.
2425
+ # @return [String]
2426
+ #
2427
+ class CreateDimensionResponse < Struct.new(
2428
+ :name,
2429
+ :arn)
2430
+ include Aws::Structure
2431
+ end
2432
+
2320
2433
  # @note When making an API call, you may pass CreateDomainConfigurationRequest
2321
2434
  # data as a hash:
2322
2435
  #
@@ -2330,6 +2443,12 @@ module Aws::IoT
2330
2443
  # allow_authorizer_override: false,
2331
2444
  # },
2332
2445
  # service_type: "DATA", # accepts DATA, CREDENTIAL_PROVIDER, JOBS
2446
+ # tags: [
2447
+ # {
2448
+ # key: "TagKey", # required
2449
+ # value: "TagValue",
2450
+ # },
2451
+ # ],
2333
2452
  # }
2334
2453
  #
2335
2454
  # @!attribute [rw] domain_configuration_name
@@ -2360,15 +2479,35 @@ module Aws::IoT
2360
2479
  #
2361
2480
  # @!attribute [rw] service_type
2362
2481
  # The type of service delivered by the endpoint.
2482
+ #
2483
+ # <note markdown="1"> AWS IoT Core currently supports only the `DATA` service type.
2484
+ #
2485
+ # </note>
2363
2486
  # @return [String]
2364
2487
  #
2488
+ # @!attribute [rw] tags
2489
+ # Metadata which can be used to manage the domain configuration.
2490
+ #
2491
+ # <note markdown="1"> For URI Request parameters use format:
2492
+ # ...key1=value1&amp;key2=value2...
2493
+ #
2494
+ # For the CLI command-line parameter use format: &amp;&amp;tags
2495
+ # "key1=value1&amp;key2=value2..."
2496
+ #
2497
+ # For the cli-input-json file use format: "tags":
2498
+ # "key1=value1&amp;key2=value2..."
2499
+ #
2500
+ # </note>
2501
+ # @return [Array<Types::Tag>]
2502
+ #
2365
2503
  class CreateDomainConfigurationRequest < Struct.new(
2366
2504
  :domain_configuration_name,
2367
2505
  :domain_name,
2368
2506
  :server_certificate_arns,
2369
2507
  :validation_certificate_arn,
2370
2508
  :authorizer_config,
2371
- :service_type)
2509
+ :service_type,
2510
+ :tags)
2372
2511
  include Aws::Structure
2373
2512
  end
2374
2513
 
@@ -2405,7 +2544,7 @@ module Aws::IoT
2405
2544
  # query_version: "QueryVersion",
2406
2545
  # tags: [
2407
2546
  # {
2408
- # key: "TagKey",
2547
+ # key: "TagKey", # required
2409
2548
  # value: "TagValue",
2410
2549
  # },
2411
2550
  # ],
@@ -2534,7 +2673,7 @@ module Aws::IoT
2534
2673
  # },
2535
2674
  # tags: [
2536
2675
  # {
2537
- # key: "TagKey",
2676
+ # key: "TagKey", # required
2538
2677
  # value: "TagValue",
2539
2678
  # },
2540
2679
  # ],
@@ -2716,7 +2855,7 @@ module Aws::IoT
2716
2855
  # },
2717
2856
  # tags: [
2718
2857
  # {
2719
- # key: "TagKey",
2858
+ # key: "TagKey", # required
2720
2859
  # value: "TagValue",
2721
2860
  # },
2722
2861
  # ],
@@ -2831,7 +2970,7 @@ module Aws::IoT
2831
2970
  # },
2832
2971
  # tags: [
2833
2972
  # {
2834
- # key: "TagKey",
2973
+ # key: "TagKey", # required
2835
2974
  # value: "TagValue",
2836
2975
  # },
2837
2976
  # ],
@@ -2942,6 +3081,12 @@ module Aws::IoT
2942
3081
  # {
2943
3082
  # policy_name: "PolicyName", # required
2944
3083
  # policy_document: "PolicyDocument", # required
3084
+ # tags: [
3085
+ # {
3086
+ # key: "TagKey", # required
3087
+ # value: "TagValue",
3088
+ # },
3089
+ # ],
2945
3090
  # }
2946
3091
  #
2947
3092
  # @!attribute [rw] policy_name
@@ -2954,9 +3099,25 @@ module Aws::IoT
2954
3099
  # whitespace.
2955
3100
  # @return [String]
2956
3101
  #
3102
+ # @!attribute [rw] tags
3103
+ # Metadata which can be used to manage the policy.
3104
+ #
3105
+ # <note markdown="1"> For URI Request parameters use format:
3106
+ # ...key1=value1&amp;key2=value2...
3107
+ #
3108
+ # For the CLI command-line parameter use format: &amp;&amp;tags
3109
+ # "key1=value1&amp;key2=value2..."
3110
+ #
3111
+ # For the cli-input-json file use format: "tags":
3112
+ # "key1=value1&amp;key2=value2..."
3113
+ #
3114
+ # </note>
3115
+ # @return [Array<Types::Tag>]
3116
+ #
2957
3117
  class CreatePolicyRequest < Struct.new(
2958
3118
  :policy_name,
2959
- :policy_document)
3119
+ :policy_document,
3120
+ :tags)
2960
3121
  include Aws::Structure
2961
3122
  end
2962
3123
 
@@ -3095,9 +3256,13 @@ module Aws::IoT
3095
3256
  # template_body: "TemplateBody", # required
3096
3257
  # enabled: false,
3097
3258
  # provisioning_role_arn: "RoleArn", # required
3259
+ # pre_provisioning_hook: {
3260
+ # payload_version: "PayloadVersion",
3261
+ # target_arn: "TargetArn", # required
3262
+ # },
3098
3263
  # tags: [
3099
3264
  # {
3100
- # key: "TagKey",
3265
+ # key: "TagKey", # required
3101
3266
  # value: "TagValue",
3102
3267
  # },
3103
3268
  # ],
@@ -3124,6 +3289,10 @@ module Aws::IoT
3124
3289
  # template. This IoT role grants permission to provision a device.
3125
3290
  # @return [String]
3126
3291
  #
3292
+ # @!attribute [rw] pre_provisioning_hook
3293
+ # Creates a pre-provisioning hook template.
3294
+ # @return [Types::ProvisioningHook]
3295
+ #
3127
3296
  # @!attribute [rw] tags
3128
3297
  # Metadata which can be used to manage the fleet provisioning
3129
3298
  # template.
@@ -3146,6 +3315,7 @@ module Aws::IoT
3146
3315
  :template_body,
3147
3316
  :enabled,
3148
3317
  :provisioning_role_arn,
3318
+ :pre_provisioning_hook,
3149
3319
  :tags)
3150
3320
  include Aws::Structure
3151
3321
  end
@@ -3229,6 +3399,12 @@ module Aws::IoT
3229
3399
  # role_alias: "RoleAlias", # required
3230
3400
  # role_arn: "RoleArn", # required
3231
3401
  # credential_duration_seconds: 1,
3402
+ # tags: [
3403
+ # {
3404
+ # key: "TagKey", # required
3405
+ # value: "TagValue",
3406
+ # },
3407
+ # ],
3232
3408
  # }
3233
3409
  #
3234
3410
  # @!attribute [rw] role_alias
@@ -3244,10 +3420,26 @@ module Aws::IoT
3244
3420
  # How long (in seconds) the credentials will be valid.
3245
3421
  # @return [Integer]
3246
3422
  #
3423
+ # @!attribute [rw] tags
3424
+ # Metadata which can be used to manage the role alias.
3425
+ #
3426
+ # <note markdown="1"> For URI Request parameters use format:
3427
+ # ...key1=value1&amp;key2=value2...
3428
+ #
3429
+ # For the CLI command-line parameter use format: &amp;&amp;tags
3430
+ # "key1=value1&amp;key2=value2..."
3431
+ #
3432
+ # For the cli-input-json file use format: "tags":
3433
+ # "key1=value1&amp;key2=value2..."
3434
+ #
3435
+ # </note>
3436
+ # @return [Array<Types::Tag>]
3437
+ #
3247
3438
  class CreateRoleAliasRequest < Struct.new(
3248
3439
  :role_alias,
3249
3440
  :role_arn,
3250
- :credential_duration_seconds)
3441
+ :credential_duration_seconds,
3442
+ :tags)
3251
3443
  include Aws::Structure
3252
3444
  end
3253
3445
 
@@ -3276,7 +3468,7 @@ module Aws::IoT
3276
3468
  # scheduled_audit_name: "ScheduledAuditName", # required
3277
3469
  # tags: [
3278
3470
  # {
3279
- # key: "TagKey",
3471
+ # key: "TagKey", # required
3280
3472
  # value: "TagValue",
3281
3473
  # },
3282
3474
  # ],
@@ -3349,6 +3541,10 @@ module Aws::IoT
3349
3541
  # {
3350
3542
  # name: "BehaviorName", # required
3351
3543
  # metric: "BehaviorMetric",
3544
+ # metric_dimension: {
3545
+ # dimension_name: "DimensionName", # required
3546
+ # operator: "IN", # accepts IN, NOT_IN
3547
+ # },
3352
3548
  # criteria: {
3353
3549
  # 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
3354
3550
  # value: {
@@ -3372,9 +3568,18 @@ module Aws::IoT
3372
3568
  # },
3373
3569
  # },
3374
3570
  # additional_metrics_to_retain: ["BehaviorMetric"],
3571
+ # additional_metrics_to_retain_v2: [
3572
+ # {
3573
+ # metric: "BehaviorMetric", # required
3574
+ # metric_dimension: {
3575
+ # dimension_name: "DimensionName", # required
3576
+ # operator: "IN", # accepts IN, NOT_IN
3577
+ # },
3578
+ # },
3579
+ # ],
3375
3580
  # tags: [
3376
3581
  # {
3377
- # key: "TagKey",
3582
+ # key: "TagKey", # required
3378
3583
  # value: "TagValue",
3379
3584
  # },
3380
3585
  # ],
@@ -3403,8 +3608,17 @@ module Aws::IoT
3403
3608
  # A list of metrics whose data is retained (stored). By default, data
3404
3609
  # is retained for any metric used in the profile's `behaviors`, but
3405
3610
  # it is also retained for any metric specified here.
3611
+ #
3612
+ # **Note:** This API field is deprecated. Please use
3613
+ # CreateSecurityProfileRequest$additionalMetricsToRetainV2 instead.
3406
3614
  # @return [Array<String>]
3407
3615
  #
3616
+ # @!attribute [rw] additional_metrics_to_retain_v2
3617
+ # A list of metrics whose data is retained (stored). By default, data
3618
+ # is retained for any metric used in the profile's `behaviors`, but
3619
+ # it is also retained for any metric specified here.
3620
+ # @return [Array<Types::MetricToRetain>]
3621
+ #
3408
3622
  # @!attribute [rw] tags
3409
3623
  # Metadata that can be used to manage the security profile.
3410
3624
  # @return [Array<Types::Tag>]
@@ -3415,6 +3629,7 @@ module Aws::IoT
3415
3629
  :behaviors,
3416
3630
  :alert_targets,
3417
3631
  :additional_metrics_to_retain,
3632
+ :additional_metrics_to_retain_v2,
3418
3633
  :tags)
3419
3634
  include Aws::Structure
3420
3635
  end
@@ -3452,7 +3667,7 @@ module Aws::IoT
3452
3667
  # role_arn: "RoleArn", # required
3453
3668
  # tags: [
3454
3669
  # {
3455
- # key: "TagKey",
3670
+ # key: "TagKey", # required
3456
3671
  # value: "TagValue",
3457
3672
  # },
3458
3673
  # ],
@@ -3529,7 +3744,7 @@ module Aws::IoT
3529
3744
  # },
3530
3745
  # tags: [
3531
3746
  # {
3532
- # key: "TagKey",
3747
+ # key: "TagKey", # required
3533
3748
  # value: "TagValue",
3534
3749
  # },
3535
3750
  # ],
@@ -3597,6 +3812,10 @@ module Aws::IoT
3597
3812
  #
3598
3813
  # @!attribute [rw] thing_name
3599
3814
  # The name of the thing to create.
3815
+ #
3816
+ # You can't change a thing's name after you create it. To change a
3817
+ # thing's name, you must create a new thing, give it the new name,
3818
+ # and then delete the old thing.
3600
3819
  # @return [String]
3601
3820
  #
3602
3821
  # @!attribute [rw] thing_type_name
@@ -3656,7 +3875,7 @@ module Aws::IoT
3656
3875
  # },
3657
3876
  # tags: [
3658
3877
  # {
3659
- # key: "TagKey",
3878
+ # key: "TagKey", # required
3660
3879
  # value: "TagValue",
3661
3880
  # },
3662
3881
  # ],
@@ -4228,6 +4447,24 @@ module Aws::IoT
4228
4447
  include Aws::Structure
4229
4448
  end
4230
4449
 
4450
+ # @note When making an API call, you may pass DeleteDimensionRequest
4451
+ # data as a hash:
4452
+ #
4453
+ # {
4454
+ # name: "DimensionName", # required
4455
+ # }
4456
+ #
4457
+ # @!attribute [rw] name
4458
+ # The unique identifier for the dimension that you want to delete.
4459
+ # @return [String]
4460
+ #
4461
+ class DeleteDimensionRequest < Struct.new(
4462
+ :name)
4463
+ include Aws::Structure
4464
+ end
4465
+
4466
+ class DeleteDimensionResponse < Aws::EmptyStructure; end
4467
+
4231
4468
  # @note When making an API call, you may pass DeleteDomainConfigurationRequest
4232
4469
  # data as a hash:
4233
4470
  #
@@ -5086,6 +5323,58 @@ module Aws::IoT
5086
5323
  include Aws::Structure
5087
5324
  end
5088
5325
 
5326
+ # @note When making an API call, you may pass DescribeDimensionRequest
5327
+ # data as a hash:
5328
+ #
5329
+ # {
5330
+ # name: "DimensionName", # required
5331
+ # }
5332
+ #
5333
+ # @!attribute [rw] name
5334
+ # The unique identifier for the dimension.
5335
+ # @return [String]
5336
+ #
5337
+ class DescribeDimensionRequest < Struct.new(
5338
+ :name)
5339
+ include Aws::Structure
5340
+ end
5341
+
5342
+ # @!attribute [rw] name
5343
+ # The unique identifier for the dimension.
5344
+ # @return [String]
5345
+ #
5346
+ # @!attribute [rw] arn
5347
+ # The ARN (Amazon resource name) for the dimension.
5348
+ # @return [String]
5349
+ #
5350
+ # @!attribute [rw] type
5351
+ # The type of the dimension.
5352
+ # @return [String]
5353
+ #
5354
+ # @!attribute [rw] string_values
5355
+ # The value or list of values used to scope the dimension. For
5356
+ # example, for topic filters, this is the pattern used to match the
5357
+ # MQTT topic name.
5358
+ # @return [Array<String>]
5359
+ #
5360
+ # @!attribute [rw] creation_date
5361
+ # The date the dimension was created.
5362
+ # @return [Time]
5363
+ #
5364
+ # @!attribute [rw] last_modified_date
5365
+ # The date the dimension was last modified.
5366
+ # @return [Time]
5367
+ #
5368
+ class DescribeDimensionResponse < Struct.new(
5369
+ :name,
5370
+ :arn,
5371
+ :type,
5372
+ :string_values,
5373
+ :creation_date,
5374
+ :last_modified_date)
5375
+ include Aws::Structure
5376
+ end
5377
+
5089
5378
  # @note When making an API call, you may pass DescribeDomainConfigurationRequest
5090
5379
  # data as a hash:
5091
5380
  #
@@ -5457,6 +5746,10 @@ module Aws::IoT
5457
5746
  # IoT role grants permission to provision a device.
5458
5747
  # @return [String]
5459
5748
  #
5749
+ # @!attribute [rw] pre_provisioning_hook
5750
+ # Gets information about a pre-provisioned hook.
5751
+ # @return [Types::ProvisioningHook]
5752
+ #
5460
5753
  class DescribeProvisioningTemplateResponse < Struct.new(
5461
5754
  :template_arn,
5462
5755
  :template_name,
@@ -5466,7 +5759,8 @@ module Aws::IoT
5466
5759
  :default_version_id,
5467
5760
  :template_body,
5468
5761
  :enabled,
5469
- :provisioning_role_arn)
5762
+ :provisioning_role_arn,
5763
+ :pre_provisioning_hook)
5470
5764
  include Aws::Structure
5471
5765
  end
5472
5766
 
@@ -5646,8 +5940,17 @@ module Aws::IoT
5646
5940
  # A list of metrics whose data is retained (stored). By default, data
5647
5941
  # is retained for any metric used in the profile's `behaviors`, but
5648
5942
  # it is also retained for any metric specified here.
5943
+ #
5944
+ # **Note:** This API field is deprecated. Please use
5945
+ # DescribeSecurityProfileResponse$additionalMetricsToRetainV2 instead.
5649
5946
  # @return [Array<String>]
5650
5947
  #
5948
+ # @!attribute [rw] additional_metrics_to_retain_v2
5949
+ # A list of metrics whose data is retained (stored). By default, data
5950
+ # is retained for any metric used in the profile's behaviors, but it
5951
+ # is also retained for any metric specified here.
5952
+ # @return [Array<Types::MetricToRetain>]
5953
+ #
5651
5954
  # @!attribute [rw] version
5652
5955
  # The version of the security profile. A new version is generated
5653
5956
  # whenever the security profile is updated.
@@ -5668,6 +5971,7 @@ module Aws::IoT
5668
5971
  :behaviors,
5669
5972
  :alert_targets,
5670
5973
  :additional_metrics_to_retain,
5974
+ :additional_metrics_to_retain_v2,
5671
5975
  :version,
5672
5976
  :creation_date,
5673
5977
  :last_modified_date)
@@ -5871,7 +6175,16 @@ module Aws::IoT
5871
6175
  # The output from the DescribeThing operation.
5872
6176
  #
5873
6177
  # @!attribute [rw] default_client_id
5874
- # The default client ID.
6178
+ # The default MQTT client ID. For a typical device, the thing name is
6179
+ # also used as the default MQTT client ID. Although we don’t require a
6180
+ # mapping between a thing's registry name and its use of MQTT client
6181
+ # IDs, certificates, or shadow state, we recommend that you choose a
6182
+ # thing name and use it as the MQTT client ID for the registry and the
6183
+ # Device Shadow service.
6184
+ #
6185
+ # This lets you better organize your AWS IoT fleet without removing
6186
+ # the flexibility of the underlying device certificate model or
6187
+ # shadows.
5875
6188
  # @return [String]
5876
6189
  #
5877
6190
  # @!attribute [rw] thing_name
@@ -7086,7 +7399,7 @@ module Aws::IoT
7086
7399
  # not specify a confirmation URL AWS IoT uses the endpoint URL as the
7087
7400
  # confirmation URL. If you use substitution templates in the
7088
7401
  # confirmationUrl, you must create and enable topic rule destinations
7089
- # that match each possible value of the substituion template before
7402
+ # that match each possible value of the substitution template before
7090
7403
  # traffic is allowed to your endpoint URL.
7091
7404
  # @return [String]
7092
7405
  #
@@ -8553,6 +8866,44 @@ module Aws::IoT
8553
8866
  include Aws::Structure
8554
8867
  end
8555
8868
 
8869
+ # @note When making an API call, you may pass ListDimensionsRequest
8870
+ # data as a hash:
8871
+ #
8872
+ # {
8873
+ # next_token: "NextToken",
8874
+ # max_results: 1,
8875
+ # }
8876
+ #
8877
+ # @!attribute [rw] next_token
8878
+ # The token for the next set of results.
8879
+ # @return [String]
8880
+ #
8881
+ # @!attribute [rw] max_results
8882
+ # The maximum number of results to retrieve at one time.
8883
+ # @return [Integer]
8884
+ #
8885
+ class ListDimensionsRequest < Struct.new(
8886
+ :next_token,
8887
+ :max_results)
8888
+ include Aws::Structure
8889
+ end
8890
+
8891
+ # @!attribute [rw] dimension_names
8892
+ # A list of the names of the defined dimensions. Use
8893
+ # `DescribeDimension` to get details for a dimension.
8894
+ # @return [Array<String>]
8895
+ #
8896
+ # @!attribute [rw] next_token
8897
+ # A token that can be used to retrieve the next set of results, or
8898
+ # `null` if there are no additional results.
8899
+ # @return [String]
8900
+ #
8901
+ class ListDimensionsResponse < Struct.new(
8902
+ :dimension_names,
8903
+ :next_token)
8904
+ include Aws::Structure
8905
+ end
8906
+
8556
8907
  # @note When making an API call, you may pass ListDomainConfigurationsRequest
8557
8908
  # data as a hash:
8558
8909
  #
@@ -9381,6 +9732,7 @@ module Aws::IoT
9381
9732
  # {
9382
9733
  # next_token: "NextToken",
9383
9734
  # max_results: 1,
9735
+ # dimension_name: "DimensionName",
9384
9736
  # }
9385
9737
  #
9386
9738
  # @!attribute [rw] next_token
@@ -9391,9 +9743,15 @@ module Aws::IoT
9391
9743
  # The maximum number of results to return at one time.
9392
9744
  # @return [Integer]
9393
9745
  #
9746
+ # @!attribute [rw] dimension_name
9747
+ # A filter to limit results to the security profiles that use the
9748
+ # defined dimension.
9749
+ # @return [String]
9750
+ #
9394
9751
  class ListSecurityProfilesRequest < Struct.new(
9395
9752
  :next_token,
9396
- :max_results)
9753
+ :max_results,
9754
+ :dimension_name)
9397
9755
  include Aws::Structure
9398
9756
  end
9399
9757
 
@@ -10274,6 +10632,63 @@ module Aws::IoT
10274
10632
  include Aws::Structure
10275
10633
  end
10276
10634
 
10635
+ # The dimension of a metric.
10636
+ #
10637
+ # @note When making an API call, you may pass MetricDimension
10638
+ # data as a hash:
10639
+ #
10640
+ # {
10641
+ # dimension_name: "DimensionName", # required
10642
+ # operator: "IN", # accepts IN, NOT_IN
10643
+ # }
10644
+ #
10645
+ # @!attribute [rw] dimension_name
10646
+ # A unique identifier for the dimension.
10647
+ # @return [String]
10648
+ #
10649
+ # @!attribute [rw] operator
10650
+ # Defines how the `dimensionValues` of a dimension are interpreted.
10651
+ # For example, for dimension type TOPIC\_FILTER, the `IN` operator, a
10652
+ # message will be counted only if its topic matches one of the topic
10653
+ # filters. With `NOT_IN` operator, a message will be counted only if
10654
+ # it doesn't match any of the topic filters. The operator is
10655
+ # optional: if it's not provided (is `null`), it will be interpreted
10656
+ # as `IN`.
10657
+ # @return [String]
10658
+ #
10659
+ class MetricDimension < Struct.new(
10660
+ :dimension_name,
10661
+ :operator)
10662
+ include Aws::Structure
10663
+ end
10664
+
10665
+ # The metric you want to retain. Dimensions are optional.
10666
+ #
10667
+ # @note When making an API call, you may pass MetricToRetain
10668
+ # data as a hash:
10669
+ #
10670
+ # {
10671
+ # metric: "BehaviorMetric", # required
10672
+ # metric_dimension: {
10673
+ # dimension_name: "DimensionName", # required
10674
+ # operator: "IN", # accepts IN, NOT_IN
10675
+ # },
10676
+ # }
10677
+ #
10678
+ # @!attribute [rw] metric
10679
+ # What is measured by the behavior.
10680
+ # @return [String]
10681
+ #
10682
+ # @!attribute [rw] metric_dimension
10683
+ # The dimension of a metric.
10684
+ # @return [Types::MetricDimension]
10685
+ #
10686
+ class MetricToRetain < Struct.new(
10687
+ :metric,
10688
+ :metric_dimension)
10689
+ include Aws::Structure
10690
+ end
10691
+
10277
10692
  # The value to be compared with the `metric`.
10278
10693
  #
10279
10694
  # @note When making an API call, you may pass MetricValue
@@ -10831,6 +11246,34 @@ module Aws::IoT
10831
11246
  include Aws::Structure
10832
11247
  end
10833
11248
 
11249
+ # Structure that contains `payloadVersion` and `targetArn`.
11250
+ #
11251
+ # @note When making an API call, you may pass ProvisioningHook
11252
+ # data as a hash:
11253
+ #
11254
+ # {
11255
+ # payload_version: "PayloadVersion",
11256
+ # target_arn: "TargetArn", # required
11257
+ # }
11258
+ #
11259
+ # @!attribute [rw] payload_version
11260
+ # The payload that was sent to the target function.
11261
+ #
11262
+ # *Note:* Only Lambda functions are currently supported.
11263
+ # @return [String]
11264
+ #
11265
+ # @!attribute [rw] target_arn
11266
+ # The ARN of the target function.
11267
+ #
11268
+ # *Note:* Only Lambda functions are currently supported.
11269
+ # @return [String]
11270
+ #
11271
+ class ProvisioningHook < Struct.new(
11272
+ :payload_version,
11273
+ :target_arn)
11274
+ include Aws::Structure
11275
+ end
11276
+
10834
11277
  # A summary of information about a fleet provisioning template.
10835
11278
  #
10836
11279
  # @!attribute [rw] template_arn
@@ -11035,6 +11478,12 @@ module Aws::IoT
11035
11478
  # template_body: "TemplateBody",
11036
11479
  # role_arn: "RoleArn",
11037
11480
  # },
11481
+ # tags: [
11482
+ # {
11483
+ # key: "TagKey", # required
11484
+ # value: "TagValue",
11485
+ # },
11486
+ # ],
11038
11487
  # }
11039
11488
  #
11040
11489
  # @!attribute [rw] ca_certificate
@@ -11059,12 +11508,28 @@ module Aws::IoT
11059
11508
  # Information about the registration configuration.
11060
11509
  # @return [Types::RegistrationConfig]
11061
11510
  #
11511
+ # @!attribute [rw] tags
11512
+ # Metadata which can be used to manage the CA certificate.
11513
+ #
11514
+ # <note markdown="1"> For URI Request parameters use format:
11515
+ # ...key1=value1&amp;key2=value2...
11516
+ #
11517
+ # For the CLI command-line parameter use format: &amp;&amp;tags
11518
+ # "key1=value1&amp;key2=value2..."
11519
+ #
11520
+ # For the cli-input-json file use format: "tags":
11521
+ # "key1=value1&amp;key2=value2..."
11522
+ #
11523
+ # </note>
11524
+ # @return [Array<Types::Tag>]
11525
+ #
11062
11526
  class RegisterCACertificateRequest < Struct.new(
11063
11527
  :ca_certificate,
11064
11528
  :verification_certificate,
11065
11529
  :set_as_active,
11066
11530
  :allow_auto_registration,
11067
- :registration_config)
11531
+ :registration_config,
11532
+ :tags)
11068
11533
  include Aws::Structure
11069
11534
  end
11070
11535
 
@@ -11137,6 +11602,43 @@ module Aws::IoT
11137
11602
  include Aws::Structure
11138
11603
  end
11139
11604
 
11605
+ # @note When making an API call, you may pass RegisterCertificateWithoutCARequest
11606
+ # data as a hash:
11607
+ #
11608
+ # {
11609
+ # certificate_pem: "CertificatePem", # required
11610
+ # status: "ACTIVE", # accepts ACTIVE, INACTIVE, REVOKED, PENDING_TRANSFER, REGISTER_INACTIVE, PENDING_ACTIVATION
11611
+ # }
11612
+ #
11613
+ # @!attribute [rw] certificate_pem
11614
+ # The certificate data, in PEM format.
11615
+ # @return [String]
11616
+ #
11617
+ # @!attribute [rw] status
11618
+ # The status of the register certificate request.
11619
+ # @return [String]
11620
+ #
11621
+ class RegisterCertificateWithoutCARequest < Struct.new(
11622
+ :certificate_pem,
11623
+ :status)
11624
+ include Aws::Structure
11625
+ end
11626
+
11627
+ # @!attribute [rw] certificate_arn
11628
+ # The Amazon Resource Name (ARN) of the registered certificate.
11629
+ # @return [String]
11630
+ #
11631
+ # @!attribute [rw] certificate_id
11632
+ # The ID of the registered certificate. (The last part of the
11633
+ # certificate ARN contains the certificate ID.
11634
+ # @return [String]
11635
+ #
11636
+ class RegisterCertificateWithoutCAResponse < Struct.new(
11637
+ :certificate_arn,
11638
+ :certificate_id)
11639
+ include Aws::Structure
11640
+ end
11641
+
11140
11642
  # @note When making an API call, you may pass RegisterThingRequest
11141
11643
  # data as a hash:
11142
11644
  #
@@ -11157,12 +11659,12 @@ module Aws::IoT
11157
11659
  # @return [String]
11158
11660
  #
11159
11661
  # @!attribute [rw] parameters
11160
- # The parameters for provisioning a thing. See [Programmatic
11161
- # Provisioning][1] for more information.
11662
+ # The parameters for provisioning a thing. See [Provisioning
11663
+ # Templates][1] for more information.
11162
11664
  #
11163
11665
  #
11164
11666
  #
11165
- # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/programmatic-provisioning.html
11667
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/provision-template.html
11166
11668
  # @return [Hash<String,String>]
11167
11669
  #
11168
11670
  class RegisterThingRequest < Struct.new(
@@ -11172,7 +11674,7 @@ module Aws::IoT
11172
11674
  end
11173
11675
 
11174
11676
  # @!attribute [rw] certificate_pem
11175
- # .
11677
+ # The certificate data, in PEM format.
11176
11678
  # @return [String]
11177
11679
  #
11178
11680
  # @!attribute [rw] resource_arns
@@ -12851,7 +13353,7 @@ module Aws::IoT
12851
13353
  # data as a hash:
12852
13354
  #
12853
13355
  # {
12854
- # key: "TagKey",
13356
+ # key: "TagKey", # required
12855
13357
  # value: "TagValue",
12856
13358
  # }
12857
13359
  #
@@ -12876,7 +13378,7 @@ module Aws::IoT
12876
13378
  # resource_arn: "ResourceArn", # required
12877
13379
  # tags: [ # required
12878
13380
  # {
12879
- # key: "TagKey",
13381
+ # key: "TagKey", # required
12880
13382
  # value: "TagValue",
12881
13383
  # },
12882
13384
  # ],
@@ -12997,7 +13499,7 @@ module Aws::IoT
12997
13499
  # auth_infos: [ # required
12998
13500
  # {
12999
13501
  # action_type: "PUBLISH", # accepts PUBLISH, SUBSCRIBE, RECEIVE, CONNECT
13000
- # resources: ["Resource"],
13502
+ # resources: ["Resource"], # required
13001
13503
  # },
13002
13504
  # ],
13003
13505
  # client_id: "ClientId",
@@ -13085,7 +13587,7 @@ module Aws::IoT
13085
13587
  #
13086
13588
  # @!attribute [rw] token_signature
13087
13589
  # The signature made with the token and your custom authentication
13088
- # service's private key.
13590
+ # service's private key. This value must be Base-64-encoded.
13089
13591
  # @return [String]
13090
13592
  #
13091
13593
  # @!attribute [rw] http_context
@@ -14513,6 +15015,70 @@ module Aws::IoT
14513
15015
  include Aws::Structure
14514
15016
  end
14515
15017
 
15018
+ # @note When making an API call, you may pass UpdateDimensionRequest
15019
+ # data as a hash:
15020
+ #
15021
+ # {
15022
+ # name: "DimensionName", # required
15023
+ # string_values: ["DimensionStringValue"], # required
15024
+ # }
15025
+ #
15026
+ # @!attribute [rw] name
15027
+ # A unique identifier for the dimension. Choose something that
15028
+ # describes the type and value to make it easy to remember what it
15029
+ # does.
15030
+ # @return [String]
15031
+ #
15032
+ # @!attribute [rw] string_values
15033
+ # Specifies the value or list of values for the dimension. For
15034
+ # `TOPIC_FILTER` dimensions, this is a pattern used to match the MQTT
15035
+ # topic (for example, "admin/#").
15036
+ # @return [Array<String>]
15037
+ #
15038
+ class UpdateDimensionRequest < Struct.new(
15039
+ :name,
15040
+ :string_values)
15041
+ include Aws::Structure
15042
+ end
15043
+
15044
+ # @!attribute [rw] name
15045
+ # A unique identifier for the dimension.
15046
+ # @return [String]
15047
+ #
15048
+ # @!attribute [rw] arn
15049
+ # The ARN (Amazon resource name) of the created dimension.
15050
+ # @return [String]
15051
+ #
15052
+ # @!attribute [rw] type
15053
+ # The type of the dimension.
15054
+ # @return [String]
15055
+ #
15056
+ # @!attribute [rw] string_values
15057
+ # The value or list of values used to scope the dimension. For
15058
+ # example, for topic filters, this is the pattern used to match the
15059
+ # MQTT topic name.
15060
+ # @return [Array<String>]
15061
+ #
15062
+ # @!attribute [rw] creation_date
15063
+ # The date and time, in milliseconds since epoch, when the dimension
15064
+ # was initially created.
15065
+ # @return [Time]
15066
+ #
15067
+ # @!attribute [rw] last_modified_date
15068
+ # The date and time, in milliseconds since epoch, when the dimension
15069
+ # was most recently updated.
15070
+ # @return [Time]
15071
+ #
15072
+ class UpdateDimensionResponse < Struct.new(
15073
+ :name,
15074
+ :arn,
15075
+ :type,
15076
+ :string_values,
15077
+ :creation_date,
15078
+ :last_modified_date)
15079
+ include Aws::Structure
15080
+ end
15081
+
14516
15082
  # @note When making an API call, you may pass UpdateDomainConfigurationRequest
14517
15083
  # data as a hash:
14518
15084
  #
@@ -14859,6 +15425,11 @@ module Aws::IoT
14859
15425
  # enabled: false,
14860
15426
  # default_version_id: 1,
14861
15427
  # provisioning_role_arn: "RoleArn",
15428
+ # pre_provisioning_hook: {
15429
+ # payload_version: "PayloadVersion",
15430
+ # target_arn: "TargetArn", # required
15431
+ # },
15432
+ # remove_pre_provisioning_hook: false,
14862
15433
  # }
14863
15434
  #
14864
15435
  # @!attribute [rw] template_name
@@ -14882,12 +15453,22 @@ module Aws::IoT
14882
15453
  # IoT role grants permission to provision a device.
14883
15454
  # @return [String]
14884
15455
  #
15456
+ # @!attribute [rw] pre_provisioning_hook
15457
+ # Updates the pre-provisioning hook template.
15458
+ # @return [Types::ProvisioningHook]
15459
+ #
15460
+ # @!attribute [rw] remove_pre_provisioning_hook
15461
+ # Removes pre-provisioning hook template.
15462
+ # @return [Boolean]
15463
+ #
14885
15464
  class UpdateProvisioningTemplateRequest < Struct.new(
14886
15465
  :template_name,
14887
15466
  :description,
14888
15467
  :enabled,
14889
15468
  :default_version_id,
14890
- :provisioning_role_arn)
15469
+ :provisioning_role_arn,
15470
+ :pre_provisioning_hook,
15471
+ :remove_pre_provisioning_hook)
14891
15472
  include Aws::Structure
14892
15473
  end
14893
15474
 
@@ -15008,6 +15589,10 @@ module Aws::IoT
15008
15589
  # {
15009
15590
  # name: "BehaviorName", # required
15010
15591
  # metric: "BehaviorMetric",
15592
+ # metric_dimension: {
15593
+ # dimension_name: "DimensionName", # required
15594
+ # operator: "IN", # accepts IN, NOT_IN
15595
+ # },
15011
15596
  # criteria: {
15012
15597
  # 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
15013
15598
  # value: {
@@ -15031,6 +15616,15 @@ module Aws::IoT
15031
15616
  # },
15032
15617
  # },
15033
15618
  # additional_metrics_to_retain: ["BehaviorMetric"],
15619
+ # additional_metrics_to_retain_v2: [
15620
+ # {
15621
+ # metric: "BehaviorMetric", # required
15622
+ # metric_dimension: {
15623
+ # dimension_name: "DimensionName", # required
15624
+ # operator: "IN", # accepts IN, NOT_IN
15625
+ # },
15626
+ # },
15627
+ # ],
15034
15628
  # delete_behaviors: false,
15035
15629
  # delete_alert_targets: false,
15036
15630
  # delete_additional_metrics_to_retain: false,
@@ -15058,8 +15652,17 @@ module Aws::IoT
15058
15652
  # A list of metrics whose data is retained (stored). By default, data
15059
15653
  # is retained for any metric used in the profile's `behaviors`, but
15060
15654
  # it is also retained for any metric specified here.
15655
+ #
15656
+ # **Note:** This API field is deprecated. Please use
15657
+ # UpdateSecurityProfileRequest$additionalMetricsToRetainV2 instead.
15061
15658
  # @return [Array<String>]
15062
15659
  #
15660
+ # @!attribute [rw] additional_metrics_to_retain_v2
15661
+ # A list of metrics whose data is retained (stored). By default, data
15662
+ # is retained for any metric used in the profile's behaviors, but it
15663
+ # is also retained for any metric specified here.
15664
+ # @return [Array<Types::MetricToRetain>]
15665
+ #
15063
15666
  # @!attribute [rw] delete_behaviors
15064
15667
  # If true, delete all `behaviors` defined for this security profile.
15065
15668
  # If any `behaviors` are defined in the current invocation, an
@@ -15091,6 +15694,7 @@ module Aws::IoT
15091
15694
  :behaviors,
15092
15695
  :alert_targets,
15093
15696
  :additional_metrics_to_retain,
15697
+ :additional_metrics_to_retain_v2,
15094
15698
  :delete_behaviors,
15095
15699
  :delete_alert_targets,
15096
15700
  :delete_additional_metrics_to_retain,
@@ -15123,8 +15727,17 @@ module Aws::IoT
15123
15727
  # A list of metrics whose data is retained (stored). By default, data
15124
15728
  # is retained for any metric used in the security profile's
15125
15729
  # `behaviors`, but it is also retained for any metric specified here.
15730
+ #
15731
+ # **Note:** This API field is deprecated. Please use
15732
+ # UpdateSecurityProfileResponse$additionalMetricsToRetainV2 instead.
15126
15733
  # @return [Array<String>]
15127
15734
  #
15735
+ # @!attribute [rw] additional_metrics_to_retain_v2
15736
+ # A list of metrics whose data is retained (stored). By default, data
15737
+ # is retained for any metric used in the profile's behaviors, but it
15738
+ # is also retained for any metric specified here.
15739
+ # @return [Array<Types::MetricToRetain>]
15740
+ #
15128
15741
  # @!attribute [rw] version
15129
15742
  # The updated version of the security profile.
15130
15743
  # @return [Integer]
@@ -15144,6 +15757,7 @@ module Aws::IoT
15144
15757
  :behaviors,
15145
15758
  :alert_targets,
15146
15759
  :additional_metrics_to_retain,
15760
+ :additional_metrics_to_retain_v2,
15147
15761
  :version,
15148
15762
  :creation_date,
15149
15763
  :last_modified_date)
@@ -15323,6 +15937,10 @@ module Aws::IoT
15323
15937
  #
15324
15938
  # @!attribute [rw] thing_name
15325
15939
  # The name of the thing to update.
15940
+ #
15941
+ # You can't change a thing's name. To change a thing's name, you
15942
+ # must create a new thing, give it the new name, and then delete the
15943
+ # old thing.
15326
15944
  # @return [String]
15327
15945
  #
15328
15946
  # @!attribute [rw] thing_type_name
@@ -15425,6 +16043,10 @@ module Aws::IoT
15425
16043
  # {
15426
16044
  # name: "BehaviorName", # required
15427
16045
  # metric: "BehaviorMetric",
16046
+ # metric_dimension: {
16047
+ # dimension_name: "DimensionName", # required
16048
+ # operator: "IN", # accepts IN, NOT_IN
16049
+ # },
15428
16050
  # criteria: {
15429
16051
  # 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
15430
16052
  # value: {