aws-sdk-iotfleetwise 1.37.0 → 1.38.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.
@@ -519,6 +519,21 @@ module Aws::IoTFleetWise
519
519
  # value: "TagValue", # required
520
520
  # },
521
521
  # ],
522
+ # state_templates: [
523
+ # {
524
+ # identifier: "ResourceIdentifier", # required
525
+ # state_template_update_strategy: { # required
526
+ # periodic: {
527
+ # state_template_update_rate: { # required
528
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
529
+ # value: 1, # required
530
+ # },
531
+ # },
532
+ # on_change: {
533
+ # },
534
+ # },
535
+ # },
536
+ # ],
522
537
  # },
523
538
  # ],
524
539
  # })
@@ -576,6 +591,22 @@ module Aws::IoTFleetWise
576
591
  # "attributeName" => "attributeValue",
577
592
  # },
578
593
  # attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
594
+ # state_templates_to_add: [
595
+ # {
596
+ # identifier: "ResourceIdentifier", # required
597
+ # state_template_update_strategy: { # required
598
+ # periodic: {
599
+ # state_template_update_rate: { # required
600
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
601
+ # value: 1, # required
602
+ # },
603
+ # },
604
+ # on_change: {
605
+ # },
606
+ # },
607
+ # },
608
+ # ],
609
+ # state_templates_to_remove: ["ResourceIdentifier"],
579
610
  # },
580
611
  # ],
581
612
  # })
@@ -608,9 +639,15 @@ module Aws::IoTFleetWise
608
639
  # campaigns][1] in the *Amazon Web Services IoT FleetWise Developer
609
640
  # Guide*.
610
641
  #
642
+ # Access to certain Amazon Web Services IoT FleetWise features is
643
+ # currently gated. For more information, see [Amazon Web Services Region
644
+ # and feature availability][2] in the *Amazon Web Services IoT FleetWise
645
+ # Developer Guide*.
646
+ #
611
647
  #
612
648
  #
613
649
  # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/campaigns.html
650
+ # [2]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
614
651
  #
615
652
  # @option params [required, String] :name
616
653
  # The name of the campaign to create.
@@ -626,35 +663,33 @@ module Aws::IoTFleetWise
626
663
  # The ARN of the vehicle or fleet to deploy a campaign to.
627
664
  #
628
665
  # @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.
666
+ # The time, in milliseconds, to deliver a campaign after it was
667
+ # approved. If it's not specified, `0` is used.
631
668
  #
632
669
  # Default: `0`
633
670
  #
634
671
  # @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.
672
+ # The time the campaign expires, in seconds since epoch (January 1, 1970
673
+ # at midnight UTC time). Vehicle data isn't collected after the
674
+ # campaign expires.
638
675
  #
639
676
  # Default: 253402214400 (December 31, 9999, 00:00:00 UTC)
640
677
  #
641
678
  # @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.
679
+ # How long (in milliseconds) to collect raw data after a triggering
680
+ # event initiates the collection. If it's not specified, `0` is used.
645
681
  #
646
682
  # Default: `0`
647
683
  #
648
684
  # @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.
685
+ # Option for a vehicle to send diagnostic trouble codes to Amazon Web
686
+ # Services IoT FleetWise. If you want to send diagnostic trouble codes,
687
+ # use `SEND_ACTIVE_DTCS`. If it's not specified, `OFF` is used.
653
688
  #
654
689
  # Default: `OFF`
655
690
  #
656
691
  # @option params [String] :spooling_mode
657
- # (Optional) Whether to store collected data after a vehicle lost a
692
+ # Determines whether to store collected data after a vehicle lost a
658
693
  # connection with the cloud. After a connection is re-established, the
659
694
  # data is automatically forwarded to Amazon Web Services IoT FleetWise.
660
695
  # If you want to store collected data when a vehicle loses connection
@@ -663,29 +698,35 @@ module Aws::IoTFleetWise
663
698
  # Default: `OFF`
664
699
  #
665
700
  # @option params [String] :compression
666
- # (Optional) Whether to compress signals before transmitting data to
701
+ # Determines whether to compress signals before transmitting data to
667
702
  # Amazon Web Services IoT FleetWise. If you don't want to compress the
668
703
  # signals, use `OFF`. If it's not specified, `SNAPPY` is used.
669
704
  #
670
705
  # Default: `SNAPPY`
671
706
  #
672
707
  # @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.
708
+ # A number indicating the priority of one campaign over another campaign
709
+ # for a certain vehicle or fleet. A campaign with the lowest value is
710
+ # deployed to vehicles before any other campaigns. If it's not
711
+ # specified, `0` is used.
677
712
  #
678
713
  # Default: `0`
679
714
  #
680
715
  # @option params [Array<Types::SignalInformation>] :signals_to_collect
681
- # (Optional) A list of information about signals to collect.
716
+ # A list of information about signals to collect.
717
+ #
718
+ # <note markdown="1"> If you upload a signal as a condition in a data partition for a
719
+ # campaign, then those same signals must be included in
720
+ # `signalsToCollect`.
721
+ #
722
+ # </note>
682
723
  #
683
724
  # @option params [required, Types::CollectionScheme] :collection_scheme
684
725
  # The data collection scheme associated with the campaign. You can
685
726
  # specify a scheme that collects data based on time or an event.
686
727
  #
687
728
  # @option params [Array<String>] :data_extra_dimensions
688
- # (Optional) A list of vehicle attributes to associate with a campaign.
729
+ # A list of vehicle attributes to associate with a campaign.
689
730
  #
690
731
  # Enrich the data with specified vehicle attributes. For example, add
691
732
  # `make` and `model` to the campaign, and Amazon Web Services IoT
@@ -699,8 +740,11 @@ module Aws::IoTFleetWise
699
740
  # Metadata that can be used to manage the campaign.
700
741
  #
701
742
  # @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.
743
+ # The destination where the campaign sends data. You can send data to an
744
+ # MQTT topic, or store it in Amazon S3 or Amazon Timestream.
745
+ #
746
+ # MQTT is the publish/subscribe messaging protocol used by Amazon Web
747
+ # Services IoT to communicate with your devices.
704
748
  #
705
749
  # Amazon S3 optimizes the cost of data storage and provides additional
706
750
  # mechanisms to use vehicle data, such as data lakes, centralized data
@@ -713,6 +757,13 @@ module Aws::IoTFleetWise
713
757
  # and Timestream to query vehicle data so that you can identify trends
