aws-sdk-iot 1.138.0 → 1.140.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.
@@ -675,9 +675,27 @@ module Aws::IoT
675
675
  # CreateCertificate operation) or an Amazon Cognito ID.
676
676
  # @return [String]
677
677
  #
678
+ # @!attribute [rw] thing_principal_type
679
+ # The type of the relation you want to specify when you attach a
680
+ # principal to a thing.
681
+ #
682
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
683
+ # specified thing, exclusively. The thing will be the only thing
684
+ # that’s attached to the principal.
685
+ #
686
+ # ^
687
+ # ^
688
+ #
689
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
690
+ # specified thing. Multiple things can be attached to the principal.
691
+ #
692
+ # ^
693
+ # @return [String]
694
+ #
678
695
  class AttachThingPrincipalRequest < Struct.new(
679
696
  :thing_name,
680
- :principal)
697
+ :principal,
698
+ :thing_principal_type)
681
699
  SENSITIVE = []
682
700
  include Aws::Structure
683
701
  end
@@ -2189,6 +2207,237 @@ module Aws::IoT
2189
2207
  include Aws::Structure
2190
2208
  end
2191
2209
 
2210
+ # The result value of the command execution. The device can use the
2211
+ # result field to share additional details about the execution such as a
2212
+ # return value of a remote function call.
2213
+ #
2214
+ # <note markdown="1"> This field is not applicable if you use the `AWS-IoT-FleetWise`
2215
+ # namespace.
2216
+ #
2217
+ # </note>
2218
+ #
2219
+ # @!attribute [rw] s
2220
+ # An attribute of type String. For example:
2221
+ #
2222
+ # `"S": "Hello"`
2223
+ # @return [String]
2224
+ #
2225
+ # @!attribute [rw] b
2226
+ # An attribute of type Boolean. For example:
2227
+ #
2228
+ # `"BOOL": true`
2229
+ # @return [Boolean]
2230
+ #
2231
+ # @!attribute [rw] bin
2232
+ # An attribute of type Binary.
2233
+ # @return [String]
2234
+ #
2235
+ class CommandExecutionResult < Struct.new(
2236
+ :s,
2237
+ :b,
2238
+ :bin)
2239
+ SENSITIVE = []
2240
+ include Aws::Structure
2241
+ end
2242
+
2243
+ # Summary information about a particular command execution.
2244
+ #
2245
+ # @!attribute [rw] command_arn
2246
+ # The Amazon Resource Name (ARN) of the command execution.
2247
+ # @return [String]
2248
+ #
2249
+ # @!attribute [rw] execution_id
2250
+ # The unique identifier of the command execution.
2251
+ # @return [String]
2252
+ #
2253
+ # @!attribute [rw] target_arn
2254
+ # The Amazon Resource Name (ARN) of the target device for which the
2255
+ # command is being executed.
2256
+ # @return [String]
2257
+ #
2258
+ # @!attribute [rw] status
2259
+ # The status of the command executions.
2260
+ # @return [String]
2261
+ #
2262
+ # @!attribute [rw] created_at
2263
+ # The date and time at which the command execution was created for the
2264
+ # target device.
2265
+ # @return [Time]
2266
+ #
2267
+ # @!attribute [rw] started_at
2268
+ # The date and time at which the command started executing on the
2269
+ # target device.
2270
+ # @return [Time]
2271
+ #
2272
+ # @!attribute [rw] completed_at
2273
+ # The date and time at which the command completed executing on the
2274
+ # target device.
2275
+ # @return [Time]
2276
+ #
2277
+ class CommandExecutionSummary < Struct.new(
2278
+ :command_arn,
2279
+ :execution_id,
2280
+ :target_arn,
2281
+ :status,
2282
+ :created_at,
2283
+ :started_at,
2284
+ :completed_at)
2285
+ SENSITIVE = []
2286
+ include Aws::Structure
2287
+ end
2288
+
2289
+ # A map of key-value pairs that describe the command.
2290
+ #
2291
+ # @!attribute [rw] name
2292
+ # The name of a specific parameter used in a command and command
2293
+ # execution.
2294
+ # @return [String]
2295
+ #
2296
+ # @!attribute [rw] value
2297
+ # The value used to describe the command. When you assign a value to a
2298
+ # parameter, it will override any default value that you had already
2299
+ # specified.
2300
+ # @return [Types::CommandParameterValue]
2301
+ #
2302
+ # @!attribute [rw] default_value
2303
+ # The default value used to describe the command. This is the value
2304
+ # assumed by the parameter if no other value is assigned to it.
2305
+ # @return [Types::CommandParameterValue]
2306
+ #
2307
+ # @!attribute [rw] description
2308
+ # The description of the command parameter.
2309
+ # @return [String]
2310
+ #
2311
+ class CommandParameter < Struct.new(
2312
+ :name,
2313
+ :value,
2314
+ :default_value,
2315
+ :description)
2316
+ SENSITIVE = []
2317
+ include Aws::Structure
2318
+ end
2319
+
2320
+ # The range of possible values that's used to describe a specific
2321
+ # command parameter.
2322
+ #
2323
+ # <note markdown="1"> The `commandParameterValue` can only have one of the below fields
2324
+ # listed.
2325
+ #
2326
+ # </note>
2327
+ #
2328
+ # @!attribute [rw] s
2329
+ # An attribute of type String. For example:
2330
+ #
2331
+ # `"S": "Hello"`
2332
+ # @return [String]
2333
+ #
2334
+ # @!attribute [rw] b
2335
+ # An attribute of type Boolean. For example:
2336
+ #
2337
+ # `"BOOL": true`
2338
+ # @return [Boolean]
2339
+ #
2340
+ # @!attribute [rw] i
2341
+ # An attribute of type Integer (Thirty-Two Bits).
2342
+ # @return [Integer]
2343
+ #
2344
+ # @!attribute [rw] l
2345
+ # An attribute of type Long.
2346
+ # @return [Integer]
2347
+ #
2348
+ # @!attribute [rw] d
2349
+ # An attribute of type Double (Sixty-Four Bits).
2350
+ # @return [Float]
2351
+ #
2352
+ # @!attribute [rw] bin
2353
+ # An attribute of type Binary. For example:
2354
+ #
2355
+ # `"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"`
2356
+ # @return [String]
2357
+ #
2358
+ # @!attribute [rw] ul
2359
+ # An attribute of type unsigned long.
2360
+ # @return [String]
2361
+ #
2362
+ class CommandParameterValue < Struct.new(
2363
+ :s,
2364
+ :b,
2365
+ :i,
2366
+ :l,
2367
+ :d,
2368
+ :bin,
2369
+ :ul)
2370
+ SENSITIVE = []
2371
+ include Aws::Structure
2372
+ end
2373
+
2374
+ # The command payload object that contains the instructions for the
2375
+ # device to process.
2376
+ #
2377
+ # @!attribute [rw] content
2378
+ # The static payload file for the command.
2379
+ # @return [String]
2380
+ #
2381
+ # @!attribute [rw] content_type
2382
+ # The content type that specifies the format type of the payload file.
2383
+ # This field must use a type/subtype format, such as
2384
+ # `application/json`. For information about various content types, see
2385
+ # [Common MIME types][1].
2386
+ #
2387
+ #
2388
+ #
2389
+ # [1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/MIME_types/Common_types
2390
+ # @return [String]
2391
+ #
2392
+ class CommandPayload < Struct.new(
2393
+ :content,
2394
+ :content_type)
2395
+ SENSITIVE = []
2396
+ include Aws::Structure
2397
+ end
2398
+
2399
+ # Summary information about a particular command resource.
2400
+ #
2401
+ # @!attribute [rw] command_arn
2402
+ # The Amazon Resource Name (ARN) of the command.
2403
+ # @return [String]
2404
+ #
2405
+ # @!attribute [rw] command_id
2406
+ # The unique identifier of the command.
2407
+ # @return [String]
2408
+ #
2409
+ # @!attribute [rw] display_name
2410
+ # The display name of the command.
2411
+ # @return [String]
2412
+ #
2413
+ # @!attribute [rw] deprecated
2414
+ # Indicates whether the command has been deprecated.
2415
+ # @return [Boolean]
2416
+ #
2417
+ # @!attribute [rw] created_at
2418
+ # The timestamp, when the command was created.
2419
+ # @return [Time]
2420
+ #
2421
+ # @!attribute [rw] last_updated_at
2422
+ # The timestamp, when the command was last updated.
2423
+ # @return [Time]
2424
+ #
2425
+ # @!attribute [rw] pending_deletion
2426
+ # Indicates whether the command is pending deletion.
2427
+ # @return [Boolean]
2428
+ #
2429
+ class CommandSummary < Struct.new(
2430
+ :command_arn,
2431
+ :command_id,
2432
+ :display_name,
2433
+ :deprecated,
2434
+ :created_at,
2435
+ :last_updated_at,
2436
+ :pending_deletion)
2437
+ SENSITIVE = []
2438
+ include Aws::Structure
2439
+ end
2440
+
2192
2441
  # Configuration.
