aws-sdk-iotfleetwise 1.37.0 → 1.39.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.
@@ -257,11 +257,34 @@ module Aws::IoTFleetWise
257
257
  # Used when loading credentials from the shared credentials file
258
258
  # at HOME/.aws/credentials. When not specified, 'default' is used.
259
259
  #
260
+ # @option options [String] :request_checksum_calculation ("when_supported")
261
+ # Determines when a checksum will be calculated for request payloads. Values are:
262
+ #
263
+ # * `when_supported` - (default) When set, a checksum will be
264
+ # calculated for all request payloads of operations modeled with the
265
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
266
+ # `requestAlgorithmMember` is modeled.
267
+ # * `when_required` - When set, a checksum will only be calculated for
268
+ # request payloads of operations modeled with the `httpChecksum` trait where
269
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
270
+ # is modeled and supplied.
271
+ #
260
272
  # @option options [Integer] :request_min_compression_size_bytes (10240)
261
273
  # The minimum size in bytes that triggers compression for request
262
274
  # bodies. The value must be non-negative integer value between 0
263
275
  # and 10485780 bytes inclusive.
264
276
  #
277
+ # @option options [String] :response_checksum_validation ("when_supported")
278
+ # Determines when checksum validation will be performed on response payloads. Values are:
279
+ #
280
+ # * `when_supported` - (default) When set, checksum validation is performed on all
281
+ # response payloads of operations modeled with the `httpChecksum` trait where
282
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
283
+ # are supported.
284
+ # * `when_required` - When set, checksum validation is not performed on
285
+ # response payloads of operations unless the checksum algorithm is supported and
286
+ # the `requestValidationModeMember` member is set to `ENABLED`.
287
+ #
265
288
  # @option options [Proc] :retry_backoff
266
289
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
267
290
  # This option is only used in the `legacy` retry mode.
@@ -519,6 +542,21 @@ module Aws::IoTFleetWise
519
542
  # value: "TagValue", # required
520
543
  # },
521
544
  # ],
545
+ # state_templates: [
546
+ # {
547
+ # identifier: "ResourceIdentifier", # required
548
+ # state_template_update_strategy: { # required
549
+ # periodic: {
550
+ # state_template_update_rate: { # required
551
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
552
+ # value: 1, # required
553
+ # },
554
+ # },
555
+ # on_change: {
556
+ # },
557
+ # },
558
+ # },
559
+ # ],
522
560
  # },
523
561
  # ],
524
562
  # })
@@ -576,6 +614,22 @@ module Aws::IoTFleetWise
576
614
  # "attributeName" => "attributeValue",
577
615
  # },
578
616
  # attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
617
+ # state_templates_to_add: [
618
+ # {
619
+ # identifier: "ResourceIdentifier", # required
620
+ # state_template_update_strategy: { # required
621
+ # periodic: {
622
+ # state_template_update_rate: { # required
623
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
624
+ # value: 1, # required
625
+ # },
626
+ # },
627
+ # on_change: {
628
+ # },
629
+ # },
630
+ # },
631
+ # ],
632
+ # state_templates_to_remove: ["ResourceIdentifier"],
579
633
  # },
580
634
  # ],
581
635
  # })
@@ -608,9 +662,15 @@ module Aws::IoTFleetWise
608
662
  # campaigns][1] in the *Amazon Web Services IoT FleetWise Developer
609
663
  # Guide*.
610
664
  #
665
+ # Access to certain Amazon Web Services IoT FleetWise features is
666
+ # currently gated. For more information, see [Amazon Web Services Region
667
+ # and feature availability][2] in the *Amazon Web Services IoT FleetWise
668
+ # Developer Guide*.
669
+ #
611
670
  #
612
671
  #
613
672
  # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/campaigns.html
673
+ # [2]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
614
674
  #
615
675
  # @option params [required, String] :name
616
676
  # The name of the campaign to create.
@@ -626,35 +686,33 @@ module Aws::IoTFleetWise
626
686
  # The ARN of the vehicle or fleet to deploy a campaign to.
627
687
  #
628
688
  # @option params [Time,DateTime,Date,Integer,String] :start_time
629
- # (Optional) The time, in milliseconds, to deliver a campaign after it
630
- # was approved. If it's not specified, `0` is used.
689
+ # The time, in milliseconds, to deliver a campaign after it was
690
+ # approved. If it's not specified, `0` is used.
631
691
  #
632
692
  # Default: `0`
633
693
  #
634
694
  # @option params [Time,DateTime,Date,Integer,String] :expiry_time
635
- # (Optional) The time the campaign expires, in seconds since epoch
636
- # (January 1, 1970 at midnight UTC time). Vehicle data isn't collected
637
- # after the campaign expires.
695
+ # The time the campaign expires, in seconds since epoch (January 1, 1970
696
+ # at midnight UTC time). Vehicle data isn't collected after the
697
+ # campaign expires.
638
698
  #
639
699
  # Default: 253402214400 (December 31, 9999, 00:00:00 UTC)
640
700
  #
641
701
  # @option params [Integer] :post_trigger_collection_duration
642
- # (Optional) How long (in milliseconds) to collect raw data after a
643
- # triggering event initiates the collection. If it's not specified, `0`
644
- # is used.
702
+ # How long (in milliseconds) to collect raw data after a triggering
703
+ # event initiates the collection. If it's not specified, `0` is used.
645
704
  #
646
705
  # Default: `0`
647
706
  #
648
707
  # @option params [String] :diagnostics_mode
649
- # (Optional) Option for a vehicle to send diagnostic trouble codes to
650
- # Amazon Web Services IoT FleetWise. If you want to send diagnostic
651
- # trouble codes, use `SEND_ACTIVE_DTCS`. If it's not specified, `OFF`
652
- # is used.
708
+ # Option for a vehicle to send diagnostic trouble codes to Amazon Web
709
+ # Services IoT FleetWise. If you want to send diagnostic trouble codes,
710
+ # use `SEND_ACTIVE_DTCS`. If it's not specified, `OFF` is used.
653
711
  #
654
712
  # Default: `OFF`
655
713
  #
656
714
  # @option params [String] :spooling_mode
657
- # (Optional) Whether to store collected data after a vehicle lost a
715
+ # Determines whether to store collected data after a vehicle lost a
658
716
  # connection with the cloud. After a connection is re-established, the
659
717
  # data is automatically forwarded to Amazon Web Services IoT FleetWise.
660
718
  # If you want to store collected data when a vehicle loses connection
@@ -663,29 +721,35 @@ module Aws::IoTFleetWise
663
721
  # Default: `OFF`
664
722
  #
665
723
  # @option params [String] :compression
666
- # (Optional) Whether to compress signals before transmitting data to
724
+ # Determines whether to compress signals before transmitting data to
667
725
  # Amazon Web Services IoT FleetWise. If you don't want to compress the
668
726
  # signals, use `OFF`. If it's not specified, `SNAPPY` is used.
669
727
  #
670
728
  # Default: `SNAPPY`