714
758
  # and patterns.
715
759
  #
760
+ # @option params [Array<Types::DataPartition>] :data_partitions
761
+ # The data partitions associated with the signals collected from the
762
+ # vehicle.
763
+ #
764
+ # @option params [Array<Types::SignalFetchInformation>] :signals_to_fetch
765
+ # A list of information about signals to fetch.
766
+ #
716
767
  # @return [Types::CreateCampaignResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
717
768
  #
718
769
  # * {Types::CreateCampaignResponse#name #name} => String
@@ -737,6 +788,7 @@ module Aws::IoTFleetWise
737
788
  # name: "wildcardSignalName", # required
738
789
  # max_sample_count: 1,
739
790
  # minimum_sampling_interval_ms: 1,
791
+ # data_partition_id: "DataPartitionId",
740
792
  # },
741
793
  # ],
742
794
  # collection_scheme: { # required
@@ -769,6 +821,46 @@ module Aws::IoTFleetWise
769
821
  # timestream_table_arn: "TimestreamTableArn", # required
770
822
  # execution_role_arn: "IAMRoleArn", # required
771
823
  # },
824
+ # mqtt_topic_config: {
825
+ # mqtt_topic_arn: "MqttTopicArn", # required
826
+ # execution_role_arn: "IAMRoleArn", # required
827
+ # },
828
+ # },
829
+ # ],
830
+ # data_partitions: [
831
+ # {
832
+ # id: "DataPartitionId", # required
833
+ # storage_options: { # required
834
+ # maximum_size: { # required
835
+ # unit: "MB", # required, accepts MB, GB, TB
836
+ # value: 1, # required
837
+ # },
838
+ # storage_location: "StorageLocation", # required
839
+ # minimum_time_to_live: { # required
840
+ # unit: "HOURS", # required, accepts HOURS, DAYS, WEEKS
841
+ # value: 1, # required
842
+ # },
843
+ # },
844
+ # upload_options: {
845
+ # expression: "eventExpression", # required
846
+ # condition_language_version: 1,
847
+ # },
848
+ # },
849
+ # ],
850
+ # signals_to_fetch: [
851
+ # {
852
+ # fully_qualified_name: "NodePath", # required
853
+ # signal_fetch_config: { # required
854
+ # time_based: {
855
+ # execution_frequency_ms: 1, # required
856
+ # },
857
+ # condition_based: {
858
+ # condition_expression: "fetchConfigEventExpression", # required
859
+ # trigger_mode: "ALWAYS", # required, accepts ALWAYS, RISING_EDGE
860
+ # },
861
+ # },
862
+ # condition_language_version: 1,
863
+ # actions: ["actionEventExpression"], # required
772
864
  # },
773
865
  # ],
774
866
  # })
@@ -811,6 +903,19 @@ module Aws::IoTFleetWise
811
903
  # @option params [Array<Types::NetworkInterface>] :network_interfaces
812
904
  # A list of information about available network interfaces.
813
905
  #
906
+ # @option params [String] :default_for_unmapped_signals
907
+ # Use default decoders for all unmapped signals in the model. You don't
908
+ # need to provide any detailed decoding information.
909
+ #
910
+ # Access to certain Amazon Web Services IoT FleetWise features is
911
+ # currently gated. For more information, see [Amazon Web Services Region
912
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
913
+ # Developer Guide*.
914
+ #
915
+ #
916
+ #
917
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
918
+ #
814
919
  # @option params [Array<Types::Tag>] :tags
815
920
  # Metadata that can be used to manage the decoder manifest.
816
921
  #
@@ -828,7 +933,7 @@ module Aws::IoTFleetWise
828
933
  # signal_decoders: [
829
934
  # {
830
935
  # fully_qualified_name: "FullyQualifiedName", # required
831
- # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL
936
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL, CUSTOM_DECODING_SIGNAL
832
937
  # interface_id: "InterfaceId", # required
833
938
  # can_signal: {
834
939
  # message_id: 1, # required
@@ -880,12 +985,15 @@ module Aws::IoTFleetWise
880
985
  # ],
881
986
  # },
882
987
  # },
988
+ # custom_decoding_signal: {
989
+ # id: "CustomDecodingId", # required
990
+ # },
883
991
  # },
884
992
  # ],
885
993
  # network_interfaces: [
886
994
  # {
887
995
  # interface_id: "InterfaceId", # required
888
- # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE
996
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE, CUSTOM_DECODING_INTERFACE
889
997
  # can_interface: {
890
998
  # name: "CanInterfaceName", # required
891
999
  # protocol_name: "ProtocolName",
@@ -904,8 +1012,12 @@ module Aws::IoTFleetWise
904
1012
  # name: "VehicleMiddlewareName", # required
905
1013
  # protocol_name: "ROS_2", # required, accepts ROS_2
906
1014
  # },
1015
+ # custom_decoding_interface: {
1016
+ # name: "CustomDecodingSignalInterfaceName", # required
1017
+ # },
907
1018
  # },
908
1019
  # ],
1020
+ # default_for_unmapped_signals: "CUSTOM_DECODING", # accepts CUSTOM_DECODING
909
1021
  # tags: [
910
1022
  # {
911
1023
  # key: "TagKey", # required
@@ -1149,6 +1261,99 @@ module Aws::IoTFleetWise
1149
1261
  req.send_request(options)
1150
1262
  end
1151
1263
 