2193
2442
  #
2194
2443
  # @!attribute [rw] enabled
@@ -2214,7 +2463,7 @@ module Aws::IoT
2214
2463
 
2215
2464
  class ConfirmTopicRuleDestinationResponse < Aws::EmptyStructure; end
2216
2465
 
2217
- # A resource with the same name already exists.
2466
+ # The request conflicts with the current state of the resource.
2218
2467
  #
2219
2468
  # @!attribute [rw] message
2220
2469
  # @return [String]
@@ -2504,6 +2753,84 @@ module Aws::IoT
2504
2753
  include Aws::Structure
2505
2754
  end
2506
2755
 
2756
+ # @!attribute [rw] command_id
2757
+ # A unique identifier for the command. We recommend using UUID.
2758
+ # Alpha-numeric characters, hyphens, and underscores are valid for use
2759
+ # here.
2760
+ # @return [String]
2761
+ #
2762
+ # @!attribute [rw] namespace
2763
+ # The namespace of the command. The MQTT reserved topics and
2764
+ # validations will be used for command executions according to the
2765
+ # namespace setting.
2766
+ # @return [String]
2767
+ #
2768
+ # @!attribute [rw] display_name
2769
+ # The user-friendly name in the console for the command. This name
2770
+ # doesn't have to be unique. You can update the user-friendly name
2771
+ # after you define it.
2772
+ # @return [String]
2773
+ #
2774
+ # @!attribute [rw] description
2775
+ # A short text decription of the command.
2776
+ # @return [String]
2777
+ #
2778
+ # @!attribute [rw] payload
2779
+ # The payload object for the command. You must specify this
2780
+ # information when using the `AWS-IoT` namespace.
2781
+ #
2782
+ # You can upload a static payload file from your local storage that
2783
+ # contains the instructions for the device to process. The payload
2784
+ # file can use any format. To make sure that the device correctly
2785
+ # interprets the payload, we recommend you to specify the payload
2786
+ # content type.
2787
+ # @return [Types::CommandPayload]
2788
+ #
2789
+ # @!attribute [rw] mandatory_parameters
2790
+ # A list of parameters that are required by the
2791
+ # `StartCommandExecution` API. These parameters need to be specified
2792
+ # only when using the `AWS-IoT-FleetWise` namespace. You can either
2793
+ # specify them here or when running the command using the
2794
+ # `StartCommandExecution` API.
2795
+ # @return [Array<Types::CommandParameter>]
2796
+ #
2797
+ # @!attribute [rw] role_arn
2798
+ # The IAM role that allows access to create the command.
2799
+ # @return [String]
2800
+ #
2801
+ # @!attribute [rw] tags
2802
+ # Name-value pairs that are used as metadata to manage a command.
2803
+ # @return [Array<Types::Tag>]
2804
+ #
2805
+ class CreateCommandRequest < Struct.new(
2806
+ :command_id,
2807
+ :namespace,
2808
+ :display_name,
2809
+ :description,
2810
+ :payload,
2811
+ :mandatory_parameters,
2812
+ :role_arn,
2813
+ :tags)
2814
+ SENSITIVE = []
2815
+ include Aws::Structure
2816
+ end
2817
+
2818
+ # @!attribute [rw] command_id
2819
+ # The unique identifier for the command.
2820
+ # @return [String]
2821
+ #
2822
+ # @!attribute [rw] command_arn
2823
+ # The Amazon Resource Number (ARN) of the command. For example,
2824
+ # `arn:aws:iot:<region>:<accountid>:command/<commandId>`
2825
+ # @return [String]
2826
+ #
2827
+ class CreateCommandResponse < Struct.new(
2828
+ :command_id,
2829
+ :command_arn)
2830
+ SENSITIVE = []
2831
+ include Aws::Structure
2832
+ end
2833
+
2507
2834
  # @!attribute [rw] metric_name
2508
2835
  # The name of the custom metric. This will be used in the metric
2509
2836
  # report submitted from the device/thing. The name can't begin with
@@ -2952,9 +3279,9 @@ module Aws::IoT
2952
3279
  end