671
729
  #
672
730
  # @option params [Integer] :priority
673
- # (Optional) A number indicating the priority of one campaign over
674
- # another campaign for a certain vehicle or fleet. A campaign with the
675
- # lowest value is deployed to vehicles before any other campaigns. If
676
- # it's not specified, `0` is used.
731
+ # A number indicating the priority of one campaign over another campaign
732
+ # for a certain vehicle or fleet. A campaign with the lowest value is
733
+ # deployed to vehicles before any other campaigns. If it's not
734
+ # specified, `0` is used.
677
735
  #
678
736
  # Default: `0`
679
737
  #
680
738
  # @option params [Array<Types::SignalInformation>] :signals_to_collect
681
- # (Optional) A list of information about signals to collect.
739
+ # A list of information about signals to collect.
740
+ #
741
+ # <note markdown="1"> If you upload a signal as a condition in a data partition for a
742
+ # campaign, then those same signals must be included in
743
+ # `signalsToCollect`.
744
+ #
745
+ # </note>
682
746
  #
683
747
  # @option params [required, Types::CollectionScheme] :collection_scheme
684
748
  # The data collection scheme associated with the campaign. You can
685
749
  # specify a scheme that collects data based on time or an event.
686
750
  #
687
751
  # @option params [Array<String>] :data_extra_dimensions
688
- # (Optional) A list of vehicle attributes to associate with a campaign.
752
+ # A list of vehicle attributes to associate with a campaign.
689
753
  #
690
754
  # Enrich the data with specified vehicle attributes. For example, add
691
755
  # `make` and `model` to the campaign, and Amazon Web Services IoT
@@ -699,8 +763,11 @@ module Aws::IoTFleetWise
699
763
  # Metadata that can be used to manage the campaign.
700
764
  #
701
765
  # @option params [Array<Types::DataDestinationConfig>] :data_destination_configs
702
- # The destination where the campaign sends data. You can choose to send
703
- # data to be stored in Amazon S3 or Amazon Timestream.
766
+ # The destination where the campaign sends data. You can send data to an
767
+ # MQTT topic, or store it in Amazon S3 or Amazon Timestream.
768
+ #
769
+ # MQTT is the publish/subscribe messaging protocol used by Amazon Web
770
+ # Services IoT to communicate with your devices.
704
771
  #
705
772
  # Amazon S3 optimizes the cost of data storage and provides additional
706
773
  # mechanisms to use vehicle data, such as data lakes, centralized data
@@ -713,6 +780,13 @@ module Aws::IoTFleetWise
713
780
  # and Timestream to query vehicle data so that you can identify trends
714
781
  # and patterns.
715
782
  #
783
+ # @option params [Array<Types::DataPartition>] :data_partitions
784
+ # The data partitions associated with the signals collected from the
785
+ # vehicle.
786
+ #
787
+ # @option params [Array<Types::SignalFetchInformation>] :signals_to_fetch
788
+ # A list of information about signals to fetch.
789
+ #
716
790
  # @return [Types::CreateCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
717
791
  #
718
792
  # * {Types::CreateCampaignResponse#name #name} => String
@@ -737,6 +811,7 @@ module Aws::IoTFleetWise
737
811
  # name: "wildcardSignalName", # required
738
812
  # max_sample_count: 1,
739
813
  # minimum_sampling_interval_ms: 1,
814
+ # data_partition_id: "DataPartitionId",
740
815
  # },
741
816
  # ],
742
817
  # collection_scheme: { # required
@@ -769,6 +844,46 @@ module Aws::IoTFleetWise
769
844
  # timestream_table_arn: "TimestreamTableArn", # required
770
845
  # execution_role_arn: "IAMRoleArn", # required
771
846
  # },
847
+ # mqtt_topic_config: {
848
+ # mqtt_topic_arn: "MqttTopicArn", # required
849
+ # execution_role_arn: "IAMRoleArn", # required
850
+ # },
851
+ # },
852
+ # ],
853
+ # data_partitions: [
854
+ # {
855
+ # id: "DataPartitionId", # required
856
+ # storage_options: { # required
857
+ # maximum_size: { # required
858
+ # unit: "MB", # required, accepts MB, GB, TB
859
+ # value: 1, # required
860
+ # },
861
+ # storage_location: "StorageLocation", # required
862
+ # minimum_time_to_live: { # required
863
+ # unit: "HOURS", # required, accepts HOURS, DAYS, WEEKS
864
+ # value: 1, # required
865
+ # },
866
+ # },
867
+ # upload_options: {
868
+ # expression: "eventExpression", # required
869
+ # condition_language_version: 1,
870
+ # },
871
+ # },
872
+ # ],
873
+ # signals_to_fetch: [
874
+ # {
875
+ # fully_qualified_name: "NodePath", # required
876
+ # signal_fetch_config: { # required
877
+ # time_based: {
878
+ # execution_frequency_ms: 1, # required
879
+ # },
880
+ # condition_based: {
881
+ # condition_expression: "fetchConfigEventExpression", # required
882
+ # trigger_mode: "ALWAYS", # required, accepts ALWAYS, RISING_EDGE
883
+ # },
884
+ # },
885
+ # condition_language_version: 1,
886
+ # actions: ["actionEventExpression"], # required
772
887
  # },
773
888
  # ],
774
889
  # })
@@ -811,6 +926,19 @@ module Aws::IoTFleetWise
811
926
  # @option params [Array<Types::NetworkInterface>] :network_interfaces
812
927
  # A list of information about available network interfaces.
813
928
  #
929
+ # @option params [String] :default_for_unmapped_signals
930
+ # Use default decoders for all unmapped signals in the model. You don't
931
+ # need to provide any detailed decoding information.
932
+ #
933
+ # Access to certain Amazon Web Services IoT FleetWise features is
934
+ # currently gated. For more information, see [Amazon Web Services Region
935
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
936
+ # Developer Guide*.
937
+ #
938
+ #
939
+ #
940
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
941
+ #
814
942
  # @option params [Array<Types::Tag>] :tags
815
943
  # Metadata that can be used to manage the decoder manifest.
816
944
  #
@@ -828,7 +956,7 @@ module Aws::IoTFleetWise
828
956
  # signal_decoders: [
829
957
  # {
830
958
  # fully_qualified_name: "FullyQualifiedName", # required
831
- # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL
959
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL, CUSTOM_DECODING_SIGNAL
832
960
  # interface_id: "InterfaceId", # required
833
961
  # can_signal: {
834
962
  # message_id: 1, # required
@@ -880,12 +1008,15 @@ module Aws::IoTFleetWise
880
1008
  # ],
881
1009
  # },
882
1010
  # },
1011
+ # custom_decoding_signal: {
1012
+ # id: "CustomDecodingId", # required
1013
+ # },
883
1014
  # },
884
1015
  # ],
885
1016
  # network_interfaces: [
886
1017
  # {
887
1018
  # interface_id: "InterfaceId", # required
888
- # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE
1019
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE, CUSTOM_DECODING_INTERFACE
889
1020
  # can_interface: {