1264
+ # Creates a state template. State templates contain state properties,
1265
+ # which are signals that belong to a signal catalog that is synchronized
1266
+ # between the Amazon Web Services IoT FleetWise Edge and the Amazon Web
1267
+ # Services Cloud.
1268
+ #
1269
+ # Access to certain Amazon Web Services IoT FleetWise features is
1270
+ # currently gated. For more information, see [Amazon Web Services Region
1271
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
1272
+ # Developer Guide*.
1273
+ #
1274
+ #
1275
+ #
1276
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
1277
+ #
1278
+ # @option params [required, String] :name
1279
+ # The name of the state template.
1280
+ #
1281
+ # @option params [String] :description
1282
+ # A brief description of the state template.
1283
+ #
1284
+ # @option params [required, String] :signal_catalog_arn
1285
+ # The ARN of the signal catalog associated with the state template.
1286
+ #
1287
+ # @option params [required, Array<String>] :state_template_properties
1288
+ # A list of signals from which data is collected. The state template
1289
+ # properties contain the fully qualified names of the signals.
1290
+ #
1291
+ # @option params [Array<String>] :data_extra_dimensions
1292
+ # A list of vehicle attributes to associate with the payload published
1293
+ # on the state template's MQTT topic. (See [ Processing last known
1294
+ # state vehicle data using MQTT messaging][1]). For example, if you add
1295
+ # `Vehicle.Attributes.Make` and `Vehicle.Attributes.Model` attributes,
1296
+ # Amazon Web Services IoT FleetWise will enrich the protobuf encoded
1297
+ # payload with those attributes in the `extraDimensions` field.
1298
+ #
1299
+ #
1300
+ #
1301
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
1302
+ #
1303
+ # @option params [Array<String>] :metadata_extra_dimensions
1304
+ # A list of vehicle attributes to associate with user properties of the
1305
+ # messages published on the state template's MQTT topic. (See [
1306
+ # Processing last known state vehicle data using MQTT messaging][1]).
1307
+ # For example, if you add `Vehicle.Attributes.Make` and
1308
+ # `Vehicle.Attributes.Model` attributes, Amazon Web Services IoT
1309
+ # FleetWise will include these attributes as User Properties with the
1310
+ # MQTT message.
1311
+ #
1312
+ # Default: An empty array
1313
+ #
1314
+ #
1315
+ #
1316
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
1317
+ #
1318
+ # @option params [Array<Types::Tag>] :tags
1319
+ # Metadata that can be used to manage the state template.
1320
+ #
1321
+ # @return [Types::CreateStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1322
+ #
1323
+ # * {Types::CreateStateTemplateResponse#name #name} => String
1324
+ # * {Types::CreateStateTemplateResponse#arn #arn} => String
1325
+ # * {Types::CreateStateTemplateResponse#id #id} => String
1326
+ #
1327
+ # @example Request syntax with placeholder values
1328
+ #
1329
+ # resp = client.create_state_template({
1330
+ # name: "resourceName", # required
1331
+ # description: "description",
1332
+ # signal_catalog_arn: "arn", # required
1333
+ # state_template_properties: ["NodePath"], # required
1334
+ # data_extra_dimensions: ["NodePath"],
1335
+ # metadata_extra_dimensions: ["NodePath"],
1336
+ # tags: [
1337
+ # {
1338
+ # key: "TagKey", # required
1339
+ # value: "TagValue", # required
1340
+ # },
1341
+ # ],
1342
+ # })
1343
+ #
1344
+ # @example Response structure
1345
+ #
1346
+ # resp.name #=> String
1347
+ # resp.arn #=> String
1348
+ # resp.id #=> String
1349
+ #
1350
+ # @overload create_state_template(params = {})
1351
+ # @param [Hash] params ({})
1352
+ def create_state_template(params = {}, options = {})
1353
+ req = build_request(:create_state_template, params)
1354
+ req.send_request(options)
1355
+ end
1356
+
1152
1357
  # Creates a vehicle, which is an instance of a vehicle model (model
1153
1358
  # manifest). Vehicles created from the same vehicle model consist of the
1154
1359
  # same signals inherited from the vehicle model.
@@ -1179,8 +1384,10 @@ module Aws::IoTFleetWise
1179
1384
  # Static information about a vehicle in a key-value pair. For example:
1180
1385
  # `"engineType"` : `"1.3 L R2"`
1181
1386
  #
1182
- # A campaign must include the keys (attribute names) in
1183
- # `dataExtraDimensions` for them to display in Amazon Timestream.
1387
+ # To use attributes with Campaigns or State Templates, you must include
1388
+ # them using the request parameters `dataExtraDimensions` and/or
1389
+ # `metadataExtraDimensions` (for state templates only) when creating
1390
+ # your campaign/state template.
1184
1391
  #
1185
1392
  # @option params [String] :association_behavior
1186
1393
  # An option to create a new Amazon Web Services IoT thing when creating
@@ -1192,6 +1399,10 @@ module Aws::IoTFleetWise
1192
1399
  # @option params [Array<Types::Tag>] :tags
1193
1400
  # Metadata that can be used to manage the vehicle.
1194
1401
  #
1402
+ # @option params [Array<Types::StateTemplateAssociation>] :state_templates
1403
+ # Associate state templates with the vehicle. You can monitor the last
1404
+ # known state of the vehicle in near real time.
1405
+ #
1195
1406
  # @return [Types::CreateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1196
1407
  #
1197
1408
  # * {Types::CreateVehicleResponse#vehicle_name #vehicle_name} => String
@@ -1214,6 +1425,21 @@ module Aws::IoTFleetWise
1214
1425
  # value: "TagValue", # required
1215
1426
  # },
1216
1427
  # ],
1428
+ # state_templates: [
1429
+ # {
1430
+ # identifier: "ResourceIdentifier", # required
1431
+ # state_template_update_strategy: { # required
1432
+ # periodic: {
1433
+ # state_template_update_rate: { # required
1434
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
1435
+ # value: 1, # required
1436
+ # },
1437
+ # },
1438
+ # on_change: {
1439
+ # },
1440
+ # },
1441
+ # },
1442
+ # ],
1217
1443
  # })
1218
1444
  #
1219
1445
  # @example Response structure
@@ -1261,11 +1487,6 @@ module Aws::IoTFleetWise
1261
1487
  # Deletes a decoder manifest. You can't delete a decoder manifest if it
1262
1488
  # has vehicles associated with it.
1263
1489
  #
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
1490
  # @option params [required, String] :name
1270
1491
  # The name of the decoder manifest to delete.
1271
1492
  #
@@ -1297,11 +1518,6 @@ module Aws::IoTFleetWise
1297
1518
  # (AWS CLI)][1] in the *Amazon Web Services IoT FleetWise Developer
1298
1519
  # Guide*.
1299
1520
  #
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
1521
  #
1306
1522
  #
1307
1523
  # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/delete-fleet-cli.html
@@ -1334,11 +1550,6 @@ module Aws::IoTFleetWise
1334
1550
 
1335
1551
  # Deletes a vehicle model (model manifest).
1336
1552
  #
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
1553
  # @option params [required, String] :name
1343
1554
  # The name of the model manifest to delete.
1344
1555
  #
@@ -1367,11 +1578,6 @@ module Aws::IoTFleetWise
1367
1578
 
1368
1579
  # Deletes a signal catalog.
1369
1580
  #
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
1581
  # @option params [required, String] :name