2953
3280
 
2954
3281
  # @!attribute [rw] job_id
2955
- # A job identifier which must be unique for your Amazon Web Services
2956
- # account. We recommend using a UUID. Alpha-numeric characters, "-"
2957
- # and "\_" are valid for use here.
3282
+ # A job identifier which must be unique for your account. We recommend
3283
+ # using a UUID. Alpha-numeric characters, "-" and "\_" are valid
3284
+ # for use here.
2958
3285
  # @return [String]
2959
3286
  #
2960
3287
  # @!attribute [rw] targets
@@ -4483,6 +4810,59 @@ module Aws::IoT
4483
4810
  include Aws::Structure
4484
4811
  end
4485
4812
 
4813
+ # @!attribute [rw] execution_id
4814
+ # The unique identifier of the command execution that you want to
4815
+ # delete from your account.
4816
+ # @return [String]
4817
+ #
4818
+ # @!attribute [rw] target_arn
4819
+ # The Amazon Resource Number (ARN) of the target device for which you
4820
+ # want to delete command executions.
4821
+ # @return [String]
4822
+ #
4823
+ class DeleteCommandExecutionRequest < Struct.new(
4824
+ :execution_id,
4825
+ :target_arn)
4826
+ SENSITIVE = []
4827
+ include Aws::Structure
4828
+ end
4829
+
4830
+ class DeleteCommandExecutionResponse < Aws::EmptyStructure; end
4831
+
4832
+ # @!attribute [rw] command_id
4833
+ # The unique identifier of the command to be deleted.
4834
+ # @return [String]
4835
+ #
4836
+ class DeleteCommandRequest < Struct.new(
4837
+ :command_id)
4838
+ SENSITIVE = []
4839
+ include Aws::Structure
4840
+ end
4841
+
4842
+ # @!attribute [rw] status_code
4843
+ # The status code for the command deletion request. The status code is
4844
+ # in the 200 range for a successful request.
4845
+ #
4846
+ # * If the command hasn't been deprecated, or has been deprecated for
4847
+ # a duration that is shorter than the maximum time out duration of
4848
+ # 12 hours, when calling the `DeleteCommand` request, the deletion
4849
+ # will be scheduled and a 202 status code will be returned. While
4850
+ # the command is being deleted, it will be in a `pendingDeletion`
4851
+ # state. Once the time out duration has been reached, the command
4852
+ # will be permanently removed from your account.
4853
+ #
4854
+ # * If the command has been deprecated for a duration that is longer
4855
+ # than the maximum time out duration of 12 hours, when calling the
4856
+ # `DeleteCommand` request, the command will be deleted immediately
4857
+ # and a 204 status code will be returned.
4858
+ # @return [Integer]
4859
+ #
4860
+ class DeleteCommandResponse < Struct.new(
4861
+ :status_code)
4862
+ SENSITIVE = []
4863
+ include Aws::Structure
4864
+ end
4865
+
4486
4866
  # You can't delete the resource because it is attached to one or more
4487
4867
  # resources.
4488
4868
  #
@@ -5945,7 +6325,7 @@ module Aws::IoT
5945
6325
  # @return [String]
5946
6326
  #
5947
6327
  # @!attribute [rw] before_substitution
5948
- # A flag that provides a view of the job document before and after the
6328
+ # Provides a view of the job document before and after the
5949
6329
  # substitution parameters have been resolved with their exact values.
5950
6330
  # @return [Boolean]
5951
6331
  #
@@ -6729,8 +7109,8 @@ module Aws::IoT
6729
7109
  #
6730
7110
  # @!attribute [rw] thing_type_properties
6731
7111
  # The ThingTypeProperties contains information about the thing type
6732
- # including description, and a list of searchable thing attribute
6733
- # names.
7112
+ # including description, a list of searchable thing attribute names,
7113
+ # and MQTT5 configuration.
6734
7114
  # @return [Types::ThingTypeProperties]
6735
7115
  #
6736
7116
  # @!attribute [rw] thing_type_metadata
@@ -7608,6 +7988,201 @@ module Aws::IoT
7608
7988
  include Aws::Structure
7609
7989
  end
7610
7990
 