890
1021
  # name: "CanInterfaceName", # required
891
1022
  # protocol_name: "ProtocolName",
@@ -904,8 +1035,12 @@ module Aws::IoTFleetWise
904
1035
  # name: "VehicleMiddlewareName", # required
905
1036
  # protocol_name: "ROS_2", # required, accepts ROS_2
906
1037
  # },
1038
+ # custom_decoding_interface: {
1039
+ # name: "CustomDecodingSignalInterfaceName", # required
1040
+ # },
907
1041
  # },
908
1042
  # ],
1043
+ # default_for_unmapped_signals: "CUSTOM_DECODING", # accepts CUSTOM_DECODING
909
1044
  # tags: [
910
1045
  # {
911
1046
  # key: "TagKey", # required
@@ -1149,6 +1284,99 @@ module Aws::IoTFleetWise
1149
1284
  req.send_request(options)
1150
1285
  end
1151
1286
 
1287
+ # Creates a state template. State templates contain state properties,
1288
+ # which are signals that belong to a signal catalog that is synchronized
1289
+ # between the Amazon Web Services IoT FleetWise Edge and the Amazon Web
1290
+ # Services Cloud.
1291
+ #
1292
+ # Access to certain Amazon Web Services IoT FleetWise features is
1293
+ # currently gated. For more information, see [Amazon Web Services Region
1294
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
1295
+ # Developer Guide*.
1296
+ #
1297
+ #
1298
+ #
1299
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
1300
+ #
1301
+ # @option params [required, String] :name
1302
+ # The name of the state template.
1303
+ #
1304
+ # @option params [String] :description
1305
+ # A brief description of the state template.
1306
+ #
1307
+ # @option params [required, String] :signal_catalog_arn
1308
+ # The ARN of the signal catalog associated with the state template.
1309
+ #
1310
+ # @option params [required, Array<String>] :state_template_properties
1311
+ # A list of signals from which data is collected. The state template
1312
+ # properties contain the fully qualified names of the signals.
1313
+ #
1314
+ # @option params [Array<String>] :data_extra_dimensions
1315
+ # A list of vehicle attributes to associate with the payload published
1316
+ # on the state template's MQTT topic. (See [ Processing last known
1317
+ # state vehicle data using MQTT messaging][1]). For example, if you add
1318
+ # `Vehicle.Attributes.Make` and `Vehicle.Attributes.Model` attributes,
1319
+ # Amazon Web Services IoT FleetWise will enrich the protobuf encoded
1320
+ # payload with those attributes in the `extraDimensions` field.
1321
+ #
1322
+ #
1323
+ #
1324
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
1325
+ #
1326
+ # @option params [Array<String>] :metadata_extra_dimensions
1327
+ # A list of vehicle attributes to associate with user properties of the
1328
+ # messages published on the state template's MQTT topic. (See [
1329
+ # Processing last known state vehicle data using MQTT messaging][1]).
1330
+ # For example, if you add `Vehicle.Attributes.Make` and
1331
+ # `Vehicle.Attributes.Model` attributes, Amazon Web Services IoT
1332
+ # FleetWise will include these attributes as User Properties with the
1333
+ # MQTT message.
1334
+ #
1335
+ # Default: An empty array
1336
+ #
1337
+ #
1338
+ #
1339
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
1340
+ #
1341
+ # @option params [Array<Types::Tag>] :tags
1342
+ # Metadata that can be used to manage the state template.
1343
+ #
1344
+ # @return [Types::CreateStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1345
+ #
1346
+ # * {Types::CreateStateTemplateResponse#name #name} => String
1347
+ # * {Types::CreateStateTemplateResponse#arn #arn} => String
1348
+ # * {Types::CreateStateTemplateResponse#id #id} => String
1349
+ #
1350
+ # @example Request syntax with placeholder values
1351
+ #
1352
+ # resp = client.create_state_template({
1353
+ # name: "resourceName", # required
1354
+ # description: "description",
1355
+ # signal_catalog_arn: "arn", # required
1356
+ # state_template_properties: ["NodePath"], # required
1357
+ # data_extra_dimensions: ["NodePath"],
1358
+ # metadata_extra_dimensions: ["NodePath"],
1359
+ # tags: [
1360
+ # {
1361
+ # key: "TagKey", # required
1362
+ # value: "TagValue", # required
1363
+ # },
1364
+ # ],
1365
+ # })
1366
+ #
1367
+ # @example Response structure
1368
+ #
1369
+ # resp.name #=> String
1370
+ # resp.arn #=> String
1371
+ # resp.id #=> String
1372
+ #
1373
+ # @overload create_state_template(params = {})
1374
+ # @param [Hash] params ({})
1375
+ def create_state_template(params = {}, options = {})
1376
+ req = build_request(:create_state_template, params)
1377
+ req.send_request(options)
1378
+ end
1379
+
1152
1380
  # Creates a vehicle, which is an instance of a vehicle model (model
1153
1381
  # manifest). Vehicles created from the same vehicle model consist of the
1154
1382
  # same signals inherited from the vehicle model.
@@ -1179,8 +1407,10 @@ module Aws::IoTFleetWise
1179
1407
  # Static information about a vehicle in a key-value pair. For example:
1180
1408
  # `"engineType"` : `"1.3 L R2"`
1181
1409
  #
1182
- # A campaign must include the keys (attribute names) in
1183
- # `dataExtraDimensions` for them to display in Amazon Timestream.
1410
+ # To use attributes with Campaigns or State Templates, you must include
1411
+ # them using the request parameters `dataExtraDimensions` and/or
1412
+ # `metadataExtraDimensions` (for state templates only) when creating
1413
+ # your campaign/state template.
1184
1414
  #
1185
1415
  # @option params [String] :association_behavior
1186
1416
  # An option to create a new Amazon Web Services IoT thing when creating
@@ -1192,6 +1422,10 @@ module Aws::IoTFleetWise
1192
1422
  # @option params [Array<Types::Tag>] :tags
1193
1423
  # Metadata that can be used to manage the vehicle.
1194
1424
  #
1425
+ # @option params [Array<Types::StateTemplateAssociation>] :state_templates
1426
+ # Associate state templates with the vehicle. You can monitor the last
1427
+ # known state of the vehicle in near real time.
1428
+ #
1195
1429
  # @return [Types::CreateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1196
1430
  #
1197
1431
  # * {Types::CreateVehicleResponse#vehicle_name #vehicle_name} => String
@@ -1214,6 +1448,21 @@ module Aws::IoTFleetWise
1214
1448
  # value: "TagValue", # required
1215
1449
  # },
1216
1450
  # ],
1451
+ # state_templates: [
1452
+ # {
1453
+ # identifier: "ResourceIdentifier", # required
1454
+ # state_template_update_strategy: { # required
1455
+ # periodic: {
1456
+ # state_template_update_rate: { # required
1457
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
1458
+ # value: 1, # required
1459
+ # },
1460
+ # },
1461
+ # on_change: {
1462
+ # },
1463
+ # },
1464
+ # },
1465
+ # ],
1217
1466
  # })