1376
1582
  # The name of the signal catalog to delete.
1377
1583
  #
@@ -1398,12 +1604,37 @@ module Aws::IoTFleetWise
1398
1604
  req.send_request(options)
1399
1605
  end
1400
1606
 
1401
- # Deletes a vehicle and removes it from any campaigns.
1607
+ # Deletes a state template.
1402
1608
  #
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.
1609
+ # @option params [required, String] :identifier
1610
+ # A unique, service-generated identifier.
1405
1611
  #
1406
- # </note>
1612
+ # @return [Types::DeleteStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1613
+ #
1614
+ # * {Types::DeleteStateTemplateResponse#name #name} => String
1615
+ # * {Types::DeleteStateTemplateResponse#arn #arn} => String
1616
+ # * {Types::DeleteStateTemplateResponse#id #id} => String
1617
+ #
1618
+ # @example Request syntax with placeholder values
1619
+ #
1620
+ # resp = client.delete_state_template({
1621
+ # identifier: "ResourceIdentifier", # required
1622
+ # })
1623
+ #
1624
+ # @example Response structure
1625
+ #
1626
+ # resp.name #=> String
1627
+ # resp.arn #=> String
1628
+ # resp.id #=> String
1629
+ #
1630
+ # @overload delete_state_template(params = {})
1631
+ # @param [Hash] params ({})
1632
+ def delete_state_template(params = {}, options = {})
1633
+ req = build_request(:delete_state_template, params)
1634
+ req.send_request(options)
1635
+ end
1636
+
1637
+ # Deletes a vehicle and removes it from any campaigns.
1407
1638
  #
1408
1639
  # @option params [required, String] :vehicle_name
1409
1640
  # The ID of the vehicle to delete.
@@ -1434,12 +1665,6 @@ module Aws::IoTFleetWise
1434
1665
  # Removes, or disassociates, a vehicle from a fleet. Disassociating a
1435
1666
  # vehicle from a fleet doesn't delete the vehicle.
1436
1667
  #
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
1668
  # @option params [required, String] :vehicle_name
1444
1669
  # The unique ID of the vehicle to disassociate from the fleet.
1445
1670
  #
@@ -1464,6 +1689,15 @@ module Aws::IoTFleetWise
1464
1689
 
1465
1690
  # Retrieves information about a campaign.
1466
1691
  #
1692
+ # Access to certain Amazon Web Services IoT FleetWise features is
1693
+ # currently gated. For more information, see [Amazon Web Services Region
1694
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
1695
+ # Developer Guide*.
1696
+ #
1697
+ #
1698
+ #
1699
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
1700
+ #
1467
1701
  # @option params [required, String] :name
1468
1702
  # The name of the campaign to retrieve information about.
1469
1703
  #
@@ -1488,6 +1722,8 @@ module Aws::IoTFleetWise
1488
1722
  # * {Types::GetCampaignResponse#creation_time #creation_time} => Time
1489
1723
  # * {Types::GetCampaignResponse#last_modification_time #last_modification_time} => Time
1490
1724
  # * {Types::GetCampaignResponse#data_destination_configs #data_destination_configs} => Array&lt;Types::DataDestinationConfig&gt;
1725
+ # * {Types::GetCampaignResponse#data_partitions #data_partitions} => Array&lt;Types::DataPartition&gt;
1726
+ # * {Types::GetCampaignResponse#signals_to_fetch #signals_to_fetch} => Array&lt;Types::SignalFetchInformation&gt;
1491
1727
  #
1492
1728
  # @example Request syntax with placeholder values
1493
1729
  #
@@ -1514,6 +1750,7 @@ module Aws::IoTFleetWise
1514
1750
  # resp.signals_to_collect[0].name #=> String
1515
1751
  # resp.signals_to_collect[0].max_sample_count #=> Integer
1516
1752
  # resp.signals_to_collect[0].minimum_sampling_interval_ms #=> Integer
1753
+ # resp.signals_to_collect[0].data_partition_id #=> String
1517
1754
  # resp.collection_scheme.time_based_collection_scheme.period_ms #=> Integer
1518
1755
  # resp.collection_scheme.condition_based_collection_scheme.expression #=> String
1519
1756
  # resp.collection_scheme.condition_based_collection_scheme.minimum_trigger_interval_ms #=> Integer
@@ -1530,6 +1767,25 @@ module Aws::IoTFleetWise
1530
1767
  # resp.data_destination_configs[0].s3_config.prefix #=> String
1531
1768
  # resp.data_destination_configs[0].timestream_config.timestream_table_arn #=> String
1532
1769
  # resp.data_destination_configs[0].timestream_config.execution_role_arn #=> String
1770
+ # resp.data_destination_configs[0].mqtt_topic_config.mqtt_topic_arn #=> String
1771
+ # resp.data_destination_configs[0].mqtt_topic_config.execution_role_arn #=> String
1772
+ # resp.data_partitions #=> Array
1773
+ # resp.data_partitions[0].id #=> String
1774
+ # resp.data_partitions[0].storage_options.maximum_size.unit #=> String, one of "MB", "GB", "TB"
1775
+ # resp.data_partitions[0].storage_options.maximum_size.value #=> Integer
1776
+ # resp.data_partitions[0].storage_options.storage_location #=> String
1777
+ # resp.data_partitions[0].storage_options.minimum_time_to_live.unit #=> String, one of "HOURS", "DAYS", "WEEKS"
1778
+ # resp.data_partitions[0].storage_options.minimum_time_to_live.value #=> Integer
1779
+ # resp.data_partitions[0].upload_options.expression #=> String
1780
+ # resp.data_partitions[0].upload_options.condition_language_version #=> Integer
1781
+ # resp.signals_to_fetch #=> Array
1782
+ # resp.signals_to_fetch[0].fully_qualified_name #=> String
1783
+ # resp.signals_to_fetch[0].signal_fetch_config.time_based.execution_frequency_ms #=> Integer
1784
+ # resp.signals_to_fetch[0].signal_fetch_config.condition_based.condition_expression #=> String
1785
+ # resp.signals_to_fetch[0].signal_fetch_config.condition_based.trigger_mode #=> String, one of "ALWAYS", "RISING_EDGE"
1786
+ # resp.signals_to_fetch[0].condition_language_version #=> Integer
1787
+ # resp.signals_to_fetch[0].actions #=> Array
1788
+ # resp.signals_to_fetch[0].actions[0] #=> String
1533
1789
  #