7991
+ # @!attribute [rw] execution_id
7992
+ # The unique identifier for the command execution. This information is
7993
+ # returned as a response of the `StartCommandExecution` API request.
7994
+ # @return [String]
7995
+ #
7996
+ # @!attribute [rw] target_arn
7997
+ # The Amazon Resource Number (ARN) of the device on which the command
7998
+ # execution is being performed.
7999
+ # @return [String]
8000
+ #
8001
+ # @!attribute [rw] include_result
8002
+ # Can be used to specify whether to include the result of the command
8003
+ # execution in the `GetCommandExecution` API response. Your device can
8004
+ # use this field to provide additional information about the command
8005
+ # execution. You only need to specify this field when using the
8006
+ # `AWS-IoT` namespace.
8007
+ # @return [Boolean]
8008
+ #
8009
+ class GetCommandExecutionRequest < Struct.new(
8010
+ :execution_id,
8011
+ :target_arn,
8012
+ :include_result)
8013
+ SENSITIVE = []
8014
+ include Aws::Structure
8015
+ end
8016
+
8017
+ # @!attribute [rw] execution_id
8018
+ # The unique identifier of the command execution.
8019
+ # @return [String]
8020
+ #
8021
+ # @!attribute [rw] command_arn
8022
+ # The Amazon Resource Number (ARN) of the command. For example,
8023
+ # ``arn:aws:iot:&lt;region&gt;:&lt;accountid&gt;:command/&lt;commandId&gt;
8024
+ # @return [String]
8025
+ #
8026
+ # @!attribute [rw] target_arn
8027
+ # The Amazon Resource Number (ARN) of the device on which the command
8028
+ # execution is being performed.
8029
+ # @return [String]
8030
+ #
8031
+ # @!attribute [rw] status
8032
+ # The status of the command execution. After your devices receive the
8033
+ # command and start performing the operations specified in the
8034
+ # command, it can use the `UpdateCommandExecution` MQTT API to update
8035
+ # the status information.
8036
+ # @return [String]
8037
+ #
8038
+ # @!attribute [rw] status_reason
8039
+ # Your devices can use this parameter to provide additional context
8040
+ # about the status of a command execution using a reason code and
8041
+ # description.
8042
+ # @return [Types::StatusReason]
8043
+ #
8044
+ # @!attribute [rw] result
8045
+ # The result value for the current state of the command execution. The
8046
+ # status provides information about the progress of the command
8047
+ # execution. The device can use the result field to share additional
8048
+ # details about the execution such as a return value of a remote
8049
+ # function call.
8050
+ #
8051
+ # <note markdown="1"> If you use the `AWS-IoT-FleetWise` namespace, then this field is not
8052
+ # applicable in the API response.
8053
+ #
8054
+ # </note>
8055
+ # @return [Hash<String,Types::CommandExecutionResult>]
8056
+ #
8057
+ # @!attribute [rw] parameters
8058
+ # The list of parameters that the `StartCommandExecution` API used
8059
+ # when performing the command on the device.
8060
+ # @return [Hash<String,Types::CommandParameterValue>]
8061
+ #
8062
+ # @!attribute [rw] execution_timeout_seconds
8063
+ # Specifies the amount of time in seconds that the device can take to
8064
+ # finish a command execution. A timer starts when the command
8065
+ # execution is created. If the command execution status is not set to
8066
+ # another terminal state before the timer expires, it will
8067
+ # automatically update to `TIMED_OUT`.
8068
+ # @return [Integer]
8069
+ #
8070
+ # @!attribute [rw] created_at
8071
+ # The timestamp, when the command execution was created.
8072
+ # @return [Time]
8073
+ #
8074
+ # @!attribute [rw] last_updated_at
8075
+ # The timestamp, when the command execution was last updated.
8076
+ # @return [Time]
8077
+ #
8078
+ # @!attribute [rw] started_at
8079
+ # The timestamp, when the command execution was started.
8080
+ # @return [Time]
8081
+ #
8082
+ # @!attribute [rw] completed_at
8083
+ # The timestamp, when the command execution was completed.
8084
+ # @return [Time]
8085
+ #
8086
+ # @!attribute [rw] time_to_live
8087
+ # The time to live (TTL) parameter for the `GetCommandExecution` API.
8088
+ # @return [Time]
8089
+ #
8090
+ class GetCommandExecutionResponse < Struct.new(
8091
+ :execution_id,
8092
+ :command_arn,
8093
+ :target_arn,
8094
+ :status,
8095
+ :status_reason,
8096
+ :result,
8097
+ :parameters,
8098
+ :execution_timeout_seconds,
8099
+ :created_at,
8100
+ :last_updated_at,
8101
+ :started_at,
8102
+ :completed_at,
8103
+ :time_to_live)
8104
+ SENSITIVE = []
8105
+ include Aws::Structure
8106
+ end
8107
+
8108
+ # @!attribute [rw] command_id
8109
+ # The unique identifier of the command for which you want to retrieve
8110
+ # information.
8111
+ # @return [String]
8112
+ #
8113
+ class GetCommandRequest < Struct.new(
8114
+ :command_id)
8115
+ SENSITIVE = []
8116
+ include Aws::Structure
8117
+ end
8118
+
8119
+ # @!attribute [rw] command_id
8120
+ # The unique identifier of the command.
8121
+ # @return [String]
8122
+ #
8123
+ # @!attribute [rw] command_arn
8124
+ # The Amazon Resource Number (ARN) of the command. For example,
8125
+ # `arn:aws:iot:<region>:<accountid>:command/<commandId>`
8126
+ # @return [String]
8127
+ #
8128
+ # @!attribute [rw] namespace
8129
+ # The namespace of the command.
8130
+ # @return [String]
8131
+ #
8132
+ # @!attribute [rw] display_name
8133
+ # The user-friendly name in the console for the command.
8134
+ # @return [String]
8135
+ #
8136
+ # @!attribute [rw] description
8137
+ # A short text description of the command.
8138
+ # @return [String]
8139
+ #
8140
+ # @!attribute [rw] mandatory_parameters
8141
+ # A list of parameters for the command created.
8142
+ # @return [Array<Types::CommandParameter>]
8143
+ #
8144
+ # @!attribute [rw] payload
8145
+ # The payload object that you provided for the command.
8146
+ # @return [Types::CommandPayload]
8147
+ #
8148
+ # @!attribute [rw] role_arn
8149
+ # The IAM role that allows access to retrieve information about the
8150
+ # command.
8151
+ # @return [String]
8152
+ #
8153
+ # @!attribute [rw] created_at
8154
+ # The timestamp, when the command was created.
8155
+ # @return [Time]
8156
+ #
8157
+ # @!attribute [rw] last_updated_at
8158
+ # The timestamp, when the command was last updated.
8159
+ # @return [Time]
8160
+ #
8161
+ # @!attribute [rw] deprecated
8162
+ # Indicates whether the command has been deprecated.
8163
+ # @return [Boolean]
8164
+ #
8165
+ # @!attribute [rw] pending_deletion
8166
+ # Indicates whether the command is being deleted.
8167
+ # @return [Boolean]
8168
+ #
8169
+ class GetCommandResponse < Struct.new(
8170
+ :command_id,
8171
+ :command_arn,
8172
+ :namespace,
8173
+ :display_name,
8174
+ :description,
8175
+ :mandatory_parameters,
8176
+ :payload,
8177
+ :role_arn,
8178
+ :created_at,
8179
+ :last_updated_at,
8180
+ :deprecated,
8181
+ :pending_deletion)
8182
+ SENSITIVE = []
8183
+ include Aws::Structure
8184
+ end
8185
+
7611
8186
  # @!attribute [rw] principal
7612
8187
  # The principal. Valid principals are CertificateArn
7613
8188
  # (arn:aws:iot:*region*:*accountId*:cert/*certificateId*),
@@ -7666,7 +8241,7 @@ module Aws::IoT
7666
8241
  # @return [String]
7667
8242
  #
7668
8243
  # @!attribute [rw] before_substitution
7669
- # A flag that provides a view of the job document before and after the
8244
+ # Provides a view of the job document before and after the
7670
8245
  # substitution parameters have been resolved with their exact values.
7671
8246
  # @return [Boolean]
7672
8247
  #
@@ -9906,37 +10481,177 @@ module Aws::IoT
9906
10481
  # The result page size.
9907
10482
  # @return [Integer]
9908
10483
  #
