aws-sdk-iotfleetwise 1.36.0 → 1.38.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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.36.0'
4137
+ context[:gem_version] = '1.38.0'
3620
4138
  Seahorse::Client::Request.new(handlers, context)
3621
4139
  end
3622
4140