1534
1790
  # @overload get_campaign(params = {})
1535
1791
  # @param [Hash] params ({})
@@ -1788,6 +2044,62 @@ module Aws::IoTFleetWise
1788
2044
  req.send_request(options)
1789
2045
  end
1790
2046
 
2047
+ # Retrieves information about a state template.
2048
+ #
2049
+ # Access to certain Amazon Web Services IoT FleetWise features is
2050
+ # currently gated. For more information, see [Amazon Web Services Region
2051
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
2052
+ # Developer Guide*.
2053
+ #
2054
+ #
2055
+ #
2056
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
2057
+ #
2058
+ # @option params [required, String] :identifier
2059
+ # A unique, service-generated identifier.
2060
+ #
2061
+ # @return [Types::GetStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2062
+ #
2063
+ # * {Types::GetStateTemplateResponse#name #name} => String
2064
+ # * {Types::GetStateTemplateResponse#arn #arn} => String
2065
+ # * {Types::GetStateTemplateResponse#description #description} => String
2066
+ # * {Types::GetStateTemplateResponse#signal_catalog_arn #signal_catalog_arn} => String
2067
+ # * {Types::GetStateTemplateResponse#state_template_properties #state_template_properties} => Array&lt;String&gt;
2068
+ # * {Types::GetStateTemplateResponse#data_extra_dimensions #data_extra_dimensions} => Array&lt;String&gt;
2069
+ # * {Types::GetStateTemplateResponse#metadata_extra_dimensions #metadata_extra_dimensions} => Array&lt;String&gt;
2070
+ # * {Types::GetStateTemplateResponse#creation_time #creation_time} => Time
2071
+ # * {Types::GetStateTemplateResponse#last_modification_time #last_modification_time} => Time
2072
+ # * {Types::GetStateTemplateResponse#id #id} => String
2073
+ #
2074
+ # @example Request syntax with placeholder values
2075
+ #
2076
+ # resp = client.get_state_template({
2077
+ # identifier: "ResourceIdentifier", # required
2078
+ # })
2079
+ #
2080
+ # @example Response structure
2081
+ #
2082
+ # resp.name #=> String
2083
+ # resp.arn #=> String
2084
+ # resp.description #=> String
2085
+ # resp.signal_catalog_arn #=> String
2086
+ # resp.state_template_properties #=> Array
2087
+ # resp.state_template_properties[0] #=> String
2088
+ # resp.data_extra_dimensions #=> Array
2089
+ # resp.data_extra_dimensions[0] #=> String
2090
+ # resp.metadata_extra_dimensions #=> Array
2091
+ # resp.metadata_extra_dimensions[0] #=> String
2092
+ # resp.creation_time #=> Time
2093
+ # resp.last_modification_time #=> Time
2094
+ # resp.id #=> String
2095
+ #
2096
+ # @overload get_state_template(params = {})
2097
+ # @param [Hash] params ({})
2098
+ def get_state_template(params = {}, options = {})
2099
+ req = build_request(:get_state_template, params)
2100
+ req.send_request(options)
2101
+ end
2102
+
1791
2103
  # Retrieves information about a vehicle.
1792
2104
  #
1793
2105
  # @option params [required, String] :vehicle_name
@@ -1800,6 +2112,7 @@ module Aws::IoTFleetWise
1800
2112
  # * {Types::GetVehicleResponse#model_manifest_arn #model_manifest_arn} => String
1801
2113
  # * {Types::GetVehicleResponse#decoder_manifest_arn #decoder_manifest_arn} => String
1802
2114
  # * {Types::GetVehicleResponse#attributes #attributes} => Hash&lt;String,String&gt;
2115
+ # * {Types::GetVehicleResponse#state_templates #state_templates} => Array&lt;Types::StateTemplateAssociation&gt;
1803
2116
  # * {Types::GetVehicleResponse#creation_time #creation_time} => Time
1804
2117
  # * {Types::GetVehicleResponse#last_modification_time #last_modification_time} => Time
1805
2118
  #
@@ -1817,6 +2130,10 @@ module Aws::IoTFleetWise
1817
2130
  # resp.decoder_manifest_arn #=> String
1818
2131
  # resp.attributes #=> Hash
1819
2132
  # resp.attributes["attributeName"] #=> String
2133
+ # resp.state_templates #=> Array
2134
+ # resp.state_templates[0].identifier #=> String
2135
+ # resp.state_templates[0].state_template_update_strategy.periodic.state_template_update_rate.unit #=> String, one of "MILLISECOND", "SECOND", "MINUTE", "HOUR"
2136
+ # resp.state_templates[0].state_template_update_strategy.periodic.state_template_update_rate.value #=> Integer
1820
2137
  # resp.creation_time #=> Time
1821
2138
  # resp.last_modification_time #=> Time
1822
2139
  #
@@ -1827,8 +2144,8 @@ module Aws::IoTFleetWise
1827
2144
  req.send_request(options)
1828
2145
  end
1829
2146
 
1830
- # Retrieves information about the status of a vehicle with any
1831
- # associated campaigns.
2147
+ # Retrieves information about the status of campaigns, decoder
2148
+ # manifests, or state templates associated with a vehicle.
1832
2149
  #
1833
2150
  # @option params [String] :next_token
1834
2151
  # A pagination token for the next set of results.
@@ -1837,10 +2154,12 @@ module Aws::IoTFleetWise
1837
2154
  # are returned, and a `nextToken` pagination token is returned in the
1838
2155
  # response. To retrieve the next set of results, reissue the search
1839
2156
  # request and include the returned token. When all results have been
1840
- # returned, the response does not contain a pagination token value.
2157
+ # returned, the response does not contain a pagination token value. This
2158
+ # parameter is only supported for resources of type `CAMPAIGN`.
1841
2159
  #
1842
2160
  # @option params [Integer] :max_results
1843
2161
  # The maximum number of items to return, between 1 and 100, inclusive.
2162
+ # This parameter is only supported for resources of type `CAMPAIGN`.
1844
2163
  #
1845
2164
  # @option params [required, String] :vehicle_name
1846
2165
  # The ID of the vehicle to retrieve information about.
@@ -1878,6 +2197,9 @@ module Aws::IoTFleetWise
1878
2197
  # Creates a decoder manifest using your existing CAN DBC file from your
1879
2198
  # local device.
1880
2199
  #