1218
1467
  #
1219
1468
  # @example Response structure
@@ -1261,11 +1510,6 @@ module Aws::IoTFleetWise
1261
1510
  # Deletes a decoder manifest. You can't delete a decoder manifest if it
1262
1511
  # has vehicles associated with it.
1263
1512
  #
1264
- # <note markdown="1"> If the decoder manifest is successfully deleted, Amazon Web Services
1265
- # IoT FleetWise sends back an HTTP 200 response with an empty body.
1266
- #
1267
- # </note>
1268
- #
1269
1513
  # @option params [required, String] :name
1270
1514
  # The name of the decoder manifest to delete.
1271
1515
  #
@@ -1297,11 +1541,6 @@ module Aws::IoTFleetWise
1297
1541
  # (AWS CLI)][1] in the *Amazon Web Services IoT FleetWise Developer
1298
1542
  # Guide*.
1299
1543
  #
1300
- # <note markdown="1"> If the fleet is successfully deleted, Amazon Web Services IoT
1301
- # FleetWise sends back an HTTP 200 response with an empty body.
1302
- #
1303
- # </note>
1304
- #
1305
1544
  #
1306
1545
  #
1307
1546
  # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/delete-fleet-cli.html
@@ -1334,11 +1573,6 @@ module Aws::IoTFleetWise
1334
1573
 
1335
1574
  # Deletes a vehicle model (model manifest).
1336
1575
  #
1337
- # <note markdown="1"> If the vehicle model is successfully deleted, Amazon Web Services IoT
1338
- # FleetWise sends back an HTTP 200 response with an empty body.
1339
- #
1340
- # </note>
1341
- #
1342
1576
  # @option params [required, String] :name
1343
1577
  # The name of the model manifest to delete.
1344
1578
  #
@@ -1367,11 +1601,6 @@ module Aws::IoTFleetWise
1367
1601
 
1368
1602
  # Deletes a signal catalog.
1369
1603
  #
1370
- # <note markdown="1"> If the signal catalog is successfully deleted, Amazon Web Services IoT
1371
- # FleetWise sends back an HTTP 200 response with an empty body.
1372
- #
1373
- # </note>
1374
- #
1375
1604
  # @option params [required, String] :name
1376
1605
  # The name of the signal catalog to delete.
1377
1606
  #
@@ -1398,12 +1627,37 @@ module Aws::IoTFleetWise
1398
1627
  req.send_request(options)
1399
1628
  end
1400
1629
 
1401
- # Deletes a vehicle and removes it from any campaigns.
1630
+ # Deletes a state template.
1402
1631
  #
1403
- # <note markdown="1"> If the vehicle is successfully deleted, Amazon Web Services IoT
1404
- # FleetWise sends back an HTTP 200 response with an empty body.
1632
+ # @option params [required, String] :identifier
1633
+ # A unique, service-generated identifier.
1405
1634
  #
1406
- # </note>
1635
+ # @return [Types::DeleteStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1636
+ #
1637
+ # * {Types::DeleteStateTemplateResponse#name #name} => String
1638
+ # * {Types::DeleteStateTemplateResponse#arn #arn} => String
1639
+ # * {Types::DeleteStateTemplateResponse#id #id} => String
1640
+ #
1641
+ # @example Request syntax with placeholder values
1642
+ #
1643
+ # resp = client.delete_state_template({
1644
+ # identifier: "ResourceIdentifier", # required
1645
+ # })
1646
+ #
1647
+ # @example Response structure
1648
+ #
1649
+ # resp.name #=> String
1650
+ # resp.arn #=> String
1651
+ # resp.id #=> String
1652
+ #
1653
+ # @overload delete_state_template(params = {})
1654
+ # @param [Hash] params ({})
1655
+ def delete_state_template(params = {}, options = {})
1656
+ req = build_request(:delete_state_template, params)
1657
+ req.send_request(options)
1658
+ end
1659
+
1660
+ # Deletes a vehicle and removes it from any campaigns.
1407
1661
  #
1408
1662
  # @option params [required, String] :vehicle_name
1409
1663
  # The ID of the vehicle to delete.
@@ -1434,12 +1688,6 @@ module Aws::IoTFleetWise
1434
1688
  # Removes, or disassociates, a vehicle from a fleet. Disassociating a
1435
1689
  # vehicle from a fleet doesn't delete the vehicle.
1436
1690
  #
1437
- # <note markdown="1"> If the vehicle is successfully dissociated from a fleet, Amazon Web
1438
- # Services IoT FleetWise sends back an HTTP 200 response with an empty
1439
- # body.
1440
- #
1441
- # </note>
1442
- #
1443
1691
  # @option params [required, String] :vehicle_name
1444
1692
  # The unique ID of the vehicle to disassociate from the fleet.
1445
1693
  #
@@ -1464,6 +1712,15 @@ module Aws::IoTFleetWise
1464
1712
 
1465
1713
  # Retrieves information about a campaign.
1466
1714
  #
1715
+ # Access to certain Amazon Web Services IoT FleetWise features is
1716
+ # currently gated. For more information, see [Amazon Web Services Region
1717
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
1718
+ # Developer Guide*.
1719
+ #
1720
+ #
1721
+ #
1722
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
1723
+ #
1467
1724
  # @option params [required, String] :name
1468
1725
  # The name of the campaign to retrieve information about.
1469
1726
  #
@@ -1488,6 +1745,8 @@ module Aws::IoTFleetWise
1488
1745
  # * {Types::GetCampaignResponse#creation_time #creation_time} => Time
1489
1746
  # * {Types::GetCampaignResponse#last_modification_time #last_modification_time} => Time
1490
1747
  # * {Types::GetCampaignResponse#data_destination_configs #data_destination_configs} => Array&lt;Types::DataDestinationConfig&gt;
1748
+ # * {Types::GetCampaignResponse#data_partitions #data_partitions} => Array&lt;Types::DataPartition&gt;
1749
+ # * {Types::GetCampaignResponse#signals_to_fetch #signals_to_fetch} => Array&lt;Types::SignalFetchInformation&gt;
1491
1750
  #
1492
1751
  # @example Request syntax with placeholder values
1493
1752
  #
@@ -1514,6 +1773,7 @@ module Aws::IoTFleetWise
1514
1773
  # resp.signals_to_collect[0].name #=> String
1515
1774
  # resp.signals_to_collect[0].max_sample_count #=> Integer
1516
1775
  # resp.signals_to_collect[0].minimum_sampling_interval_ms #=> Integer
1776
+ # resp.signals_to_collect[0].data_partition_id #=> String
1517
1777
  # resp.collection_scheme.time_based_collection_scheme.period_ms #=> Integer
1518
1778
  # resp.collection_scheme.condition_based_collection_scheme.expression #=> String
1519
1779
  # resp.collection_scheme.condition_based_collection_scheme.minimum_trigger_interval_ms #=> Integer