9909
- # @!attribute [rw] marker
9910
- # The marker for the next set of results.
10484
+ # @!attribute [rw] marker
10485
+ # The marker for the next set of results.
10486
+ # @return [String]
10487
+ #
10488
+ # @!attribute [rw] ascending_order
10489
+ # Specifies the order for results. If True, the results are returned
10490
+ # in ascending order, based on the creation date.
10491
+ # @return [Boolean]
10492
+ #
10493
+ class ListCertificatesRequest < Struct.new(
10494
+ :page_size,
10495
+ :marker,
10496
+ :ascending_order)
10497
+ SENSITIVE = []
10498
+ include Aws::Structure
10499
+ end
10500
+
10501
+ # The output of the ListCertificates operation.
10502
+ #
10503
+ # @!attribute [rw] certificates
10504
+ # The descriptions of the certificates.
10505
+ # @return [Array<Types::Certificate>]
10506
+ #
10507
+ # @!attribute [rw] next_marker
10508
+ # The marker for the next set of results, or null if there are no
10509
+ # additional results.
10510
+ # @return [String]
10511
+ #
10512
+ class ListCertificatesResponse < Struct.new(
10513
+ :certificates,
10514
+ :next_marker)
10515
+ SENSITIVE = []
10516
+ include Aws::Structure
10517
+ end
10518
+
10519
+ # @!attribute [rw] max_results
10520
+ # The maximum number of results to return in this operation.
10521
+ # @return [Integer]
10522
+ #
10523
+ # @!attribute [rw] next_token
10524
+ # To retrieve the next set of results, the `nextToken` value from a
10525
+ # previous response; otherwise `null` to receive the first set of
10526
+ # results.
10527
+ # @return [String]
10528
+ #
10529
+ # @!attribute [rw] namespace
10530
+ # The namespace of the command.
10531
+ # @return [String]
10532
+ #
10533
+ # @!attribute [rw] status
10534
+ # List all command executions for the device that have a particular
10535
+ # status. For example, you can filter the list to display only command
10536
+ # executions that have failed or timed out.
10537
+ # @return [String]
10538
+ #
10539
+ # @!attribute [rw] sort_order
10540
+ # Specify whether to list the command executions that were created in
10541
+ # the ascending or descending order. By default, the API returns all
10542
+ # commands in the descending order based on the start time or
10543
+ # completion time of the executions, that are determined by the
10544
+ # `startTimeFilter` and `completeTimeFilter` parameters.
10545
+ # @return [String]
10546
+ #
10547
+ # @!attribute [rw] started_time_filter
10548
+ # List all command executions that started any time before or after
10549
+ # the date and time that you specify. The date and time uses the
10550
+ # format `yyyy-MM-dd'T'HH:mm`.
10551
+ # @return [Types::TimeFilter]
10552
+ #
10553
+ # @!attribute [rw] completed_time_filter
10554
+ # List all command executions that completed any time before or after
10555
+ # the date and time that you specify. The date and time uses the
10556
+ # format `yyyy-MM-dd'T'HH:mm`.
10557
+ # @return [Types::TimeFilter]
10558
+ #
10559
+ # @!attribute [rw] target_arn
10560
+ # The Amazon Resource Number (ARN) of the target device. You can use
10561
+ # this information to list all command executions for a particular
10562
+ # device.
10563
+ # @return [String]
10564
+ #
10565
+ # @!attribute [rw] command_arn
10566
+ # The Amazon Resource Number (ARN) of the command. You can use this
10567
+ # information to list all command executions for a particular command.
10568
+ # @return [String]
10569
+ #
10570
+ class ListCommandExecutionsRequest < Struct.new(
10571
+ :max_results,
10572
+ :next_token,
10573
+ :namespace,
10574
+ :status,
10575
+ :sort_order,
10576
+ :started_time_filter,
10577
+ :completed_time_filter,
10578
+ :target_arn,
10579
+ :command_arn)
10580
+ SENSITIVE = []
10581
+ include Aws::Structure
10582
+ end
10583
+
10584
+ # @!attribute [rw] command_executions
10585
+ # The list of command executions.
10586
+ # @return [Array<Types::CommandExecutionSummary>]
10587
+ #
10588
+ # @!attribute [rw] next_token
10589
+ # The token to use to get the next set of results, or `null` if there
10590
+ # are no additional results.
10591
+ # @return [String]
10592
+ #
10593
+ class ListCommandExecutionsResponse < Struct.new(
10594
+ :command_executions,
10595
+ :next_token)
10596
+ SENSITIVE = []
10597
+ include Aws::Structure
10598
+ end
10599
+
10600
+ # @!attribute [rw] max_results
10601
+ # The maximum number of results to return in this operation. By
10602
+ # default, the API returns up to a maximum of 25 results. You can
10603
+ # override this default value to return up to a maximum of 100 results
10604
+ # for this operation.
10605
+ # @return [Integer]
10606
+ #
10607
+ # @!attribute [rw] next_token
10608
+ # To retrieve the next set of results, the `nextToken` value from a
10609
+ # previous response; otherwise `null` to receive the first set of
10610
+ # results.
9911
10611
  # @return [String]
9912
10612
  #
9913
- # @!attribute [rw] ascending_order
9914
- # Specifies the order for results. If True, the results are returned
9915
- # in ascending order, based on the creation date.
9916
- # @return [Boolean]
10613
+ # @!attribute [rw] namespace
10614
+ # The namespace of the command. By default, the API returns all
10615
+ # commands that have been created for both `AWS-IoT` and
10616
+ # `AWS-IoT-FleetWise` namespaces. You can override this default value
10617
+ # if you want to return all commands that have been created only for a
10618
+ # specific namespace.
10619
+ # @return [String]
9917
10620
  #
9918
- class ListCertificatesRequest < Struct.new(
9919
- :page_size,
9920
- :marker,
9921
- :ascending_order)
10621
+ # @!attribute [rw] command_parameter_name
10622
+ # A filter that can be used to display the list of commands that have
10623
+ # a specific command parameter name.
10624
+ # @return [String]
10625
+ #
10626
+ # @!attribute [rw] sort_order
10627
+ # Specify whether to list the commands that you have created in the
10628
+ # ascending or descending order. By default, the API returns all
10629
+ # commands in the descending order based on the time that they were
10630
+ # created.
10631
+ # @return [String]
10632
+ #
10633
+ class ListCommandsRequest < Struct.new(
10634
+ :max_results,
10635
+ :next_token,
10636
+ :namespace,
10637
+ :command_parameter_name,
10638
+ :sort_order)
9922
10639
  SENSITIVE = []
9923
10640
  include Aws::Structure
9924
10641
  end
9925
10642
 
9926
- # The output of the ListCertificates operation.
9927
- #
9928
- # @!attribute [rw] certificates
9929
- # The descriptions of the certificates.
9930
- # @return [Array<Types::Certificate>]
10643
+ # @!attribute [rw] commands
10644
+ # The list of commands.
10645
+ # @return [Array<Types::CommandSummary>]
9931
10646
  #