2200
+ # The CAN signal name must be unique and not repeated across CAN message
2201
+ # definitions in a .dbc file.
2202
+ #
1881
2203
  # @option params [required, String] :name
1882
2204
  # The name of the decoder manifest to import.
1883
2205
  #
@@ -1988,9 +2310,9 @@ module Aws::IoTFleetWise
1988
2310
  # The maximum number of items to return, between 1 and 100, inclusive.
1989
2311
  #
1990
2312
  # @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`.
2313
+ # An optional parameter to filter the results by the status of each
2314
+ # created campaign in your account. The status can be one of:
2315
+ # `CREATING`, `WAITING_FOR_APPROVAL`, `RUNNING`, or `SUSPENDED`.
1994
2316
  #
1995
2317
  # @return [Types::ListCampaignsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1996
2318
  #
@@ -2068,7 +2390,7 @@ module Aws::IoTFleetWise
2068
2390
  #
2069
2391
  # resp.network_interfaces #=> Array
2070
2392
  # resp.network_interfaces[0].interface_id #=> String
2071
- # resp.network_interfaces[0].type #=> String, one of "CAN_INTERFACE", "OBD_INTERFACE", "VEHICLE_MIDDLEWARE"
2393
+ # resp.network_interfaces[0].type #=> String, one of "CAN_INTERFACE", "OBD_INTERFACE", "VEHICLE_MIDDLEWARE", "CUSTOM_DECODING_INTERFACE"
2072
2394
  # resp.network_interfaces[0].can_interface.name #=> String
2073
2395
  # resp.network_interfaces[0].can_interface.protocol_name #=> String
2074
2396
  # resp.network_interfaces[0].can_interface.protocol_version #=> String
@@ -2081,6 +2403,7 @@ module Aws::IoTFleetWise
2081
2403
  # resp.network_interfaces[0].obd_interface.has_transmission_ecu #=> Boolean
2082
2404
  # resp.network_interfaces[0].vehicle_middleware.name #=> String
2083
2405
  # resp.network_interfaces[0].vehicle_middleware.protocol_name #=> String, one of "ROS_2"
2406
+ # resp.network_interfaces[0].custom_decoding_interface.name #=> String
2084
2407
  # resp.next_token #=> String
2085
2408
  #
2086
2409
  # @overload list_decoder_manifest_network_interfaces(params = {})
@@ -2132,7 +2455,7 @@ module Aws::IoTFleetWise
2132
2455
  #
2133
2456
  # resp.signal_decoders #=> Array
2134
2457
  # resp.signal_decoders[0].fully_qualified_name #=> String
2135
- # resp.signal_decoders[0].type #=> String, one of "CAN_SIGNAL", "OBD_SIGNAL", "MESSAGE_SIGNAL"
2458
+ # resp.signal_decoders[0].type #=> String, one of "CAN_SIGNAL", "OBD_SIGNAL", "MESSAGE_SIGNAL", "CUSTOM_DECODING_SIGNAL"
2136
2459
  # resp.signal_decoders[0].interface_id #=> String
2137
2460
  # resp.signal_decoders[0].can_signal.message_id #=> Integer
2138
2461
  # resp.signal_decoders[0].can_signal.is_big_endian #=> Boolean
@@ -2163,6 +2486,7 @@ module Aws::IoTFleetWise
2163
2486
  # resp.signal_decoders[0].message_signal.structured_message.structured_message_definition #=> Array
2164
2487
  # resp.signal_decoders[0].message_signal.structured_message.structured_message_definition[0].field_name #=> String
2165
2488
  # resp.signal_decoders[0].message_signal.structured_message.structured_message_definition[0].data_type #=> Types::StructuredMessage
2489
+ # resp.signal_decoders[0].custom_decoding_signal.id #=> String
2166
2490
  # resp.next_token #=> String
2167
2491
  #
2168
2492
  # @overload list_decoder_manifest_signals(params = {})
@@ -2647,6 +2971,57 @@ module Aws::IoTFleetWise
2647
2971
  req.send_request(options)
2648
2972
  end
2649
2973
 
2974
+ # Lists information about created state templates.
2975
+ #
2976
+ # Access to certain Amazon Web Services IoT FleetWise features is
2977
+ # currently gated. For more information, see [Amazon Web Services Region
2978
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
2979
+ # Developer Guide*.
2980
+ #
2981
+ #
2982
+ #
2983
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
2984
+ #
2985
+ # @option params [String] :next_token
2986
+ # The token to retrieve the next set of results, or `null` if there are
2987
+ # no more results.
2988
+ #
2989
+ # @option params [Integer] :max_results
2990
+ # The maximum number of items to return, between 1 and 100, inclusive.
2991
+ #
2992
+ # @return [Types::ListStateTemplatesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2993
+ #
2994
+ # * {Types::ListStateTemplatesResponse#summaries #summaries} => Array&lt;Types::StateTemplateSummary&gt;
2995
+ # * {Types::ListStateTemplatesResponse#next_token #next_token} => String
2996
+ #
2997
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2998
+ #
2999
+ # @example Request syntax with placeholder values
3000
+ #
3001
+ # resp = client.list_state_templates({
3002
+ # next_token: "nextToken",
3003
+ # max_results: 1,
3004
+ # })
3005
+ #
3006
+ # @example Response structure
3007
+ #
3008
+ # resp.summaries #=> Array
3009
+ # resp.summaries[0].name #=> String
3010
+ # resp.summaries[0].arn #=> String
3011
+ # resp.summaries[0].signal_catalog_arn #=> String
3012
+ # resp.summaries[0].description #=> String
3013
+ # resp.summaries[0].creation_time #=> Time
3014
+ # resp.summaries[0].last_modification_time #=> Time
3015
+ # resp.summaries[0].id #=> String
3016
+ # resp.next_token #=> String
3017
+ #
3018
+ # @overload list_state_templates(params = {})
3019
+ # @param [Hash] params ({})
3020
+ def list_state_templates(params = {}, options = {})
3021
+ req = build_request(:list_state_templates, params)
3022
+ req.send_request(options)
3023
+ end
3024
+
2650
3025
  # Lists the tags (metadata) you have assigned to the resource.
2651
3026
  #
2652
3027
  # @option params [required, String] :resource_arn
@@ -2688,14 +3063,32 @@ module Aws::IoTFleetWise
2688
3063
  # from a certain vehicle model.
2689
3064
  #
2690
3065
  # @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`.