@@ -1530,6 +1790,25 @@ module Aws::IoTFleetWise
1530
1790
  # resp.data_destination_configs[0].s3_config.prefix #=> String
1531
1791
  # resp.data_destination_configs[0].timestream_config.timestream_table_arn #=> String
1532
1792
  # resp.data_destination_configs[0].timestream_config.execution_role_arn #=> String
1793
+ # resp.data_destination_configs[0].mqtt_topic_config.mqtt_topic_arn #=> String
1794
+ # resp.data_destination_configs[0].mqtt_topic_config.execution_role_arn #=> String
1795
+ # resp.data_partitions #=> Array
1796
+ # resp.data_partitions[0].id #=> String
1797
+ # resp.data_partitions[0].storage_options.maximum_size.unit #=> String, one of "MB", "GB", "TB"
1798
+ # resp.data_partitions[0].storage_options.maximum_size.value #=> Integer
1799
+ # resp.data_partitions[0].storage_options.storage_location #=> String
1800
+ # resp.data_partitions[0].storage_options.minimum_time_to_live.unit #=> String, one of "HOURS", "DAYS", "WEEKS"
1801
+ # resp.data_partitions[0].storage_options.minimum_time_to_live.value #=> Integer
1802
+ # resp.data_partitions[0].upload_options.expression #=> String
1803
+ # resp.data_partitions[0].upload_options.condition_language_version #=> Integer
1804
+ # resp.signals_to_fetch #=> Array
1805
+ # resp.signals_to_fetch[0].fully_qualified_name #=> String
1806
+ # resp.signals_to_fetch[0].signal_fetch_config.time_based.execution_frequency_ms #=> Integer
1807
+ # resp.signals_to_fetch[0].signal_fetch_config.condition_based.condition_expression #=> String
1808
+ # resp.signals_to_fetch[0].signal_fetch_config.condition_based.trigger_mode #=> String, one of "ALWAYS", "RISING_EDGE"
1809
+ # resp.signals_to_fetch[0].condition_language_version #=> Integer
1810
+ # resp.signals_to_fetch[0].actions #=> Array
1811
+ # resp.signals_to_fetch[0].actions[0] #=> String
1533
1812
  #
1534
1813
  # @overload get_campaign(params = {})
1535
1814
  # @param [Hash] params ({})
@@ -1788,6 +2067,62 @@ module Aws::IoTFleetWise
1788
2067
  req.send_request(options)
1789
2068
  end
1790
2069
 
2070
+ # Retrieves information about a state template.
2071
+ #
2072
+ # Access to certain Amazon Web Services IoT FleetWise features is
2073
+ # currently gated. For more information, see [Amazon Web Services Region
2074
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
2075
+ # Developer Guide*.
2076
+ #
2077
+ #
2078
+ #
2079
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
2080
+ #
2081
+ # @option params [required, String] :identifier
2082
+ # A unique, service-generated identifier.
2083
+ #
2084
+ # @return [Types::GetStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2085
+ #
2086
+ # * {Types::GetStateTemplateResponse#name #name} => String
2087
+ # * {Types::GetStateTemplateResponse#arn #arn} => String
2088
+ # * {Types::GetStateTemplateResponse#description #description} => String
2089
+ # * {Types::GetStateTemplateResponse#signal_catalog_arn #signal_catalog_arn} => String
2090
+ # * {Types::GetStateTemplateResponse#state_template_properties #state_template_properties} => Array&lt;String&gt;
2091
+ # * {Types::GetStateTemplateResponse#data_extra_dimensions #data_extra_dimensions} => Array&lt;String&gt;
2092
+ # * {Types::GetStateTemplateResponse#metadata_extra_dimensions #metadata_extra_dimensions} => Array&lt;String&gt;
2093
+ # * {Types::GetStateTemplateResponse#creation_time #creation_time} => Time
2094
+ # * {Types::GetStateTemplateResponse#last_modification_time #last_modification_time} => Time
2095
+ # * {Types::GetStateTemplateResponse#id #id} => String
2096
+ #
2097
+ # @example Request syntax with placeholder values
2098
+ #
2099
+ # resp = client.get_state_template({
2100
+ # identifier: "ResourceIdentifier", # required
2101
+ # })
2102
+ #
2103
+ # @example Response structure
2104
+ #
2105
+ # resp.name #=> String
2106
+ # resp.arn #=> String
2107
+ # resp.description #=> String
2108
+ # resp.signal_catalog_arn #=> String
2109
+ # resp.state_template_properties #=> Array
2110
+ # resp.state_template_properties[0] #=> String
2111
+ # resp.data_extra_dimensions #=> Array
2112
+ # resp.data_extra_dimensions[0] #=> String
2113
+ # resp.metadata_extra_dimensions #=> Array
2114
+ # resp.metadata_extra_dimensions[0] #=> String
2115
+ # resp.creation_time #=> Time
2116
+ # resp.last_modification_time #=> Time
2117
+ # resp.id #=> String
2118
+ #
2119
+ # @overload get_state_template(params = {})
2120
+ # @param [Hash] params ({})
2121
+ def get_state_template(params = {}, options = {})
2122
+ req = build_request(:get_state_template, params)
2123
+ req.send_request(options)
2124
+ end
2125
+
1791
2126
  # Retrieves information about a vehicle.
1792
2127
  #
1793
2128
  # @option params [required, String] :vehicle_name
@@ -1800,6 +2135,7 @@ module Aws::IoTFleetWise
1800
2135
  # * {Types::GetVehicleResponse#model_manifest_arn #model_manifest_arn} => String
1801
2136
  # * {Types::GetVehicleResponse#decoder_manifest_arn #decoder_manifest_arn} => String
1802
2137
  # * {Types::GetVehicleResponse#attributes #attributes} => Hash&lt;String,String&gt;
2138
+ # * {Types::GetVehicleResponse#state_templates #state_templates} => Array&lt;Types::StateTemplateAssociation&gt;
1803
2139
  # * {Types::GetVehicleResponse#creation_time #creation_time} => Time
1804
2140
  # * {Types::GetVehicleResponse#last_modification_time #last_modification_time} => Time
1805
2141
  #
@@ -1817,6 +2153,10 @@ module Aws::IoTFleetWise
1817
2153
  # resp.decoder_manifest_arn #=> String
1818
2154
  # resp.attributes #=> Hash
1819
2155
  # resp.attributes["attributeName"] #=> String
2156
+ # resp.state_templates #=> Array
2157
+ # resp.state_templates[0].identifier #=> String
2158
+ # resp.state_templates[0].state_template_update_strategy.periodic.state_template_update_rate.unit #=> String, one of "MILLISECOND", "SECOND", "MINUTE", "HOUR"
2159
+ # resp.state_templates[0].state_template_update_strategy.periodic.state_template_update_rate.value #=> Integer
1820
2160
  # resp.creation_time #=> Time
1821
2161
  # resp.last_modification_time #=> Time
1822
2162
  #