9932
- # @!attribute [rw] next_marker
9933
- # The marker for the next set of results, or null if there are no
9934
- # additional results.
10647
+ # @!attribute [rw] next_token
10648
+ # The token to use to get the next set of results, or `null` if there
10649
+ # are no additional results.
9935
10650
  # @return [String]
9936
10651
  #
9937
- class ListCertificatesResponse < Struct.new(
9938
- :certificates,
9939
- :next_marker)
10652
+ class ListCommandsResponse < Struct.new(
10653
+ :commands,
10654
+ :next_token)
9940
10655
  SENSITIVE = []
9941
10656
  include Aws::Structure
9942
10657
  end
@@ -10930,6 +11645,66 @@ module Aws::IoT
10930
11645
  include Aws::Structure
10931
11646
  end
10932
11647
 
11648
+ # @!attribute [rw] next_token
11649
+ # To retrieve the next set of results, the `nextToken` value from a
11650
+ # previous response; otherwise **null** to receive the first set of
11651
+ # results.
11652
+ # @return [String]
11653
+ #
11654
+ # @!attribute [rw] max_results
11655
+ # The maximum number of results to return in this operation.
11656
+ # @return [Integer]
11657
+ #
11658
+ # @!attribute [rw] principal
11659
+ # The principal. A principal can be an X.509 certificate or an Amazon
11660
+ # Cognito ID.
11661
+ # @return [String]
11662
+ #
11663
+ # @!attribute [rw] thing_principal_type
11664
+ # The type of the relation you want to filter in the response. If no
11665
+ # value is provided in this field, the response will list all things,
11666
+ # including both the `EXCLUSIVE_THING` and `NON_EXCLUSIVE_THING`
11667
+ # attachment types.
11668
+ #
11669
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
11670
+ # specified thing, exclusively. The thing will be the only thing
11671
+ # that’s attached to the principal.
11672
+ #
11673
+ # ^
11674
+ # ^
11675
+ #
11676
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
11677
+ # specified thing. Multiple things can be attached to the principal.
11678
+ #
11679
+ # ^
11680
+ # @return [String]
11681
+ #
11682
+ class ListPrincipalThingsV2Request < Struct.new(
11683
+ :next_token,
11684
+ :max_results,
11685
+ :principal,
11686
+ :thing_principal_type)
11687
+ SENSITIVE = []
11688
+ include Aws::Structure
11689
+ end
11690
+
11691
+ # @!attribute [rw] principal_thing_objects
11692
+ # A list of `thingPrincipalObject` that represents the principal and
11693
+ # the type of relation it has with the thing.
11694
+ # @return [Array<Types::PrincipalThingObject>]
11695
+ #
11696
+ # @!attribute [rw] next_token
11697
+ # The token to use to get the next set of results, or **null** if
11698
+ # there are no additional results.
11699
+ # @return [String]
11700
+ #
11701
+ class ListPrincipalThingsV2Response < Struct.new(
11702
+ :principal_thing_objects,
11703
+ :next_token)
11704
+ SENSITIVE = []
11705
+ include Aws::Structure
11706
+ end
11707
+
10933
11708
  # @!attribute [rw] template_name
10934
11709
  # The name of the provisioning template.
10935
11710
  # @return [String]
@@ -11500,6 +12275,65 @@ module Aws::IoT
11500
12275
  include Aws::Structure
11501
12276
  end
11502
12277
 
12278
+ # @!attribute [rw] next_token
12279
+ # To retrieve the next set of results, the `nextToken` value from a
12280
+ # previous response; otherwise **null** to receive the first set of
12281
+ # results.
12282
+ # @return [String]
12283
+ #
12284
+ # @!attribute [rw] max_results
12285
+ # The maximum number of results to return in this operation.
12286
+ # @return [Integer]
12287
+ #
12288
+ # @!attribute [rw] thing_name
12289
+ # The name of the thing.
12290
+ # @return [String]
12291
+ #
12292
+ # @!attribute [rw] thing_principal_type
12293
+ # The type of the relation you want to filter in the response. If no
12294
+ # value is provided in this field, the response will list all
12295
+ # principals, including both the `EXCLUSIVE_THING` and
12296
+ # `NON_EXCLUSIVE_THING` attachment types.
12297
+ #
12298
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
12299
+ # specified thing, exclusively. The thing will be the only thing
12300
+ # that’s attached to the principal.
12301
+ #
12302
+ # ^
12303
+ # ^
12304
+ #
12305
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
12306
+ # specified thing. Multiple things can be attached to the principal.
12307
+ #
12308
+ # ^
12309
+ # @return [String]
12310
+ #
12311
+ class ListThingPrincipalsV2Request < Struct.new(
12312
+ :next_token,
12313
+ :max_results,
12314
+ :thing_name,
12315
+ :thing_principal_type)
12316
+ SENSITIVE = []
12317
+ include Aws::Structure
12318
+ end
12319
+
12320
+ # @!attribute [rw] thing_principal_objects
12321
+ # A list of `thingPrincipalObject` that represents the principal and
12322
+ # the type of relation it has with the thing.
12323
+ # @return [Array<Types::ThingPrincipalObject>]
12324
+ #
12325
+ # @!attribute [rw] next_token
12326
+ # The token to use to get the next set of results, or **null** if
12327
+ # there are no additional results.
12328
+ # @return [String]
12329
+ #
12330
+ class ListThingPrincipalsV2Response < Struct.new(
12331
+ :thing_principal_objects,
12332
+ :next_token)
12333
+ SENSITIVE = []
12334
+ include Aws::Structure
12335
+ end
12336
+
11503
12337
  # @!attribute [rw] task_id
11504
12338
  # The id of the task.
11505
12339
  # @return [String]
@@ -12377,6 +13211,20 @@ module Aws::IoT
12377
13211
  include Aws::Structure
12378
13212
  end
12379
13213
 
13214
+ # The configuration to add user-defined properties to enrich MQTT 5
13215
+ # messages.
13216
+ #
13217
+ # @!attribute [rw] propagating_attributes
13218
+ # An object that represents the propagating thing attributes and the
13219
+ # connection attributes.
13220
+ # @return [Array<Types::PropagatingAttribute>]
13221
+ #
13222
+ class Mqtt5Configuration < Struct.new(
13223
+ :propagating_attributes)
13224
+ SENSITIVE = []
13225
+ include Aws::Structure
13226
+ end
13227
+
12380
13228
  # Specifies the MQTT context to use for the test authorizer request
12381
13229
  #
12382
13230
  # @!attribute [rw] username
@@ -12950,6 +13798,62 @@ module Aws::IoT
12950
13798
  include Aws::Structure