3066
+ # The fully qualified names of the attributes. You can use this optional
3067
+ # parameter to list the vehicles containing all the attributes in the
3068
+ # request. For example, `attributeNames` could be
3069
+ # "`Vehicle.Body.Engine.Type, Vehicle.Color`" and the corresponding
3070
+ # `attributeValues` could be "`1.3 L R2, Blue`" . In this case, the
3071
+ # API will filter vehicles with an attribute name
3072
+ # `Vehicle.Body.Engine.Type` that contains a value of `1.3 L R2` AND an
3073
+ # attribute name `Vehicle.Color` that contains a value of "`Blue`". A
3074
+ # request must contain unique values for the `attributeNames` filter and
3075
+ # the matching number of `attributeValues` filters to return the subset
3076
+ # of vehicles that match the attributes filter condition.
2693
3077
  #
2694
3078
  # @option params [Array<String>] :attribute_values
2695
3079
  # Static information about a vehicle attribute value in string format.
2696
- # For example:
2697
- #
2698
- # `"1.3 L R2"`
3080
+ # You can use this optional parameter in conjunction with
3081
+ # `attributeNames` to list the vehicles containing all the
3082
+ # `attributeValues` corresponding to the `attributeNames` filter. For
3083
+ # example, `attributeValues` could be "`1.3 L R2, Blue`" and the
3084
+ # corresponding `attributeNames` filter could be
3085
+ # "`Vehicle.Body.Engine.Type, Vehicle.Color`". In this case, the API
3086
+ # will filter vehicles with attribute name `Vehicle.Body.Engine.Type`
3087
+ # that contains a value of `1.3 L R2` AND an attribute name
3088
+ # `Vehicle.Color` that contains a value of "`Blue`". A request must
3089
+ # contain unique values for the `attributeNames` filter and the matching
3090
+ # number of `attributeValues` filter to return the subset of vehicles
3091
+ # that match the attributes filter condition.
2699
3092
  #
2700
3093
  # @option params [String] :next_token
2701
3094
  # A pagination token for the next set of results.
@@ -3100,6 +3493,19 @@ module Aws::IoTFleetWise
3100
3493
  # decoder manifest can't be edited. If the status is `DRAFT`, you can
3101
3494
  # edit the decoder manifest.
3102
3495
  #
3496
+ # @option params [String] :default_for_unmapped_signals
3497
+ # Use default decoders for all unmapped signals in the model. You don't
3498
+ # need to provide any detailed decoding information.
3499
+ #
3500
+ # Access to certain Amazon Web Services IoT FleetWise features is
3501
+ # currently gated. For more information, see [Amazon Web Services Region
3502
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
3503
+ # Developer Guide*.
3504
+ #
3505
+ #
3506
+ #
3507
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
3508
+ #
3103
3509
  # @return [Types::UpdateDecoderManifestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3104
3510
  #
3105
3511
  # * {Types::UpdateDecoderManifestResponse#name #name} => String
@@ -3113,7 +3519,7 @@ module Aws::IoTFleetWise
3113
3519
  # signal_decoders_to_add: [
3114
3520
  # {
3115
3521
  # fully_qualified_name: "FullyQualifiedName", # required
3116
- # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL
3522
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL, CUSTOM_DECODING_SIGNAL
3117
3523
  # interface_id: "InterfaceId", # required
3118
3524
  # can_signal: {
3119
3525
  # message_id: 1, # required
@@ -3165,12 +3571,15 @@ module Aws::IoTFleetWise
3165
3571
  # ],
3166
3572
  # },
3167
3573
  # },
3574
+ # custom_decoding_signal: {
3575
+ # id: "CustomDecodingId", # required
3576
+ # },
3168
3577
  # },
3169
3578
  # ],
3170
3579
  # signal_decoders_to_update: [
3171
3580
  # {
3172
3581
  # fully_qualified_name: "FullyQualifiedName", # required
3173
- # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL
3582
+ # type: "CAN_SIGNAL", # required, accepts CAN_SIGNAL, OBD_SIGNAL, MESSAGE_SIGNAL, CUSTOM_DECODING_SIGNAL
3174
3583
  # interface_id: "InterfaceId", # required
3175
3584
  # can_signal: {
3176
3585
  # message_id: 1, # required
@@ -3222,13 +3631,16 @@ module Aws::IoTFleetWise
3222
3631
  # ],
3223
3632
  # },
3224
3633
  # },
3634
+ # custom_decoding_signal: {
3635
+ # id: "CustomDecodingId", # required
3636
+ # },
3225
3637
  # },
3226
3638
  # ],
3227
3639
  # signal_decoders_to_remove: ["FullyQualifiedName"],
3228
3640
  # network_interfaces_to_add: [
3229
3641
  # {
3230
3642
  # interface_id: "InterfaceId", # required
3231
- # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE
3643
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE, CUSTOM_DECODING_INTERFACE
3232
3644
  # can_interface: {
3233
3645
  # name: "CanInterfaceName", # required
3234
3646
  # protocol_name: "ProtocolName",
@@ -3247,12 +3659,15 @@ module Aws::IoTFleetWise
3247
3659
  # name: "VehicleMiddlewareName", # required
3248
3660
  # protocol_name: "ROS_2", # required, accepts ROS_2
3249
3661
  # },
3662
+ # custom_decoding_interface: {
3663
+ # name: "CustomDecodingSignalInterfaceName", # required
3664
+ # },
3250
3665
  # },
3251
3666
  # ],
3252
3667
  # network_interfaces_to_update: [
3253
3668
  # {
3254
3669
  # interface_id: "InterfaceId", # required
3255
- # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE
3670
+ # type: "CAN_INTERFACE", # required, accepts CAN_INTERFACE, OBD_INTERFACE, VEHICLE_MIDDLEWARE, CUSTOM_DECODING_INTERFACE
3256
3671
  # can_interface: {
3257
3672
  # name: "CanInterfaceName", # required
3258
3673
  # protocol_name: "ProtocolName",
@@ -3271,10 +3686,14 @@ module Aws::IoTFleetWise
3271
3686
  # name: "VehicleMiddlewareName", # required
3272
3687
  # protocol_name: "ROS_2", # required, accepts ROS_2
3273
3688
  # },
3689
+ # custom_decoding_interface: {
3690
+ # name: "CustomDecodingSignalInterfaceName", # required
3691
+ # },
3274
3692
  # },
3275
3693
  # ],
3276
3694
  # network_interfaces_to_remove: ["InterfaceId"],