@@ -1827,8 +2167,8 @@ module Aws::IoTFleetWise
1827
2167
  req.send_request(options)
1828
2168
  end
1829
2169
 
1830
- # Retrieves information about the status of a vehicle with any
1831
- # associated campaigns.
2170
+ # Retrieves information about the status of campaigns, decoder
2171
+ # manifests, or state templates associated with a vehicle.
1832
2172
  #
1833
2173
  # @option params [String] :next_token
1834
2174
  # A pagination token for the next set of results.
@@ -1837,10 +2177,12 @@ module Aws::IoTFleetWise
1837
2177
  # are returned, and a `nextToken` pagination token is returned in the
1838
2178
  # response. To retrieve the next set of results, reissue the search
1839
2179
  # request and include the returned token. When all results have been
1840
- # returned, the response does not contain a pagination token value.
2180
+ # returned, the response does not contain a pagination token value. This
2181
+ # parameter is only supported for resources of type `CAMPAIGN`.
1841
2182
  #
1842
2183
  # @option params [Integer] :max_results
1843
2184
  # The maximum number of items to return, between 1 and 100, inclusive.
2185
+ # This parameter is only supported for resources of type `CAMPAIGN`.
1844
2186
  #
1845
2187
  # @option params [required, String] :vehicle_name
1846
2188
  # The ID of the vehicle to retrieve information about.
@@ -1878,6 +2220,9 @@ module Aws::IoTFleetWise
1878
2220
  # Creates a decoder manifest using your existing CAN DBC file from your
1879
2221
  # local device.
1880
2222
  #
2223
+ # The CAN signal name must be unique and not repeated across CAN message
2224
+ # definitions in a .dbc file.
2225
+ #
1881
2226
  # @option params [required, String] :name
1882
2227
  # The name of the decoder manifest to import.
1883
2228
  #
@@ -1988,9 +2333,9 @@ module Aws::IoTFleetWise
1988
2333
  # The maximum number of items to return, between 1 and 100, inclusive.
1989
2334
  #
1990
2335
  # @option params [String] :status
1991
- # Optional parameter to filter the results by the status of each created
1992
- # campaign in your account. The status can be one of: `CREATING`,
1993
- # `WAITING_FOR_APPROVAL`, `RUNNING`, or `SUSPENDED`.
2336
+ # An optional parameter to filter the results by the status of each
2337
+ # created campaign in your account. The status can be one of:
2338
+ # `CREATING`, `WAITING_FOR_APPROVAL`, `RUNNING`, or `SUSPENDED`.
1994
2339
  #
1995
2340
  # @return [Types::ListCampaignsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1996
2341
  #
@@ -2068,7 +2413,7 @@ module Aws::IoTFleetWise
2068
2413
  #
2069
2414
  # resp.network_interfaces #=> Array
2070
2415
  # resp.network_interfaces[0].interface_id #=> String
2071
- # resp.network_interfaces[0].type #=> String, one of "CAN_INTERFACE", "OBD_INTERFACE", "VEHICLE_MIDDLEWARE"
2416
+ # resp.network_interfaces[0].type #=> String, one of "CAN_INTERFACE", "OBD_INTERFACE", "VEHICLE_MIDDLEWARE", "CUSTOM_DECODING_INTERFACE"
2072
2417
  # resp.network_interfaces[0].can_interface.name #=> String
2073
2418
  # resp.network_interfaces[0].can_interface.protocol_name #=> String
2074
2419
  # resp.network_interfaces[0].can_interface.protocol_version #=> String
@@ -2081,6 +2426,7 @@ module Aws::IoTFleetWise
2081
2426
  # resp.network_interfaces[0].obd_interface.has_transmission_ecu #=> Boolean
2082
2427
  # resp.network_interfaces[0].vehicle_middleware.name #=> String
2083
2428
  # resp.network_interfaces[0].vehicle_middleware.protocol_name #=> String, one of "ROS_2"
2429
+ # resp.network_interfaces[0].custom_decoding_interface.name #=> String
2084
2430
  # resp.next_token #=> String
2085
2431
  #
2086
2432
  # @overload list_decoder_manifest_network_interfaces(params = {})
@@ -2132,7 +2478,7 @@ module Aws::IoTFleetWise
2132
2478
  #
2133
2479
  # resp.signal_decoders #=> Array
2134
2480
  # resp.signal_decoders[0].fully_qualified_name #=> String
2135
- # resp.signal_decoders[0].type #=> String, one of "CAN_SIGNAL", "OBD_SIGNAL", "MESSAGE_SIGNAL"
2481
+ # resp.signal_decoders[0].type #=> String, one of "CAN_SIGNAL", "OBD_SIGNAL", "MESSAGE_SIGNAL", "CUSTOM_DECODING_SIGNAL"
2136
2482
  # resp.signal_decoders[0].interface_id #=> String
2137
2483
  # resp.signal_decoders[0].can_signal.message_id #=> Integer
2138
2484
  # resp.signal_decoders[0].can_signal.is_big_endian #=> Boolean
@@ -2163,6 +2509,7 @@ module Aws::IoTFleetWise
2163
2509
  # resp.signal_decoders[0].message_signal.structured_message.structured_message_definition #=> Array
2164
2510
  # resp.signal_decoders[0].message_signal.structured_message.structured_message_definition[0].field_name #=> String
2165
2511
  # resp.signal_decoders[0].message_signal.structured_message.structured_message_definition[0].data_type #=> Types::StructuredMessage
2512
+ # resp.signal_decoders[0].custom_decoding_signal.id #=> String
2166
2513
  # resp.next_token #=> String
2167
2514
  #
2168
2515
  # @overload list_decoder_manifest_signals(params = {})
@@ -2647,6 +2994,57 @@ module Aws::IoTFleetWise
2647
2994
  req.send_request(options)
2648
2995
  end
2649
2996
 
2997
+ # Lists information about created state templates.
2998
+ #
2999
+ # Access to certain Amazon Web Services IoT FleetWise features is
3000
+ # currently gated. For more information, see [Amazon Web Services Region
3001
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
3002
+ # Developer Guide*.
3003
+ #
3004
+ #
3005
+ #
3006
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
3007
+ #
3008
+ # @option params [String] :next_token
3009
+ # The token to retrieve the next set of results, or `null` if there are
3010
+ # no more results.
3011
+ #
3012
+ # @option params [Integer] :max_results
3013
+ # The maximum number of items to return, between 1 and 100, inclusive.
3014
+ #
3015
+ # @return [Types::ListStateTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3016
+ #
3017
+ # * {Types::ListStateTemplatesResponse#summaries #summaries} => Array&lt;Types::StateTemplateSummary&gt;
3018
+ # * {Types::ListStateTemplatesResponse#next_token #next_token} => String
3019
+ #
3020
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3021
+ #
3022
+ # @example Request syntax with placeholder values
3023
+ #
3024
+ # resp = client.list_state_templates({
3025
+ # next_token: "nextToken",
3026
+ # max_results: 1,
3027
+ # })
3028
+ #
3029
+ # @example Response structure
3030
+ #
3031
+ # resp.summaries #=> Array
3032
+ # resp.summaries[0].name #=> String
3033
+ # resp.summaries[0].arn #=> String
3034
+ # resp.summaries[0].signal_catalog_arn #=> String
3035
+ # resp.summaries[0].description #=> String
3036
+ # resp.summaries[0].creation_time #=> Time
3037
+ # resp.summaries[0].last_modification_time #=> Time
3038
+ # resp.summaries[0].id #=> String
3039
+ # resp.next_token #=> String
3040
+ #
3041
+ # @overload list_state_templates(params = {})
3042
+ # @param [Hash] params ({})
3043
+ def list_state_templates(params = {}, options = {})
3044
+ req = build_request(:list_state_templates, params)
3045
+ req.send_request(options)
3046
+ end
3047
+
2650
3048
  # Lists the tags (metadata) you have assigned to the resource.