12951
13799
  end
12952
13800
 
13801
+ # An object that represents the thing and the type of relation it has
13802
+ # with the principal.
13803
+ #
13804
+ # @!attribute [rw] thing_name
13805
+ # The name of the thing.
13806
+ # @return [String]
13807
+ #
13808
+ # @!attribute [rw] thing_principal_type
13809
+ # The type of the relation you want to specify when you attach a
13810
+ # principal to a thing. The value defaults to `NON_EXCLUSIVE_THING`.
13811
+ #
13812
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
13813
+ # specified thing, exclusively. The thing will be the only thing
13814
+ # that’s attached to the principal.
13815
+ #
13816
+ # ^
13817
+ # ^
13818
+ #
13819
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
13820
+ # specified thing. Multiple things can be attached to the principal.
13821
+ #
13822
+ # ^
13823
+ # @return [String]
13824
+ #
13825
+ class PrincipalThingObject < Struct.new(
13826
+ :thing_name,
13827
+ :thing_principal_type)
13828
+ SENSITIVE = []
13829
+ include Aws::Structure
13830
+ end
13831
+
13832
+ # An object that represents the connection attribute, thing attribute,
13833
+ # and the user property key.
13834
+ #
13835
+ # @!attribute [rw] user_property_key
13836
+ # The key of the user property key-value pair.
13837
+ # @return [String]
13838
+ #
13839
+ # @!attribute [rw] thing_attribute
13840
+ # The user-defined thing attribute that is propagating for MQTT 5
13841
+ # message enrichment.
13842
+ # @return [String]
13843
+ #
13844
+ # @!attribute [rw] connection_attribute
13845
+ # The attribute associated with the connection between a device and
13846
+ # Amazon Web Services IoT Core.
13847
+ # @return [String]
13848
+ #
13849
+ class PropagatingAttribute < Struct.new(
13850
+ :user_property_key,
13851
+ :thing_attribute,
13852
+ :connection_attribute)
13853
+ SENSITIVE = []
13854
+ include Aws::Structure
13855
+ end
13856
+
12953
13857
  # Structure that contains `payloadVersion` and `targetArn`.
12954
13858
  #
12955
13859
  # @!attribute [rw] payload_version
@@ -14090,17 +14994,47 @@ module Aws::IoT
14090
14994
  # A Boolean value that indicates whether Online Certificate Status
14091
14995
  # Protocol (OCSP) server certificate check is enabled or not.
14092
14996
  #
14093
- # For more information, see [Configuring OCSP server-certificate
14094
- # stapling in domain configuration][1] from Amazon Web Services IoT
14095
- # Core Developer Guide.
14997
+ # For more information, see [ Server certificate configuration for
14998
+ # OCSP stapling][1] from Amazon Web Services IoT Core Developer Guide.
14096
14999
  #
14097
15000
  #
14098
15001
  #
14099
15002
  # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-custom-endpoints-cert-config.html
14100
15003
  # @return [Boolean]
14101
15004
  #
15005
+ # @!attribute [rw] ocsp_lambda_arn
15006
+ # The Amazon Resource Name (ARN) for a Lambda function that acts as a
15007
+ # Request for Comments (RFC) 6960-compliant Online Certificate Status
15008
+ # Protocol (OCSP) responder, supporting basic OCSP responses. The
15009
+ # Lambda function accepts a base64-encoding of the OCSP request in the
15010
+ # Distinguished Encoding Rules (DER) format. The Lambda function's
15011
+ # response is also a base64-encoded OCSP response in the DER format.
15012
+ # The response size must not exceed 4 kilobytes (KiB). The Lambda
15013
+ # function must be in the same Amazon Web Services account and region
15014
+ # as the domain configuration. For more information, see [Configuring
15015
+ # server certificate OCSP for private endpoints in Amazon Web Services
15016
+ # IoT Core][1] from the Amazon Web Services IoT Core developer guide.
15017
+ #
15018
+ #
15019
+ #
15020
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/iot-custom-endpoints-cert-config.html#iot-custom-endpoints-cert-config-ocsp-private-endpoint.html
15021
+ # @return [String]
15022
+ #
15023
+ # @!attribute [rw] ocsp_authorized_responder_arn
15024
+ # The Amazon Resource Name (ARN) for an X.509 certificate stored in
15025
+ # Amazon Web Services Certificate Manager (ACM). If provided, Amazon
15026
+ # Web Services IoT Core will use this certificate to validate the
15027
+ # signature of the received OCSP response. The OCSP responder must
15028
+ # sign responses using either this authorized responder certificate or
15029
+ # the issuing certificate, depending on whether the ARN is provided or
15030
+ # not. The certificate must be in the same Amazon Web Services account
15031
+ # and region as the domain configuration.
15032
+ # @return [String]
15033
+ #
14102
15034
  class ServerCertificateConfig < Struct.new(
14103
- :enable_ocsp_check)
15035
+ :enable_ocsp_check,
15036
+ :ocsp_lambda_arn,
15037
+ :ocsp_authorized_responder_arn)
14104
15038
  SENSITIVE = []
14105
15039
  include Aws::Structure
14106
15040
  end
@@ -14127,7 +15061,7 @@ module Aws::IoT
14127
15061
  include Aws::Structure
14128
15062
  end
14129
15063
 
14130
- # A limit has been exceeded.
15064
+ # Service quota has been exceeded.
14131
15065
  #
14132
15066
  # @!attribute [rw] message
14133
15067
  # @return [String]
@@ -14618,6 +15552,26 @@ module Aws::IoT
14618
15552
  include Aws::Structure
14619
15553
  end
14620
15554
 
15555
+ # Provide additional context about the status of a command execution
15556
+ # using a reason code and description.
15557
+ #
15558
+ # @!attribute [rw] reason_code
15559
+ # A code that provides additional context for the command execution
15560
+ # status.
15561
+ # @return [String]
15562
+ #
15563
+ # @!attribute [rw] reason_description
15564
+ # A literal string for devices to optionally provide additional
15565
+ # information about the reason code for a command execution status.
15566
+ # @return [String]
15567
+ #
15568
+ class StatusReason < Struct.new(
15569
+ :reason_code,
15570
+ :reason_description)
15571
+ SENSITIVE = []
15572
+ include Aws::Structure
15573
+ end
15574
+
14621
15575
  # Starts execution of a Step Functions state machine.
14622
15576
  #
14623
15577
  # @!attribute [rw] execution_name_prefix
@@ -15376,6 +16330,37 @@ module Aws::IoT
15376
16330
  include Aws::Structure