3277
3695
  # status: "ACTIVE", # accepts ACTIVE, DRAFT, INVALID, VALIDATING
3696
+ # default_for_unmapped_signals: "CUSTOM_DECODING", # accepts CUSTOM_DECODING
3278
3697
  # })
3279
3698
  #
3280
3699
  # @example Response structure
@@ -3291,11 +3710,6 @@ module Aws::IoTFleetWise
3291
3710
 
3292
3711
  # Updates the description of an existing fleet.
3293
3712
  #
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
3713
  # @option params [required, String] :fleet_id
3300
3714
  # The ID of the fleet to update.
3301
3715
  #
@@ -3544,6 +3958,88 @@ module Aws::IoTFleetWise
3544
3958
  req.send_request(options)
3545
3959
  end
3546
3960
 
3961
+ # Updates a state template.
3962
+ #
3963
+ # Access to certain Amazon Web Services IoT FleetWise features is
3964
+ # currently gated. For more information, see [Amazon Web Services Region
3965
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
3966
+ # Developer Guide*.
3967
+ #
3968
+ #
3969
+ #
3970
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
3971
+ #
3972
+ # @option params [required, String] :identifier
3973
+ # A unique, service-generated identifier.
3974
+ #
3975
+ # @option params [String] :description
3976
+ # A brief description of the state template.
3977
+ #
3978
+ # @option params [Array<String>] :state_template_properties_to_add
3979
+ # Add signals from which data is collected as part of the state
3980
+ # template.
3981
+ #
3982
+ # @option params [Array<String>] :state_template_properties_to_remove
3983
+ # Remove signals from which data is collected as part of the state
3984
+ # template.
3985
+ #
3986
+ # @option params [Array<String>] :data_extra_dimensions
3987
+ # A list of vehicle attributes to associate with the payload published
3988
+ # on the state template's MQTT topic. (See [ Processing last known
3989
+ # state vehicle data using MQTT messaging][1]). For example, if you add
3990
+ # `Vehicle.Attributes.Make` and `Vehicle.Attributes.Model` attributes,
3991
+ # Amazon Web Services IoT FleetWise will enrich the protobuf encoded
3992
+ # payload with those attributes in the `extraDimensions` field.
3993
+ #
3994
+ # Default: An empty array
3995
+ #
3996
+ #
3997
+ #
3998
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
3999
+ #
4000
+ # @option params [Array<String>] :metadata_extra_dimensions
4001
+ # A list of vehicle attributes to associate with user properties of the
4002
+ # messages published on the state template's MQTT topic. (See [
4003
+ # Processing last known state vehicle data using MQTT messaging][1]).
4004
+ # For example, if you add `Vehicle.Attributes.Make` and
4005
+ # `Vehicle.Attributes.Model` attributes, Amazon Web Services IoT
4006
+ # FleetWise will include these attributes as User Properties with the
4007
+ # MQTT message.
4008
+ #
4009
+ #
4010
+ #
4011
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
4012
+ #
4013
+ # @return [Types::UpdateStateTemplateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4014
+ #
4015
+ # * {Types::UpdateStateTemplateResponse#name #name} => String
4016
+ # * {Types::UpdateStateTemplateResponse#arn #arn} => String
4017
+ # * {Types::UpdateStateTemplateResponse#id #id} => String
4018
+ #
4019
+ # @example Request syntax with placeholder values
4020
+ #
4021
+ # resp = client.update_state_template({
4022
+ # identifier: "ResourceIdentifier", # required
4023
+ # description: "description",
4024
+ # state_template_properties_to_add: ["NodePath"],
4025
+ # state_template_properties_to_remove: ["NodePath"],
4026
+ # data_extra_dimensions: ["NodePath"],
4027
+ # metadata_extra_dimensions: ["NodePath"],
4028
+ # })
4029
+ #
4030
+ # @example Response structure
4031
+ #
4032
+ # resp.name #=> String
4033
+ # resp.arn #=> String
4034
+ # resp.id #=> String
4035
+ #
4036
+ # @overload update_state_template(params = {})
4037
+ # @param [Hash] params ({})
4038
+ def update_state_template(params = {}, options = {})
4039
+ req = build_request(:update_state_template, params)
4040
+ req.send_request(options)
4041
+ end
4042
+
3547
4043
  # Updates a vehicle.
3548
4044
  #
3549
4045
  # @option params [required, String] :vehicle_name
@@ -3569,6 +4065,12 @@ module Aws::IoTFleetWise
3569
4065
  #
3570
4066
  # This is required if attributes are present in the input.
3571
4067
  #
4068
+ # @option params [Array<Types::StateTemplateAssociation>] :state_templates_to_add
4069
+ # Associate state templates with the vehicle.
4070
+ #
4071
+ # @option params [Array<String>] :state_templates_to_remove
4072
+ # Remove state templates from the vehicle.
4073
+ #
3572
4074
  # @return [Types::UpdateVehicleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3573
4075
  #
3574
4076
  # * {Types::UpdateVehicleResponse#vehicle_name #vehicle_name} => String
@@ -3584,6 +4086,22 @@ module Aws::IoTFleetWise
3584
4086
  # "attributeName" => "attributeValue",
3585
4087
  # },
3586
4088
  # attribute_update_mode: "Overwrite", # accepts Overwrite, Merge
4089
+ # state_templates_to_add: [
4090
+ # {
4091
+ # identifier: "ResourceIdentifier", # required
4092
+ # state_template_update_strategy: { # required
4093
+ # periodic: {
4094
+ # state_template_update_rate: { # required
4095
+ # unit: "MILLISECOND", # required, accepts MILLISECOND, SECOND, MINUTE, HOUR
4096
+ # value: 1, # required
4097
+ # },
4098
+ # },
4099
+ # on_change: {
4100
+ # },
4101
+ # },
4102
+ # },
4103
+ # ],
4104
+ # state_templates_to_remove: ["ResourceIdentifier"],
3587
4105
  # })
3588
4106
  #
3589
4107
  # @example Response structure
@@ -3616,7 +4134,7 @@ module Aws::IoTFleetWise
3616
4134
  tracer: tracer
3617
4135
  )
3618
4136
  context[:gem_name] = 'aws-sdk-iotfleetwise'
3619
- context[:gem_version] = '1.37.0'
4137
+ context[:gem_version] = '1.38.0'
3620
4138
  Seahorse::Client::Request.new(handlers, context)
3621
4139
  end
3622
4140