2651
3049
  #
2652
3050
  # @option params [required, String] :resource_arn
@@ -2688,14 +3086,32 @@ module Aws::IoTFleetWise
2688
3086
  # from a certain vehicle model.
2689
3087
  #
2690
3088
  # @option params [Array<String>] :attribute_names
2691
- # The fully qualified names of the attributes. For example, the fully
2692
- # qualified name of an attribute might be `Vehicle.Body.Engine.Type`.
3089
+ # The fully qualified names of the attributes. You can use this optional
3090
+ # parameter to list the vehicles containing all the attributes in the
3091
+ # request. For example, `attributeNames` could be
3092
+ # "`Vehicle.Body.Engine.Type, Vehicle.Color`" and the corresponding
3093
+ # `attributeValues` could be "`1.3 L R2, Blue`" . In this case, the
3094
+ # API will filter vehicles with an attribute name
3095
+ # `Vehicle.Body.Engine.Type` that contains a value of `1.3 L R2` AND an
3096
+ # attribute name `Vehicle.Color` that contains a value of "`Blue`". A
3097
+ # request must contain unique values for the `attributeNames` filter and
3098
+ # the matching number of `attributeValues` filters to return the subset
3099
+ # of vehicles that match the attributes filter condition.
2693
3100
  #
2694
3101
  # @option params [Array<String>] :attribute_values
2695
3102
  # Static information about a vehicle attribute value in string format.
2696
- # For example:
2697
- #
2698
- # `"1.3 L R2"`
3103
+ # You can use this optional parameter in conjunction with
3104
+ # `attributeNames` to list the vehicles containing all the
3105
+ # `attributeValues` corresponding to the `attributeNames` filter. For
3106
+ # example, `attributeValues` could be "`1.3 L R2, Blue`" and the
3107
+ # corresponding `attributeNames` filter could be
3108
+ # "`Vehicle.Body.Engine.Type, Vehicle.Color`". In this case, the API
3109
+ # will filter vehicles with attribute name `Vehicle.Body.Engine.Type`
3110
+ # that contains a value of `1.3 L R2` AND an attribute name
3111
+ # `Vehicle.Color` that contains a value of "`Blue`". A request must
3112
+ # contain unique values for the `attributeNames` filter and the matching
3113
+ # number of `attributeValues` filter to return the subset of vehicles
3114
+ # that match the attributes filter condition.
2699
3115
  #
2700
3116
  # @option params [String] :next_token
2701
3117
  # A pagination token for the next set of results.
@@ -3100,6 +3516,19 @@ module Aws::IoTFleetWise
3100
3516
  # decoder manifest can't be edited. If the status is `DRAFT`, you can
3101
3517
  # edit the decoder manifest.
3102
3518
  #
3519
+ # @option params [String] :default_for_unmapped_signals
3520
+ # Use default decoders for all unmapped signals in the model. You don't
3521
+ # need to provide any detailed decoding information.
3522
+ #
3523
+ # Access to certain Amazon Web Services IoT FleetWise features is
3524
+ # currently gated. For more information, see [Amazon Web Services Region
3525
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
3526
+ # Developer Guide*.
3527
+ #
3528
+ #
3529
+ #
3530
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
3531
+ #
3103
3532
  # @return [Types::UpdateDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3104
3533
  #
3105
3534
  # * {Types::UpdateDecoderManifestResponse#name #name} => String
@@ -3113,7 +3542,7 @@ module Aws::IoTFleetWise
3113
3542
  # signal_decoders_to_add: [
3114
3543
  # {
3115
3544
  # fully_qualified_name: "FullyQualifiedName", # required
3116
- # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL
3545
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL, CUSTOM_DECODING_SIGNAL
3117
3546
  # interface_id: "InterfaceId", # required
3118
3547
  # can_signal: {
3119
3548
  # message_id: 1, # required
@@ -3165,12 +3594,15 @@ module Aws::IoTFleetWise
3165
3594
  # ],
3166
3595
  # },
3167
3596
  # },
3597
+ # custom_decoding_signal: {
3598
+ # id: "CustomDecodingId", # required
3599
+ # },
3168
3600
  # },
3169
3601
  # ],
3170
3602
  # signal_decoders_to_update: [
3171
3603
  # {
3172
3604
  # fully_qualified_name: "FullyQualifiedName", # required
3173
- # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL
3605
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL, CUSTOM_DECODING_SIGNAL
3174
3606
  # interface_id: "InterfaceId", # required
3175
3607
  # can_signal: {
3176
3608
  # message_id: 1, # required
@@ -3222,13 +3654,16 @@ module Aws::IoTFleetWise
3222
3654
  # ],
3223
3655
  # },
3224
3656
  # },
3657
+ # custom_decoding_signal: {
3658
+ # id: "CustomDecodingId", # required
3659
+ # },
3225
3660
  # },
3226
3661
  # ],
3227
3662
  # signal_decoders_to_remove: ["FullyQualifiedName"],
3228
3663
  # network_interfaces_to_add: [
3229
3664
  # {
3230
3665
  # interface_id: "InterfaceId", # required
3231
- # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE
3666
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE, CUSTOM_DECODING_INTERFACE
3232
3667
  # can_interface: {
3233
3668
  # name: "CanInterfaceName", # required
3234
3669
  # protocol_name: "ProtocolName",
@@ -3247,12 +3682,15 @@ module Aws::IoTFleetWise
3247
3682
  # name: "VehicleMiddlewareName", # required
3248
3683
  # protocol_name: "ROS_2", # required, accepts ROS_2
3249
3684
  # },
3685
+ # custom_decoding_interface: {
3686
+ # name: "CustomDecodingSignalInterfaceName", # required
3687
+ # },
3250
3688
  # },
3251
3689
  # ],
3252
3690
  # network_interfaces_to_update: [
3253
3691
  # {
3254
3692
  # interface_id: "InterfaceId", # required
3255
- # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE
3693
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE, CUSTOM_DECODING_INTERFACE
3256
3694
  # can_interface: {
3257
3695
  # name: "CanInterfaceName", # required
3258
3696
  # protocol_name: "ProtocolName",