15377
16331
  end
15378
16332
 
16333
+ # An object that represents the principal and the type of relation it
16334
+ # has with the thing.
16335
+ #
16336
+ # @!attribute [rw] principal
16337
+ # The principal of the thing principal object.
16338
+ # @return [String]
16339
+ #
16340
+ # @!attribute [rw] thing_principal_type
16341
+ # The type of the relation you want to specify when you attach a
16342
+ # principal to a thing. The value defaults to `NON_EXCLUSIVE_THING`.
16343
+ #
16344
+ # * `EXCLUSIVE_THING` - Attaches the specified principal to the
16345
+ # specified thing, exclusively. The thing will be the only thing
16346
+ # that’s attached to the principal.
16347
+ #
16348
+ # ^
16349
+ # ^
16350
+ #
16351
+ # * `NON_EXCLUSIVE_THING` - Attaches the specified principal to the
16352
+ # specified thing. Multiple things can be attached to the principal.
16353
+ #
16354
+ # ^
16355
+ # @return [String]
16356
+ #
16357
+ class ThingPrincipalObject < Struct.new(
16358
+ :principal,
16359
+ :thing_principal_type)
16360
+ SENSITIVE = []
16361
+ include Aws::Structure
16362
+ end
16363
+
15379
16364
  # The definition of the thing type, including thing type name and
15380
16365
  # description.
15381
16366
  #
@@ -15445,9 +16430,15 @@ module Aws::IoT
15445
16430
  # A list of searchable thing attribute names.
15446
16431
  # @return [Array<String>]
15447
16432
  #
16433
+ # @!attribute [rw] mqtt5_configuration
16434
+ # The configuration to add user-defined properties to enrich MQTT 5
16435
+ # messages.
16436
+ # @return [Types::Mqtt5Configuration]
16437
+ #
15448
16438
  class ThingTypeProperties < Struct.new(
15449
16439
  :thing_type_description,
15450
- :searchable_attributes)
16440
+ :searchable_attributes,
16441
+ :mqtt5_configuration)
15451
16442
  SENSITIVE = []
15452
16443
  include Aws::Structure
15453
16444
  end
@@ -15464,6 +16455,26 @@ module Aws::IoT
15464
16455
  include Aws::Structure
15465
16456
  end
15466
16457
 
16458
+ # A filter that can be used to list command executions for a device that
16459
+ # started or completed before or after a particular date and time.
16460
+ #
16461
+ # @!attribute [rw] after
16462
+ # Filter to display command executions that started or completed only
16463
+ # after a particular date and time.
16464
+ # @return [String]
16465
+ #
16466
+ # @!attribute [rw] before
16467
+ # Filter to display command executions that started or completed only
16468
+ # before a particular date and time.
16469
+ # @return [String]
16470
+ #
16471
+ class TimeFilter < Struct.new(
16472
+ :after,
16473
+ :before)
16474
+ SENSITIVE = []
16475
+ include Aws::Structure
16476
+ end
16477
+
15467
16478
  # Specifies the amount of time each device has to finish its execution
15468
16479
  # of the job. A timer is started when the job execution status is set to
15469
16480
  # `IN_PROGRESS`. If the job execution status is not set to another
@@ -16287,6 +17298,64 @@ module Aws::IoT
16287
17298
  include Aws::Structure
16288
17299
  end
16289
17300
 
17301
+ # @!attribute [rw] command_id
17302
+ # The unique identifier of the command to be updated.
17303
+ # @return [String]
17304
+ #
17305
+ # @!attribute [rw] display_name
17306
+ # The new user-friendly name to use in the console for the command.
17307
+ # @return [String]
17308
+ #
17309
+ # @!attribute [rw] description
17310
+ # A short text description of the command.
17311
+ # @return [String]
17312
+ #
17313
+ # @!attribute [rw] deprecated
17314
+ # A boolean that you can use to specify whether to deprecate a
17315
+ # command.
17316
+ # @return [Boolean]
17317
+ #
17318
+ class UpdateCommandRequest < Struct.new(
17319
+ :command_id,
17320
+ :display_name,
17321
+ :description,
17322
+ :deprecated)
17323
+ SENSITIVE = []
17324
+ include Aws::Structure
17325
+ end
17326
+
17327
+ # @!attribute [rw] command_id
17328
+ # The unique identifier of the command.
17329
+ # @return [String]
17330
+ #
17331
+ # @!attribute [rw] display_name
17332
+ # The updated user-friendly display name in the console for the
17333
+ # command.
17334
+ # @return [String]
17335
+ #
17336
+ # @!attribute [rw] description
17337
+ # The updated text description of the command.
17338
+ # @return [String]
17339
+ #
17340
+ # @!attribute [rw] deprecated
17341
+ # The boolean that indicates whether the command was deprecated.
17342
+ # @return [Boolean]
17343
+ #
17344
+ # @!attribute [rw] last_updated_at
17345
+ # The date and time (epoch timestamp in seconds) when the command was
17346
+ # last updated.
17347
+ # @return [Time]
17348
+ #
17349
+ class UpdateCommandResponse < Struct.new(
17350
+ :command_id,
17351
+ :display_name,
17352
+ :description,
17353
+ :deprecated,
17354
+ :last_updated_at)
17355
+ SENSITIVE = []
17356
+ include Aws::Structure
17357
+ end
17358
+
16290
17359
  # @!attribute [rw] metric_name
16291
17360
  # The name of the custom metric. Cannot be updated.
16292
17361
  # @return [String]
@@ -17383,6 +18452,25 @@ module Aws::IoT
17383
18452
  #
17384
18453
  class UpdateThingResponse < Aws::EmptyStructure; end
17385
18454
 
18455
+ # @!attribute [rw] thing_type_name
18456
+ # The name of a thing type.
18457
+ # @return [String]
18458
+ #
18459
+ # @!attribute [rw] thing_type_properties
18460
+ # The ThingTypeProperties contains information about the thing type
18461
+ # including: a thing type description, and a list of searchable thing
18462
+ # attribute names.
18463
+ # @return [Types::ThingTypeProperties]
18464
+ #
18465
+ class UpdateThingTypeRequest < Struct.new(
18466
+ :thing_type_name,
18467
+ :thing_type_properties)
18468
+ SENSITIVE = []
18469
+ include Aws::Structure
18470
+ end
18471
+
18472
+ class UpdateThingTypeResponse < Aws::EmptyStructure; end
18473
+
17386
18474
  # @!attribute [rw] arn
17387
18475
  # The ARN of the topic rule destination.
17388
18476
  # @return [String]