@@ -3271,10 +3709,14 @@ module Aws::IoTFleetWise
3271
3709
  # name: "VehicleMiddlewareName", # required
3272
3710
  # protocol_name: "ROS_2", # required, accepts ROS_2
3273
3711
  # },
3712
+ # custom_decoding_interface: {
3713
+ # name: "CustomDecodingSignalInterfaceName", # required
3714
+ # },
3274
3715
  # },
3275
3716
  # ],
3276
3717
  # network_interfaces_to_remove: ["InterfaceId"],
3277
3718
  # status: "ACTIVE", # accepts ACTIVE, DRAFT, INVALID, VALIDATING
3719
+ # default_for_unmapped_signals: "CUSTOM_DECODING", # accepts CUSTOM_DECODING
3278
3720
  # })
3279
3721
  #
3280
3722
  # @example Response structure
@@ -3291,11 +3733,6 @@ module Aws::IoTFleetWise
3291
3733
 
3292
3734
  # Updates the description of an existing fleet.
3293
3735
  #
3294
- # <note markdown="1"> If the fleet is successfully updated, Amazon Web Services IoT
3295
- # FleetWise sends back an HTTP 200 response with an empty HTTP body.
3296
- #
3297
- # </note>
3298
- #
3299
3736
  # @option params [required, String] :fleet_id
3300
3737
  # The ID of the fleet to update.
3301
3738
  #
@@ -3544,6 +3981,88 @@ module Aws::IoTFleetWise
3544
3981
  req.send_request(options)
3545
3982
  end
3546
3983
 
3984
+ # Updates a state template.
3985
+ #
3986
+ # Access to certain Amazon Web Services IoT FleetWise features is
3987
+ # currently gated. For more information, see [Amazon Web Services Region
3988
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
3989
+ # Developer Guide*.
3990
+ #
3991
+ #
3992
+ #
3993
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
3994
+ #
3995
+ # @option params [required, String] :identifier
3996
+ # A unique, service-generated identifier.
3997
+ #
3998
+ # @option params [String] :description
3999
+ # A brief description of the state template.
4000
+ #
4001
+ # @option params [Array<String>] :state_template_properties_to_add
4002
+ # Add signals from which data is collected as part of the state
4003
+ # template.
4004
+ #
4005
+ # @option params [Array<String>] :state_template_properties_to_remove
4006
+ # Remove signals from which data is collected as part of the state
4007
+ # template.
4008
+ #
4009
+ # @option params [Array<String>] :data_extra_dimensions
4010
+ # A list of vehicle attributes to associate with the payload published
4011
+ # on the state template's MQTT topic. (See [ Processing last known
4012
+ # state vehicle data using MQTT messaging][1]). For example, if you add
4013
+ # `Vehicle.Attributes.Make` and `Vehicle.Attributes.Model` attributes,
4014
+ # Amazon Web Services IoT FleetWise will enrich the protobuf encoded
4015
+ # payload with those attributes in the `extraDimensions` field.
4016
+ #
4017
+ # Default: An empty array
4018
+ #
4019
+ #
4020
+ #
4021
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
4022
+ #
4023
+ # @option params [Array<String>] :metadata_extra_dimensions
4024
+ # A list of vehicle attributes to associate with user properties of the
4025
+ # messages published on the state template's MQTT topic. (See [
4026
+ # Processing last known state vehicle data using MQTT messaging][1]).
4027
+ # For example, if you add `Vehicle.Attributes.Make` and
4028
+ # `Vehicle.Attributes.Model` attributes, Amazon Web Services IoT
4029
+ # FleetWise will include these attributes as User Properties with the
4030
+ # MQTT message.
4031
+ #
4032
+ #
4033
+ #
4034
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
4035
+ #
4036
+ # @return [Types::UpdateStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4037
+ #
4038
+ # * {Types::UpdateStateTemplateResponse#name #name} => String
4039
+ # * {Types::UpdateStateTemplateResponse#arn #arn} => String
4040
+ # * {Types::UpdateStateTemplateResponse#id #id} => String
4041
+ #
4042
+ # @example Request syntax with placeholder values
4043
+ #
4044
+ # resp = client.update_state_template({
4045
+ # identifier: "ResourceIdentifier", # required
4046
+ # description: "description",
4047
+ # state_template_properties_to_add: ["NodePath"],
4048
+ # state_template_properties_to_remove: ["NodePath"],
4049
+ # data_extra_dimensions: ["NodePath"],
4050
+ # metadata_extra_dimensions: ["NodePath"],
4051
+ # })
4052
+ #
4053
+ # @example Response structure
4054
+ #
4055
+ # resp.name #=> String
4056
+ # resp.arn #=> String
4057
+ # resp.id #=> String
4058
+ #
4059
+ # @overload update_state_template(params = {})
4060
+ # @param [Hash] params ({})
4061
+ def update_state_template(params = {}, options = {})
4062
+ req = build_request(:update_state_template, params)
4063
+ req.send_request(options)
4064
+ end
4065
+
3547
4066
  # Updates a vehicle.
3548
4067
  #
3549
4068
  # @option params [required, String] :vehicle_name
@@ -3569,6 +4088,12 @@ module Aws::IoTFleetWise
3569
4088
  #
3570
4089
  # This is required if attributes are present in the input.
3571
4090
  #
4091
+ # @option params [Array<Types::StateTemplateAssociation>] :state_templates_to_add
4092
+ # Associate state templates with the vehicle.
4093
+ #
4094
+ # @option params [Array<String>] :state_templates_to_remove
4095
+ # Remove state templates from the vehicle.
4096
+ #
3572
4097
  # @return [Types::UpdateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3573
4098
  #
3574
4099
  # * {Types::UpdateVehicleResponse#vehicle_name #vehicle_name} => String
@@ -3584,6 +4109,22 @@ module Aws::IoTFleetWise
3584
4109
  # "attributeName" => "attributeValue",
3585
4110
  # },
3586
4111
  # attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
4112
+ # state_templates_to_add: [
4113
+ # {
4114
+ # identifier: "ResourceIdentifier", # required
4115
+ # state_template_update_strategy: { # required
4116
+ # periodic: {
4117
+ # state_template_update_rate: { # required
4118
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
4119
+ # value: 1, # required
4120
+ # },
4121
+ # },
4122
+ # on_change: {
4123
+ # },
4124
+ # },
4125
+ # },
4126
+ # ],
4127
+ # state_templates_to_remove: ["ResourceIdentifier"],
3587
4128
  # })
3588
4129
  #
3589
4130
  # @example Response structure
@@ -3616,7 +4157,7 @@ module Aws::IoTFleetWise
3616
4157
  tracer: tracer
3617
4158
  )
3618
4159
  context[:gem_name] = 'aws-sdk-iotfleetwise'
3619
- context[:gem_version] = '1.37.0'
4160
+ context[:gem_version] = '1.39.0'
3620
4161
  Seahorse::Client::Request.new(handlers, context)
3621
4162
  end
3622
4163