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,23 @@ module Aws::IoTFleetWise
519
519
  include Aws::Structure
520
520
  end
521
521
 
522
+ # Specifies the condition under which a signal fetch occurs.
523
+ #
524
+ # @!attribute [rw] condition_expression
525
+ # The condition that must be satisfied to trigger a signal fetch.
526
+ # @return [String]
527
+ #
528
+ # @!attribute [rw] trigger_mode
529
+ # Indicates the mode in which the signal fetch is triggered.
530
+ # @return [String]
531
+ #
532
+ class ConditionBasedSignalFetchConfig < Struct.new(
533
+ :condition_expression,
534
+ :trigger_mode)
535
+ SENSITIVE = [:condition_expression]
536
+ include Aws::Structure
537
+ end
538
+
522
539
  # The request has conflicting operations. This can occur if you're
523
540
  # trying to perform more than one operation on the same resource at the
524
541
  # same time.
@@ -561,39 +578,38 @@ module Aws::IoTFleetWise
561
578
  # @return [String]
562
579
  #
563
580
  # @!attribute [rw] start_time
564
- # (Optional) The time, in milliseconds, to deliver a campaign after it
565
- # was approved. If it's not specified, `0` is used.
581
+ # The time, in milliseconds, to deliver a campaign after it was
582
+ # approved. If it's not specified, `0` is used.
566
583
  #
567
584
  # Default: `0`
568
585
  # @return [Time]
569
586
  #
570
587
  # @!attribute [rw] expiry_time
571
- # (Optional) The time the campaign expires, in seconds since epoch
572
- # (January 1, 1970 at midnight UTC time). Vehicle data isn't
573
- # collected after the campaign expires.
588
+ # The time the campaign expires, in seconds since epoch (January 1,
589
+ # 1970 at midnight UTC time). Vehicle data isn't collected after the
590
+ # campaign expires.
574
591
  #
575
592
  # Default: 253402214400 (December 31, 9999, 00:00:00 UTC)
576
593
  # @return [Time]
577
594
  #
578
595
  # @!attribute [rw] post_trigger_collection_duration
579
- # (Optional) How long (in milliseconds) to collect raw data after a
580
- # triggering event initiates the collection. If it's not specified,
581
- # `0` is used.
596
+ # How long (in milliseconds) to collect raw data after a triggering
597
+ # event initiates the collection. If it's not specified, `0` is used.
582
598
  #
583
599
  # Default: `0`
584
600
  # @return [Integer]
585
601
  #
586
602
  # @!attribute [rw] diagnostics_mode
587
- # (Optional) Option for a vehicle to send diagnostic trouble codes to
588
- # Amazon Web Services IoT FleetWise. If you want to send diagnostic
589
- # trouble codes, use `SEND_ACTIVE_DTCS`. If it's not specified, `OFF`
590
- # is used.
603
+ # Option for a vehicle to send diagnostic trouble codes to Amazon Web
604
+ # Services IoT FleetWise. If you want to send diagnostic trouble
605
+ # codes, use `SEND_ACTIVE_DTCS`. If it's not specified, `OFF` is
606
+ # used.
591
607
  #
592
608
  # Default: `OFF`
593
609
  # @return [String]
594
610
  #
595
611
  # @!attribute [rw] spooling_mode
596
- # (Optional) Whether to store collected data after a vehicle lost a
612
+ # Determines whether to store collected data after a vehicle lost a
597
613
  # connection with the cloud. After a connection is re-established, the
598
614
  # data is automatically forwarded to Amazon Web Services IoT
599
615
  # FleetWise. If you want to store collected data when a vehicle loses
@@ -604,7 +620,7 @@ module Aws::IoTFleetWise
604
620
  # @return [String]
605
621
  #
606
622
  # @!attribute [rw] compression
607
- # (Optional) Whether to compress signals before transmitting data to
623
+ # Determines whether to compress signals before transmitting data to
608
624
  # Amazon Web Services IoT FleetWise. If you don't want to compress
609
625
  # the signals, use `OFF`. If it's not specified, `SNAPPY` is used.
610
626
  #
@@ -612,16 +628,22 @@ module Aws::IoTFleetWise
612
628
  # @return [String]
613
629
  #
614
630
  # @!attribute [rw] priority
615
- # (Optional) A number indicating the priority of one campaign over
616
- # another campaign for a certain vehicle or fleet. A campaign with the
617
- # lowest value is deployed to vehicles before any other campaigns. If
618
- # it's not specified, `0` is used.
631
+ # A number indicating the priority of one campaign over another
632
+ # campaign for a certain vehicle or fleet. A campaign with the lowest
633
+ # value is deployed to vehicles before any other campaigns. If it's
634
+ # not specified, `0` is used.
619
635
  #
620
636
  # Default: `0`
621
637
  # @return [Integer]
622
638
  #
623
639
  # @!attribute [rw] signals_to_collect
624
- # (Optional) A list of information about signals to collect.
640
+ # A list of information about signals to collect.
641
+ #
642
+ # <note markdown="1"> If you upload a signal as a condition in a data partition for a
643
+ # campaign, then those same signals must be included in
644
+ # `signalsToCollect`.
645
+ #
646
+ # </note>
625
647
  # @return [Array<Types::SignalInformation>]
626
648
  #
627
649
  # @!attribute [rw] collection_scheme
@@ -630,8 +652,7 @@ module Aws::IoTFleetWise
630
652
  # @return [Types::CollectionScheme]
631
653
  #
632
654
  # @!attribute [rw] data_extra_dimensions
633
- # (Optional) A list of vehicle attributes to associate with a
634
- # campaign.
655
+ # A list of vehicle attributes to associate with a campaign.
635
656
  #
636
657
  # Enrich the data with specified vehicle attributes. For example, add
637
658
  # `make` and `model` to the campaign, and Amazon Web Services IoT
@@ -647,8 +668,11 @@ module Aws::IoTFleetWise
647
668
  # @return [Array<Types::Tag>]
648
669
  #
649
670
  # @!attribute [rw] data_destination_configs
650
- # The destination where the campaign sends data. You can choose to
651
- # send data to be stored in Amazon S3 or Amazon Timestream.
671
+ # The destination where the campaign sends data. You can send data to
672
+ # an MQTT topic, or store it in Amazon S3 or Amazon Timestream.
673
+ #
674
+ # MQTT is the publish/subscribe messaging protocol used by Amazon Web
675
+ # Services IoT to communicate with your devices.
652
676
  #
653
677
  # Amazon S3 optimizes the cost of data storage and provides additional
654
678
  # mechanisms to use vehicle data, such as data lakes, centralized data
@@ -662,6 +686,15 @@ module Aws::IoTFleetWise
662
686
  # trends and patterns.
663
687
  # @return [Array<Types::DataDestinationConfig>]
664
688
  #
689
+ # @!attribute [rw] data_partitions
690
+ # The data partitions associated with the signals collected from the
691
+ # vehicle.
692
+ # @return [Array<Types::DataPartition>]
693
+ #
694
+ # @!attribute [rw] signals_to_fetch
695
+ # A list of information about signals to fetch.
696
+ # @return [Array<Types::SignalFetchInformation>]
697
+ #
665
698
  class CreateCampaignRequest < Struct.new(
666
699
  :name,
667
700
  :description,
@@ -678,7 +711,9 @@ module Aws::IoTFleetWise
678
711
  :collection_scheme,
679
712
  :data_extra_dimensions,
680
713
  :tags,
681
- :data_destination_configs)
714
+ :data_destination_configs,
715
+ :data_partitions,
716
+ :signals_to_fetch)
682
717
  SENSITIVE = [:signals_to_collect, :data_extra_dimensions]
683
718
  include Aws::Structure
684
719
  end
@@ -719,6 +754,20 @@ module Aws::IoTFleetWise
719
754
  # A list of information about available network interfaces.
720
755
  # @return [Array<Types::NetworkInterface>]
721
756
  #
757
+ # @!attribute [rw] default_for_unmapped_signals
758
+ # Use default decoders for all unmapped signals in the model. You
759
+ # don't need to provide any detailed decoding information.
760
+ #
761
+ # Access to certain Amazon Web Services IoT FleetWise features is
762
+ # currently gated. For more information, see [Amazon Web Services
763
+ # Region and feature availability][1] in the *Amazon Web Services IoT
764
+ # FleetWise Developer Guide*.
765
+ #
766
+ #
767
+ #
768
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
769
+ # @return [String]
770
+ #
722
771
  # @!attribute [rw] tags
723
772
  # Metadata that can be used to manage the decoder manifest.
724
773
  # @return [Array<Types::Tag>]
@@ -729,6 +778,7 @@ module Aws::IoTFleetWise
729
778
  :model_manifest_arn,
730
779
  :signal_decoders,
731
780
  :network_interfaces,
781
+ :default_for_unmapped_signals,
732
782
  :tags)
733
783
  SENSITIVE = []
734
784
  include Aws::Structure
@@ -875,6 +925,89 @@ module Aws::IoTFleetWise
875
925
  include Aws::Structure
876
926
  end
877
927
 
928
+ # @!attribute [rw] name
929
+ # The name of the state template.
930
+ # @return [String]
931
+ #
932
+ # @!attribute [rw] description
933
+ # A brief description of the state template.
934
+ # @return [String]
935
+ #
936
+ # @!attribute [rw] signal_catalog_arn
937
+ # The ARN of the signal catalog associated with the state template.
938
+ # @return [String]
939
+ #
940
+ # @!attribute [rw] state_template_properties
941
+ # A list of signals from which data is collected. The state template
942
+ # properties contain the fully qualified names of the signals.
943
+ # @return [Array<String>]
944
+ #
945
+ # @!attribute [rw] data_extra_dimensions
946
+ # A list of vehicle attributes to associate with the payload published
947
+ # on the state template's MQTT topic. (See [ Processing last known
948
+ # state vehicle data using MQTT messaging][1]). For example, if you
949
+ # add `Vehicle.Attributes.Make` and `Vehicle.Attributes.Model`
950
+ # attributes, Amazon Web Services IoT FleetWise will enrich the
951
+ # protobuf encoded payload with those attributes in the
952
+ # `extraDimensions` field.
953
+ #
954
+ #
955
+ #
956
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
957
+ # @return [Array<String>]
958
+ #
959
+ # @!attribute [rw] metadata_extra_dimensions
960
+ # A list of vehicle attributes to associate with user properties of
961
+ # the messages published on the state template's MQTT topic. (See [
962
+ # Processing last known state vehicle data using MQTT messaging][1]).
963
+ # For example, if you add `Vehicle.Attributes.Make` and
964
+ # `Vehicle.Attributes.Model` attributes, Amazon Web Services IoT
965
+ # FleetWise will include these attributes as User Properties with the
966
+ # MQTT message.
967
+ #
968
+ # Default: An empty array
969
+ #
970
+ #
971
+ #
972
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
973
+ # @return [Array<String>]
974
+ #
975
+ # @!attribute [rw] tags
976
+ # Metadata that can be used to manage the state template.
977
+ # @return [Array<Types::Tag>]
978
+ #
979
+ class CreateStateTemplateRequest < Struct.new(
980
+ :name,
981
+ :description,
982
+ :signal_catalog_arn,
983
+ :state_template_properties,
984
+ :data_extra_dimensions,
985
+ :metadata_extra_dimensions,
986
+ :tags)
987
+ SENSITIVE = []
988
+ include Aws::Structure
989
+ end
990
+
991
+ # @!attribute [rw] name
992
+ # The name of the state template.
993
+ # @return [String]
994
+ #
995
+ # @!attribute [rw] arn
996
+ # The Amazon Resource Name (ARN) of the state template.
997
+ # @return [String]
998
+ #
999
+ # @!attribute [rw] id
1000
+ # The unique ID of the state template.
1001
+ # @return [String]
1002
+ #
1003
+ class CreateStateTemplateResponse < Struct.new(
1004
+ :name,
1005
+ :arn,
1006
+ :id)
1007
+ SENSITIVE = []
1008
+ include Aws::Structure
1009
+ end
1010
+
878
1011
  # An HTTP error resulting from creating a vehicle.
879
1012
  #
880
1013
  # @!attribute [rw] vehicle_name
@@ -913,8 +1046,10 @@ module Aws::IoTFleetWise
913
1046
  # Static information about a vehicle in a key-value pair. For example:
914
1047
  # `"engineType"` : `"1.3 L R2"`
915
1048
  #
916
- # A campaign must include the keys (attribute names) in
917
- # `dataExtraDimensions` for them to display in Amazon Timestream.
1049
+ # To use attributes with Campaigns or State Templates, you must
1050
+ # include them using the request parameters `dataExtraDimensions`
1051
+ # and/or `metadataExtraDimensions` (for state templates only) when
1052
+ # creating your campaign/state template.
918
1053
  # @return [Hash<String,String>]
919
1054
  #
920
1055
  # @!attribute [rw] association_behavior
@@ -929,13 +1064,19 @@ module Aws::IoTFleetWise
929
1064
  # Metadata that can be used to manage the vehicle.
930
1065
  # @return [Array<Types::Tag>]
931
1066
  #
1067
+ # @!attribute [rw] state_templates
1068
+ # Associate state templates with the vehicle. You can monitor the last
1069
+ # known state of the vehicle in near real time.
1070
+ # @return [Array<Types::StateTemplateAssociation>]
1071
+ #
932
1072
  class CreateVehicleRequest < Struct.new(
933
1073
  :vehicle_name,
934
1074
  :model_manifest_arn,
935
1075
  :decoder_manifest_arn,
936
1076
  :attributes,
937
1077
  :association_behavior,
938
- :tags)
1078
+ :tags,
1079
+ :state_templates)
939
1080
  SENSITIVE = []
940
1081
  include Aws::Structure
941
1082
  end
@@ -970,13 +1111,20 @@ module Aws::IoTFleetWise
970
1111
  # Metadata which can be used to manage the vehicle.
971
1112
  # @return [Array<Types::Tag>]
972
1113
  #
1114
+ # @!attribute [rw] state_templates
1115
+ # Associate state templates to track the state of the vehicle. State
1116
+ # templates determine which signal updates the vehicle sends to the
1117
+ # cloud.
1118
+ # @return [Array<Types::StateTemplateAssociation>]
1119
+ #
973
1120
  class CreateVehicleRequestItem < Struct.new(
974
1121
  :vehicle_name,
975
1122
  :model_manifest_arn,
976
1123
  :decoder_manifest_arn,
977
1124
  :attributes,
978
1125
  :association_behavior,
979
- :tags)
1126
+ :tags,
1127
+ :state_templates)
980
1128
  SENSITIVE = []
981
1129
  include Aws::Structure
982
1130
  end
@@ -1023,6 +1171,49 @@ module Aws::IoTFleetWise
1023
1171
  include Aws::Structure
1024
1172
  end
1025
1173
 
1174
+ # Represents a custom network interface as defined by the customer.
1175
+ #
1176
+ # Access to certain Amazon Web Services IoT FleetWise features is
1177
+ # currently gated. For more information, see [Amazon Web Services Region
1178
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
1179
+ # Developer Guide*.
1180
+ #
1181
+ #
1182
+ #
1183
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
1184
+ #
1185
+ # @!attribute [rw] name
1186
+ # The name of the interface.
1187
+ # @return [String]
1188
+ #
1189
+ class CustomDecodingInterface < Struct.new(
1190
+ :name)
1191
+ SENSITIVE = []
1192
+ include Aws::Structure
1193
+ end
1194
+
1195
+ # Information about signals using a custom decoding protocol as defined
1196
+ # by the customer.
1197
+ #
1198
+ # Access to certain Amazon Web Services IoT FleetWise features is
1199
+ # currently gated. For more information, see [Amazon Web Services Region
1200
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
1201
+ # Developer Guide*.
1202
+ #
1203
+ #
1204
+ #
1205
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
1206
+ #
1207
+ # @!attribute [rw] id
1208
+ # The ID of the signal.
1209
+ # @return [String]
1210
+ #
1211
+ class CustomDecodingSignal < Struct.new(
1212
+ :id)
1213
+ SENSITIVE = []
1214
+ include Aws::Structure
1215
+ end
1216
+
1026
1217
  # Represents a member of the complex data structure. The data type of
1027
1218
  # the property can be either primitive or another `struct`.
1028
1219
  #
@@ -1102,9 +1293,8 @@ module Aws::IoTFleetWise
1102
1293
  include Aws::Structure
1103
1294
  end
1104
1295
 
1105
- # The destination where the Amazon Web Services IoT FleetWise campaign
1106
- # sends data. You can send data to be stored in Amazon S3 or Amazon
1107
- # Timestream.
1296
+ # The destination where the campaign sends data. You can send data to an
1297
+ # MQTT topic, or store it in Amazon S3 or Amazon Timestream.
1108
1298
  #
1109
1299
  # @note DataDestinationConfig is a union - when making an API calls you must set exactly one of the members.
1110
1300
  #
@@ -1119,9 +1309,24 @@ module Aws::IoTFleetWise
1119
1309
  # The Amazon Timestream table where the campaign sends data.
1120
1310
  # @return [Types::TimestreamConfig]
1121
1311
  #
1312
+ # @!attribute [rw] mqtt_topic_config
1313
+ # The MQTT topic to which the Amazon Web Services IoT FleetWise
1314
+ # campaign routes data.
1315
+ #
1316
+ # Access to certain Amazon Web Services IoT FleetWise features is
1317
+ # currently gated. For more information, see [Amazon Web Services
1318
+ # Region and feature availability][1] in the *Amazon Web Services IoT
1319
+ # FleetWise Developer Guide*.
1320
+ #
1321
+ #
1322
+ #
1323
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
1324
+ # @return [Types::MqttTopicConfig]
1325
+ #
1122
1326
  class DataDestinationConfig < Struct.new(
1123
1327
  :s3_config,
1124
1328
  :timestream_config,
1329
+ :mqtt_topic_config,
1125
1330
  :unknown)
1126
1331
  SENSITIVE = []
1127
1332
  include Aws::Structure
@@ -1129,9 +1334,113 @@ module Aws::IoTFleetWise
1129
1334
 
1130
1335
  class S3Config < DataDestinationConfig; end
1131
1336
  class TimestreamConfig < DataDestinationConfig; end
1337
+ class MqttTopicConfig < DataDestinationConfig; end
1132
1338
  class Unknown < DataDestinationConfig; end
1133
1339
  end
1134
1340
 
1341
+ # The configuration for signal data storage and upload options. You can
1342
+ # only specify these options when the campaign's spooling mode is
1343
+ # `TO_DISK`.
1344
+ #
1345
+ # Access to certain Amazon Web Services IoT FleetWise features is
1346
+ # currently gated. For more information, see [Amazon Web Services Region
1347
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
1348
+ # Developer Guide*.
1349
+ #
1350
+ #
1351
+ #
1352
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
1353
+ #
1354
+ # @!attribute [rw] id
1355
+ # The ID of the data partition. The data partition ID must be unique
1356
+ # within a campaign. You can establish a data partition as the default
1357
+ # partition for a campaign by using `default` as the ID.
1358
+ # @return [String]
1359
+ #
1360
+ # @!attribute [rw] storage_options
1361
+ # The storage options for a data partition.
1362
+ # @return [Types::DataPartitionStorageOptions]
1363
+ #
1364
+ # @!attribute [rw] upload_options
1365
+ # The upload options for the data partition.
1366
+ # @return [Types::DataPartitionUploadOptions]
1367
+ #
1368
+ class DataPartition < Struct.new(
1369
+ :id,
1370
+ :storage_options,
1371
+ :upload_options)
1372
+ SENSITIVE = []
1373
+ include Aws::Structure
1374
+ end
1375
+
1376
+ # Size, time, and location options for the data partition.
1377
+ #
1378
+ # @!attribute [rw] maximum_size
1379
+ # The maximum storage size of the data stored in the data partition.
1380
+ #
1381
+ # <note markdown="1"> Newer data overwrites older data when the partition reaches the
1382
+ # maximum size.
1383
+ #
1384
+ # </note>
1385
+ # @return [Types::StorageMaximumSize]
1386
+ #
1387
+ # @!attribute [rw] storage_location
1388
+ # The folder name for the data partition under the campaign storage
1389
+ # folder.
1390
+ # @return [String]
1391
+ #
1392
+ # @!attribute [rw] minimum_time_to_live
1393
+ # The amount of time that data in this partition will be kept on disk.
1394
+ #
1395
+ # * After the designated amount of time passes, the data can be
1396
+ # removed, but it's not guaranteed to be removed.
1397
+ #
1398
+ # * Before the time expires, data in this partition can still be
1399
+ # deleted if the partition reaches its configured maximum size.
1400
+ #
1401
+ # * Newer data will overwrite older data when the partition reaches
1402
+ # the maximum size.
1403
+ # @return [Types::StorageMinimumTimeToLive]
1404
+ #
1405
+ class DataPartitionStorageOptions < Struct.new(
1406
+ :maximum_size,
1407
+ :storage_location,
1408
+ :minimum_time_to_live)
1409
+ SENSITIVE = [:storage_location]
1410
+ include Aws::Structure
1411
+ end
1412
+
1413
+ # The upload options for the data partition. If upload options are
1414
+ # specified, you must also specify storage options. See
1415
+ # [DataPartitionStorageOptions][1].
1416
+ #
1417
+ # Access to certain Amazon Web Services IoT FleetWise features is
1418
+ # currently gated. For more information, see [Amazon Web Services Region
1419
+ # and feature availability][2] in the *Amazon Web Services IoT FleetWise
1420
+ # Developer Guide*.
1421
+ #
1422
+ #
1423
+ #
1424
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_DataPartitionStorageOptions.html
1425
+ # [2]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
1426
+ #
1427
+ # @!attribute [rw] expression
1428
+ # The logical expression used to recognize what data to collect. For
1429
+ # example, `` $variable.`Vehicle.OutsideAirTemperature` >= 105.0 ``.
1430
+ # @return [String]
1431
+ #
1432
+ # @!attribute [rw] condition_language_version
1433
+ # The version of the condition language. Defaults to the most recent
1434
+ # condition language version.
1435
+ # @return [Integer]
1436
+ #
1437
+ class DataPartitionUploadOptions < Struct.new(
1438
+ :expression,
1439
+ :condition_language_version)
1440
+ SENSITIVE = [:expression]
1441
+ include Aws::Structure
1442
+ end
1443
+
1135
1444
  # Information about a created decoder manifest. You can use the API
1136
1445
  # operation to return this information about multiple decoder manifests.
1137
1446
  #
@@ -1341,6 +1650,36 @@ module Aws::IoTFleetWise
1341
1650
  include Aws::Structure
1342
1651
  end
1343
1652
 
1653
+ # @!attribute [rw] identifier
1654
+ # A unique, service-generated identifier.
1655
+ # @return [String]
1656
+ #
1657
+ class DeleteStateTemplateRequest < Struct.new(
1658
+ :identifier)
1659
+ SENSITIVE = []
1660
+ include Aws::Structure
1661
+ end
1662
+
1663
+ # @!attribute [rw] name
1664
+ # The name of the state template.
1665
+ # @return [String]
1666
+ #
1667
+ # @!attribute [rw] arn
1668
+ # The Amazon Resource Name (ARN) of the state template.
1669
+ # @return [String]
1670
+ #
1671
+ # @!attribute [rw] id
1672
+ # The unique ID of the state template.
1673
+ # @return [String]
1674
+ #
1675
+ class DeleteStateTemplateResponse < Struct.new(
1676
+ :name,
1677
+ :arn,
1678
+ :id)
1679
+ SENSITIVE = []
1680
+ include Aws::Structure
1681
+ end
1682
+
1344
1683
  # @!attribute [rw] vehicle_name
1345
1684
  # The ID of the vehicle to delete.
1346
1685
  # @return [String]
@@ -1547,8 +1886,11 @@ module Aws::IoTFleetWise
1547
1886
  # @return [Time]
1548
1887
  #
1549
1888
  # @!attribute [rw] data_destination_configs
1550
- # The destination where the campaign sends data. You can choose to
1551
- # send data to be stored in Amazon S3 or Amazon Timestream.
1889
+ # The destination where the campaign sends data. You can send data to
1890
+ # an MQTT topic, or store it in Amazon S3 or Amazon Timestream.
1891
+ #
1892
+ # MQTT is the publish/subscribe messaging protocol used by Amazon Web
1893
+ # Services IoT to communicate with your devices.
1552
1894
  #
1553
1895
  # Amazon S3 optimizes the cost of data storage and provides additional
1554
1896
  # mechanisms to use vehicle data, such as data lakes, centralized data
@@ -1559,6 +1901,15 @@ module Aws::IoTFleetWise
1559
1901
  # trends and patterns.
1560
1902
  # @return [Array<Types::DataDestinationConfig>]
1561
1903
  #
1904
+ # @!attribute [rw] data_partitions
1905
+ # The data partitions associated with the signals collected from the
1906
+ # vehicle.
1907
+ # @return [Array<Types::DataPartition>]
1908
+ #
1909
+ # @!attribute [rw] signals_to_fetch
1910
+ # Information about a list of signals to fetch data from.
1911
+ # @return [Array<Types::SignalFetchInformation>]
1912
+ #
1562
1913
  class GetCampaignResponse < Struct.new(
1563
1914
  :name,
1564
1915
  :arn,
@@ -1578,7 +1929,9 @@ module Aws::IoTFleetWise
1578
1929
  :data_extra_dimensions,
1579
1930
  :creation_time,
1580
1931
  :last_modification_time,
1581
- :data_destination_configs)
1932
+ :data_destination_configs,
1933
+ :data_partitions,
1934
+ :signals_to_fetch)
1582
1935
  SENSITIVE = [:signals_to_collect, :data_extra_dimensions]
1583
1936
  include Aws::Structure
1584
1937
  end
@@ -1904,6 +2257,80 @@ module Aws::IoTFleetWise
1904
2257
  include Aws::Structure
1905
2258
  end
1906
2259
 
2260
+ # @!attribute [rw] identifier
2261
+ # A unique, service-generated identifier.
2262
+ # @return [String]
2263
+ #
2264
+ class GetStateTemplateRequest < Struct.new(
2265
+ :identifier)
2266
+ SENSITIVE = []
2267
+ include Aws::Structure
2268
+ end
2269
+
2270
+ # @!attribute [rw] name
2271
+ # The name of the state template.
2272
+ # @return [String]
2273
+ #
2274
+ # @!attribute [rw] arn
2275
+ # The Amazon Resource Name (ARN) of the state template.
2276
+ # @return [String]
2277
+ #
2278
+ # @!attribute [rw] description
2279
+ # A brief description of the state template.
2280
+ # @return [String]
2281
+ #
2282
+ # @!attribute [rw] signal_catalog_arn
2283
+ # The ARN of the signal catalog associated with the state template.
2284
+ # @return [String]
2285
+ #
2286
+ # @!attribute [rw] state_template_properties
2287
+ # A list of signals from which data is collected. The state template
2288
+ # properties contain the fully qualified names of the signals.
2289
+ # @return [Array<String>]
2290
+ #
2291
+ # @!attribute [rw] data_extra_dimensions
2292
+ # A list of vehicle attributes associated with the payload published
2293
+ # on the state template's MQTT topic.
2294
+ #
2295
+ # Default: An empty array
2296
+ # @return [Array<String>]
2297
+ #
2298
+ # @!attribute [rw] metadata_extra_dimensions
2299
+ # A list of vehicle attributes to associate with user properties of
2300
+ # the messages published on the state template's MQTT topic.
2301
+ #
2302
+ # Default: An empty array
2303
+ # @return [Array<String>]
2304
+ #
2305
+ # @!attribute [rw] creation_time
2306
+ # The time the state template was created in seconds since epoch
2307
+ # (January 1, 1970 at midnight UTC time).
2308
+ # @return [Time]
2309
+ #
2310
+ # @!attribute [rw] last_modification_time
2311
+ # The time the state template was last updated in seconds since epoch
2312
+ # (January 1, 1970 at midnight UTC time).
2313
+ # @return [Time]
2314
+ #
2315
+ # @!attribute [rw] id
2316
+ # The unique ID of the state template.
2317
+ # @return [String]
2318
+ #
2319
+ class GetStateTemplateResponse < Struct.new(
2320
+ :name,
2321
+ :arn,
2322
+ :description,
2323
+ :signal_catalog_arn,
2324
+ :state_template_properties,
2325
+ :data_extra_dimensions,
2326
+ :metadata_extra_dimensions,
2327
+ :creation_time,
2328
+ :last_modification_time,
2329
+ :id)
2330
+ SENSITIVE = []
2331
+ include Aws::Structure
2332
+ end
2333
+
1907
2334
  # @!attribute [rw] vehicle_name
1908
2335
  # The ID of the vehicle to retrieve information about.
1909
2336
  # @return [String]
@@ -1938,6 +2365,10 @@ module Aws::IoTFleetWise
1938
2365
  # `"engineType"` : `"1.3 L R2"`
1939
2366
  # @return [Hash<String,String>]
1940
2367
  #
2368
+ # @!attribute [rw] state_templates
2369
+ # State templates associated with the vehicle.
2370
+ # @return [Array<Types::StateTemplateAssociation>]
2371
+ #
1941
2372
  # @!attribute [rw] creation_time
1942
2373
  # The time the vehicle was created in seconds since epoch (January 1,
1943
2374
  # 1970 at midnight UTC time).
@@ -1954,6 +2385,7 @@ module Aws::IoTFleetWise
1954
2385
  :model_manifest_arn,
1955
2386
  :decoder_manifest_arn,
1956
2387
  :attributes,
2388
+ :state_templates,
1957
2389
  :creation_time,
1958
2390
  :last_modification_time)
1959
2391
  SENSITIVE = []
@@ -1968,10 +2400,12 @@ module Aws::IoTFleetWise
1968
2400
  # response. To retrieve the next set of results, reissue the search
1969
2401
  # request and include the returned token. When all results have been
1970
2402
  # returned, the response does not contain a pagination token value.
2403
+ # This parameter is only supported for resources of type `CAMPAIGN`.
1971
2404
  # @return [String]
1972
2405
  #
1973
2406
  # @!attribute [rw] max_results
1974
2407
  # The maximum number of items to return, between 1 and 100, inclusive.
2408
+ # This parameter is only supported for resources of type `CAMPAIGN`.
1975
2409
  # @return [Integer]
1976
2410
  #
1977
2411
  # @!attribute [rw] vehicle_name
@@ -2273,7 +2707,7 @@ module Aws::IoTFleetWise
2273
2707
  # @return [Integer]
2274
2708
  #
2275
2709
  # @!attribute [rw] status
2276
- # Optional parameter to filter the results by the status of each
2710
+ # An optional parameter to filter the results by the status of each
2277
2711
  # created campaign in your account. The status can be one of:
2278
2712
  # `CREATING`, `WAITING_FOR_APPROVAL`, `RUNNING`, or `SUSPENDED`.
2279
2713
  # @return [String]
@@ -2677,16 +3111,48 @@ module Aws::IoTFleetWise
2677
3111
  include Aws::Structure
2678
3112
  end
2679
3113
 
2680
- # @!attribute [rw] resource_arn
2681
- # The ARN of the resource.
3114
+ # @!attribute [rw] next_token
3115
+ # The token to retrieve the next set of results, or `null` if there
3116
+ # are no more results.
2682
3117
  # @return [String]
2683
3118
  #
2684
- class ListTagsForResourceRequest < Struct.new(
2685
- :resource_arn)
2686
- SENSITIVE = []
2687
- include Aws::Structure
2688
- end
2689
-
3119
+ # @!attribute [rw] max_results
3120
+ # The maximum number of items to return, between 1 and 100, inclusive.
3121
+ # @return [Integer]
3122
+ #
3123
+ class ListStateTemplatesRequest < Struct.new(
3124
+ :next_token,
3125
+ :max_results)
3126
+ SENSITIVE = []
3127
+ include Aws::Structure
3128
+ end
3129
+
3130
+ # @!attribute [rw] summaries
3131
+ # A list of information about each state template.
3132
+ # @return [Array<Types::StateTemplateSummary>]
3133
+ #
3134
+ # @!attribute [rw] next_token
3135
+ # The token to retrieve the next set of results, or `null` if there
3136
+ # are no more results.
3137
+ # @return [String]
3138
+ #
3139
+ class ListStateTemplatesResponse < Struct.new(
3140
+ :summaries,
3141
+ :next_token)
3142
+ SENSITIVE = []
3143
+ include Aws::Structure
3144
+ end
3145
+
3146
+ # @!attribute [rw] resource_arn
3147
+ # The ARN of the resource.
3148
+ # @return [String]
3149
+ #
3150
+ class ListTagsForResourceRequest < Struct.new(
3151
+ :resource_arn)
3152
+ SENSITIVE = []
3153
+ include Aws::Structure
3154
+ end
3155
+
2690
3156
  # @!attribute [rw] tags
2691
3157
  # The list of tags assigned to the resource.
2692
3158
  # @return [Array<Types::Tag>]
@@ -2746,15 +3212,34 @@ module Aws::IoTFleetWise
2746
3212
  # @return [String]
2747
3213
  #
2748
3214
  # @!attribute [rw] attribute_names
2749
- # The fully qualified names of the attributes. For example, the fully
2750
- # qualified name of an attribute might be `Vehicle.Body.Engine.Type`.
3215
+ # The fully qualified names of the attributes. You can use this
3216
+ # optional parameter to list the vehicles containing all the
3217
+ # attributes in the request. For example, `attributeNames` could be
3218
+ # "`Vehicle.Body.Engine.Type, Vehicle.Color`" and the corresponding
3219
+ # `attributeValues` could be "`1.3 L R2, Blue`" . In this case, the
3220
+ # API will filter vehicles with an attribute name
3221
+ # `Vehicle.Body.Engine.Type` that contains a value of `1.3 L R2` AND
3222
+ # an attribute name `Vehicle.Color` that contains a value of
3223
+ # "`Blue`". A request must contain unique values for the
3224
+ # `attributeNames` filter and the matching number of `attributeValues`
3225
+ # filters to return the subset of vehicles that match the attributes
3226
+ # filter condition.
2751
3227
  # @return [Array<String>]
2752
3228
  #
2753
3229
  # @!attribute [rw] attribute_values
2754
3230
  # Static information about a vehicle attribute value in string format.
2755
- # For example:
2756
- #
2757
- # `"1.3 L R2"`
3231
+ # You can use this optional parameter in conjunction with
3232
+ # `attributeNames` to list the vehicles containing all the
3233
+ # `attributeValues` corresponding to the `attributeNames` filter. For
3234
+ # example, `attributeValues` could be "`1.3 L R2, Blue`" and the
3235
+ # corresponding `attributeNames` filter could be
3236
+ # "`Vehicle.Body.Engine.Type, Vehicle.Color`". In this case, the API
3237
+ # will filter vehicles with attribute name `Vehicle.Body.Engine.Type`
3238
+ # that contains a value of `1.3 L R2` AND an attribute name
3239
+ # `Vehicle.Color` that contains a value of "`Blue`". A request must
3240
+ # contain unique values for the `attributeNames` filter and the
3241
+ # matching number of `attributeValues` filter to return the subset of
3242
+ # vehicles that match the attributes filter condition.
2758
3243
  # @return [Array<String>]
2759
3244
  #
2760
3245
  # @!attribute [rw] next_token
@@ -2867,6 +3352,36 @@ module Aws::IoTFleetWise
2867
3352
  include Aws::Structure
2868
3353
  end
2869
3354
 
3355
+ # The MQTT topic to which the Amazon Web Services IoT FleetWise campaign
3356
+ # routes data. For more information, see [Device communication
3357
+ # protocols][1] in the *Amazon Web Services IoT Core Developer Guide*.
3358
+ #
3359
+ # Access to certain Amazon Web Services IoT FleetWise features is
3360
+ # currently gated. For more information, see [Amazon Web Services Region
3361
+ # and feature availability][2] in the *Amazon Web Services IoT FleetWise
3362
+ # Developer Guide*.
3363
+ #
3364
+ #
3365
+ #
3366
+ # [1]: https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html
3367
+ # [2]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
3368
+ #
3369
+ # @!attribute [rw] mqtt_topic_arn
3370
+ # The ARN of the MQTT topic.
3371
+ # @return [String]
3372
+ #
3373
+ # @!attribute [rw] execution_role_arn
3374
+ # The ARN of the role that grants Amazon Web Services IoT FleetWise
3375
+ # permission to access and act on messages sent to the MQTT topic.
3376
+ # @return [String]
3377
+ #
3378
+ class MqttTopicConfig < Struct.new(
3379
+ :mqtt_topic_arn,
3380
+ :execution_role_arn)
3381
+ SENSITIVE = []
3382
+ include Aws::Structure
3383
+ end
3384
+
2870
3385
  # Specifications for defining a vehicle network.
2871
3386
  #
2872
3387
  # @note NetworkFileDefinition is a union - when making an API calls you must set exactly one of the members.
@@ -2911,7 +3426,7 @@ module Aws::IoTFleetWise
2911
3426
  # @return [Types::CanInterface]
2912
3427
  #
2913
3428
  # @!attribute [rw] obd_interface
2914
- # Information about a network interface specified by the On-board
3429
+ # Information about a network interface specified by the on-board
2915
3430
  # diagnostic (OBD) II protocol.
2916
3431
  # @return [Types::ObdInterface]
2917
3432
  #
@@ -2920,12 +3435,21 @@ module Aws::IoTFleetWise
2920
3435
  # Examples of vehicle middleware include `ROS2` and `SOME/IP`.
2921
3436
  # @return [Types::VehicleMiddleware]
2922
3437
  #
3438
+ # @!attribute [rw] custom_decoding_interface
3439
+ # Information about a [custom network interface][1].
3440
+ #
3441
+ #
3442
+ #
3443
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CustomDecodingInterface.html
3444
+ # @return [Types::CustomDecodingInterface]
3445
+ #
2923
3446
  class NetworkInterface < Struct.new(
2924
3447
  :interface_id,
2925
3448
  :type,
2926
3449
  :can_interface,
2927
3450
  :obd_interface,
2928
- :vehicle_middleware)
3451
+ :vehicle_middleware,
3452
+ :custom_decoding_interface)
2929
3453
  SENSITIVE = []
2930
3454
  include Aws::Structure
2931
3455
  end
@@ -3048,7 +3572,7 @@ module Aws::IoTFleetWise
3048
3572
  include Aws::Structure
3049
3573
  end
3050
3574
 
3051
- # A network interface that specifies the On-board diagnostic (OBD) II
3575
+ # A network interface that specifies the on-board diagnostic (OBD) II
3052
3576
  # network protocol.
3053
3577
  #
3054
3578
  # @!attribute [rw] name
@@ -3147,6 +3671,26 @@ module Aws::IoTFleetWise
3147
3671
  include Aws::Structure
3148
3672
  end
3149
3673
 
3674
+ # Vehicles associated with the state template will stream telemetry data
3675
+ # when there is a change.
3676
+ #
3677
+ # @api private
3678
+ #
3679
+ class OnChangeStateTemplateUpdateStrategy < Aws::EmptyStructure; end
3680
+
3681
+ # Vehicles associated with the state template will stream telemetry data
3682
+ # during a specified time period.
3683
+ #
3684
+ # @!attribute [rw] state_template_update_rate
3685
+ # The length of time between state template updates.
3686
+ # @return [Types::TimePeriod]
3687
+ #
3688
+ class PeriodicStateTemplateUpdateStrategy < Struct.new(
3689
+ :state_template_update_rate)
3690
+ SENSITIVE = []
3691
+ include Aws::Structure
3692
+ end
3693
+
3150
3694
  # Represents a primitive type node of the complex data structure.
3151
3695
  #
3152
3696
  # @note PrimitiveMessageDefinition is a union - when making an API calls you must set exactly one of the members.
@@ -3358,10 +3902,10 @@ module Aws::IoTFleetWise
3358
3902
  # @return [String]
3359
3903
  #
3360
3904
  # @!attribute [rw] prefix
3361
- # (Optional) Enter an S3 bucket prefix. The prefix is the string of
3362
- # characters after the bucket name and before the object name. You can
3363
- # use the prefix to organize data stored in Amazon S3 buckets. For
3364
- # more information, see [Organizing objects using prefixes][1] in the
3905
+ # Enter an S3 bucket prefix. The prefix is the string of characters
3906
+ # after the bucket name and before the object name. You can use the
3907
+ # prefix to organize data stored in Amazon S3 buckets. For more
3908
+ # information, see [Organizing objects using prefixes][1] in the
3365
3909
  # *Amazon Simple Storage Service User Guide*.
3366
3910
  #
3367
3911
  # By default, Amazon Web Services IoT FleetWise sets the prefix
@@ -3508,7 +4052,7 @@ module Aws::IoTFleetWise
3508
4052
  # @return [Types::CanSignal]
3509
4053
  #
3510
4054
  # @!attribute [rw] obd_signal
3511
- # Information about signal decoder using the On-board diagnostic (OBD)
4055
+ # Information about signal decoder using the on-board diagnostic (OBD)
3512
4056
  # II protocol.
3513
4057
  # @return [Types::ObdSignal]
3514
4058
  #
@@ -3517,17 +4061,104 @@ module Aws::IoTFleetWise
3517
4061
  # higher order data types.
3518
4062
  # @return [Types::MessageSignal]
3519
4063
  #
4064
+ # @!attribute [rw] custom_decoding_signal
4065
+ # Information about a [custom signal decoder][1].
4066
+ #
4067
+ # Access to certain Amazon Web Services IoT FleetWise features is
4068
+ # currently gated. For more information, see [Amazon Web Services
4069
+ # Region and feature availability][2] in the *Amazon Web Services IoT
4070
+ # FleetWise Developer Guide*.
4071
+ #
4072
+ #
4073
+ #
4074
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CustomDecodingSignal.html
4075
+ # [2]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4076
+ # @return [Types::CustomDecodingSignal]
4077
+ #
3520
4078
  class SignalDecoder < Struct.new(
3521
4079
  :fully_qualified_name,
3522
4080
  :type,
3523
4081
  :interface_id,
3524
4082
  :can_signal,
3525
4083
  :obd_signal,
3526
- :message_signal)
4084
+ :message_signal,
4085
+ :custom_decoding_signal)
3527
4086
  SENSITIVE = []
3528
4087
  include Aws::Structure
3529
4088
  end
3530
4089
 
4090
+ # The configuration of the signal fetch operation.
4091
+ #
4092
+ # Access to certain Amazon Web Services IoT FleetWise features is
4093
+ # currently gated. For more information, see [Amazon Web Services Region
4094
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
4095
+ # Developer Guide*.
4096
+ #
4097
+ #
4098
+ #
4099
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4100
+ #
4101
+ # @note SignalFetchConfig is a union - when making an API calls you must set exactly one of the members.
4102
+ #
4103
+ # @note SignalFetchConfig is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of SignalFetchConfig corresponding to the set member.
4104
+ #
4105
+ # @!attribute [rw] time_based
4106
+ # The configuration of a time-based signal fetch operation.
4107
+ # @return [Types::TimeBasedSignalFetchConfig]
4108
+ #
4109
+ # @!attribute [rw] condition_based
4110
+ # The configuration of a condition-based signal fetch operation.
4111
+ # @return [Types::ConditionBasedSignalFetchConfig]
4112
+ #
4113
+ class SignalFetchConfig < Struct.new(
4114
+ :time_based,
4115
+ :condition_based,
4116
+ :unknown)
4117
+ SENSITIVE = []
4118
+ include Aws::Structure
4119
+ include Aws::Structure::Union
4120
+
4121
+ class TimeBased < SignalFetchConfig; end
4122
+ class ConditionBased < SignalFetchConfig; end
4123
+ class Unknown < SignalFetchConfig; end
4124
+ end
4125
+
4126
+ # Information about the signal to be fetched.
4127
+ #
4128
+ # Access to certain Amazon Web Services IoT FleetWise features is
4129
+ # currently gated. For more information, see [Amazon Web Services Region
4130
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
4131
+ # Developer Guide*.
4132
+ #
4133
+ #
4134
+ #
4135
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4136
+ #
4137
+ # @!attribute [rw] fully_qualified_name
4138
+ # The fully qualified name of the signal to be fetched.
4139
+ # @return [String]
4140
+ #
4141
+ # @!attribute [rw] signal_fetch_config
4142
+ # The configuration of the signal fetch operation.
4143
+ # @return [Types::SignalFetchConfig]
4144
+ #
4145
+ # @!attribute [rw] condition_language_version
4146
+ # The version of the condition language used.
4147
+ # @return [Integer]
4148
+ #
4149
+ # @!attribute [rw] actions
4150
+ # The actions to be performed by the signal fetch.
4151
+ # @return [Array<String>]
4152
+ #
4153
+ class SignalFetchInformation < Struct.new(
4154
+ :fully_qualified_name,
4155
+ :signal_fetch_config,
4156
+ :condition_language_version,
4157
+ :actions)
4158
+ SENSITIVE = [:actions]
4159
+ include Aws::Structure
4160
+ end
4161
+
3531
4162
  # Information about a signal.
3532
4163
  #
3533
4164
  # @!attribute [rw] name
@@ -3548,10 +4179,220 @@ module Aws::IoTFleetWise
3548
4179
  # </note>
3549
4180
  # @return [Integer]
3550
4181
  #
4182
+ # @!attribute [rw] data_partition_id
4183
+ # The ID of the data partition this signal is associated with.
4184
+ #
4185
+ # The ID must match one of the IDs provided in `dataPartitions`. This
4186
+ # is accomplished either by specifying a particular data partition ID
4187
+ # or by using `default` for an established default partition. You can
4188
+ # establish a default partition in the `DataPartition` data type.
4189
+ #
4190
+ # <note markdown="1"> If you upload a signal as a condition for a campaign's data
4191
+ # partition, the same signal must be included in `signalsToCollect`.
4192
+ #
4193
+ # </note>
4194
+ #
4195
+ # Access to certain Amazon Web Services IoT FleetWise features is
4196
+ # currently gated. For more information, see [Amazon Web Services
4197
+ # Region and feature availability][1] in the *Amazon Web Services IoT
4198
+ # FleetWise Developer Guide*.
4199
+ #
4200
+ #
4201
+ #
4202
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4203
+ # @return [String]
4204
+ #
3551
4205
  class SignalInformation < Struct.new(
3552
4206
  :name,
3553
4207
  :max_sample_count,
3554
- :minimum_sampling_interval_ms)
4208
+ :minimum_sampling_interval_ms,
4209
+ :data_partition_id)
4210
+ SENSITIVE = []
4211
+ include Aws::Structure
4212
+ end
4213
+
4214
+ # The state template associated with a vehicle. State templates contain
4215
+ # state properties, which are signals that belong to a signal catalog
4216
+ # that is synchronized between the Amazon Web Services IoT FleetWise
4217
+ # Edge and the Amazon Web Services Cloud.
4218
+ #
4219
+ # Access to certain Amazon Web Services IoT FleetWise features is
4220
+ # currently gated. For more information, see [Amazon Web Services Region
4221
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
4222
+ # Developer Guide*.
4223
+ #
4224
+ #
4225
+ #
4226
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4227
+ #
4228
+ # @!attribute [rw] identifier
4229
+ # A unique, service-generated identifier.
4230
+ # @return [String]
4231
+ #
4232
+ # @!attribute [rw] state_template_update_strategy
4233
+ # The update strategy for the state template. Vehicles associated with
4234
+ # the state template can stream telemetry data with either an
4235
+ # `onChange` or `periodic` update strategy.
4236
+ #
4237
+ # Access to certain Amazon Web Services IoT FleetWise features is
4238
+ # currently gated. For more information, see [Amazon Web Services
4239
+ # Region and feature availability][1] in the *Amazon Web Services IoT
4240
+ # FleetWise Developer Guide*.
4241
+ #
4242
+ #
4243
+ #
4244
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4245
+ # @return [Types::StateTemplateUpdateStrategy]
4246
+ #
4247
+ class StateTemplateAssociation < Struct.new(
4248
+ :identifier,
4249
+ :state_template_update_strategy)
4250
+ SENSITIVE = []
4251
+ include Aws::Structure
4252
+ end
4253
+
4254
+ # Information about a state template.
4255
+ #
4256
+ # Access to certain Amazon Web Services IoT FleetWise features is
4257
+ # currently gated. For more information, see [Amazon Web Services Region
4258
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
4259
+ # Developer Guide*.
4260
+ #
4261
+ #
4262
+ #
4263
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4264
+ #
4265
+ # @!attribute [rw] name
4266
+ # The name of the state template.
4267
+ # @return [String]
4268
+ #
4269
+ # @!attribute [rw] arn
4270
+ # The Amazon Resource Name (ARN) of the state template.
4271
+ # @return [String]
4272
+ #
4273
+ # @!attribute [rw] signal_catalog_arn
4274
+ # The Amazon Resource Name (ARN) of the signal catalog associated with
4275
+ # the state template.
4276
+ # @return [String]
4277
+ #
4278
+ # @!attribute [rw] description
4279
+ # A brief description of the state template.
4280
+ # @return [String]
4281
+ #
4282
+ # @!attribute [rw] creation_time
4283
+ # The time the state template was created, in seconds since epoch
4284
+ # (January 1, 1970 at midnight UTC time).
4285
+ # @return [Time]
4286
+ #
4287
+ # @!attribute [rw] last_modification_time
4288
+ # The time the state template was last updated, in seconds since epoch
4289
+ # (January 1, 1970 at midnight UTC time).
4290
+ # @return [Time]
4291
+ #
4292
+ # @!attribute [rw] id
4293
+ # The unique ID of the state template.
4294
+ # @return [String]
4295
+ #
4296
+ class StateTemplateSummary < Struct.new(
4297
+ :name,
4298
+ :arn,
4299
+ :signal_catalog_arn,
4300
+ :description,
4301
+ :creation_time,
4302
+ :last_modification_time,
4303
+ :id)
4304
+ SENSITIVE = []
4305
+ include Aws::Structure
4306
+ end
4307
+
4308
+ # The update strategy for the state template. Vehicles associated with
4309
+ # the state template can stream telemetry data with either an `onChange`
4310
+ # or `periodic` update strategy.
4311
+ #
4312
+ # Access to certain Amazon Web Services IoT FleetWise features is
4313
+ # currently gated. For more information, see [Amazon Web Services Region
4314
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
4315
+ # Developer Guide*.
4316
+ #
4317
+ #
4318
+ #
4319
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4320
+ #
4321
+ # @note StateTemplateUpdateStrategy is a union - when making an API calls you must set exactly one of the members.
4322
+ #
4323
+ # @note StateTemplateUpdateStrategy is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of StateTemplateUpdateStrategy corresponding to the set member.
4324
+ #
4325
+ # @!attribute [rw] periodic
4326
+ # Vehicles associated with the state template will stream telemetry
4327
+ # data during a specified time period.
4328
+ # @return [Types::PeriodicStateTemplateUpdateStrategy]
4329
+ #
4330
+ # @!attribute [rw] on_change
4331
+ # Vehicles associated with the state template will stream telemetry
4332
+ # data when there is a change.
4333
+ # @return [Types::OnChangeStateTemplateUpdateStrategy]
4334
+ #
4335
+ class StateTemplateUpdateStrategy < Struct.new(
4336
+ :periodic,
4337
+ :on_change,
4338
+ :unknown)
4339
+ SENSITIVE = []
4340
+ include Aws::Structure
4341
+ include Aws::Structure::Union
4342
+
4343
+ class Periodic < StateTemplateUpdateStrategy; end
4344
+ class OnChange < StateTemplateUpdateStrategy; end
4345
+ class Unknown < StateTemplateUpdateStrategy; end
4346
+ end
4347
+
4348
+ # The maximum storage size for the data partition.
4349
+ #
4350
+ # Access to certain Amazon Web Services IoT FleetWise features is
4351
+ # currently gated. For more information, see [Amazon Web Services Region
4352
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
4353
+ # Developer Guide*.
4354
+ #
4355
+ #
4356
+ #
4357
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4358
+ #
4359
+ # @!attribute [rw] unit
4360
+ # The data type of the data to store.
4361
+ # @return [String]
4362
+ #
4363
+ # @!attribute [rw] value
4364
+ # The maximum amount of time to store data.
4365
+ # @return [Integer]
4366
+ #
4367
+ class StorageMaximumSize < Struct.new(
4368
+ :unit,
4369
+ :value)
4370
+ SENSITIVE = []
4371
+ include Aws::Structure
4372
+ end
4373
+
4374
+ # Information about the minimum amount of time that data will be kept.
4375
+ #
4376
+ # Access to certain Amazon Web Services IoT FleetWise features is
4377
+ # currently gated. For more information, see [Amazon Web Services Region
4378
+ # and feature availability][1] in the *Amazon Web Services IoT FleetWise
4379
+ # Developer Guide*.
4380
+ #
4381
+ #
4382
+ #
4383
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4384
+ #
4385
+ # @!attribute [rw] unit
4386
+ # The time increment type.
4387
+ # @return [String]
4388
+ #
4389
+ # @!attribute [rw] value
4390
+ # The minimum amount of time to store the data.
4391
+ # @return [Integer]
4392
+ #
4393
+ class StorageMinimumTimeToLive < Struct.new(
4394
+ :unit,
4395
+ :value)
3555
4396
  SENSITIVE = []
3556
4397
  include Aws::Structure
3557
4398
  end
@@ -3715,6 +4556,35 @@ module Aws::IoTFleetWise
3715
4556
  include Aws::Structure
3716
4557
  end
3717
4558
 
4559
+ # Used to configure a frequency-based vehicle signal fetch.
4560
+ #
4561
+ # @!attribute [rw] execution_frequency_ms
4562
+ # The frequency with which the signal fetch will be executed.
4563
+ # @return [Integer]
4564
+ #
4565
+ class TimeBasedSignalFetchConfig < Struct.new(
4566
+ :execution_frequency_ms)
4567
+ SENSITIVE = []
4568
+ include Aws::Structure
4569
+ end
4570
+
4571
+ # The length of time between state template updates.
4572
+ #
4573
+ # @!attribute [rw] unit
4574
+ # A unit of time.
4575
+ # @return [String]
4576
+ #
4577
+ # @!attribute [rw] value
4578
+ # A number of time units.
4579
+ # @return [Integer]
4580
+ #
4581
+ class TimePeriod < Struct.new(
4582
+ :unit,
4583
+ :value)
4584
+ SENSITIVE = []
4585
+ include Aws::Structure
4586
+ end
4587
+
3718
4588
  # The Amazon Timestream table where the Amazon Web Services IoT
3719
4589
  # FleetWise campaign sends data. Timestream stores and organizes data to
3720
4590
  # optimize query processing time and to reduce storage costs. For more
@@ -3933,6 +4803,20 @@ module Aws::IoTFleetWise
3933
4803
  # edit the decoder manifest.
3934
4804
  # @return [String]
3935
4805
  #
4806
+ # @!attribute [rw] default_for_unmapped_signals
4807
+ # Use default decoders for all unmapped signals in the model. You
4808
+ # don't need to provide any detailed decoding information.
4809
+ #
4810
+ # Access to certain Amazon Web Services IoT FleetWise features is
4811
+ # currently gated. For more information, see [Amazon Web Services
4812
+ # Region and feature availability][1] in the *Amazon Web Services IoT
4813
+ # FleetWise Developer Guide*.
4814
+ #
4815
+ #
4816
+ #
4817
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html
4818
+ # @return [String]
4819
+ #
3936
4820
  class UpdateDecoderManifestRequest < Struct.new(
3937
4821
  :name,
3938
4822
  :description,
@@ -3942,7 +4826,8 @@ module Aws::IoTFleetWise
3942
4826
  :network_interfaces_to_add,
3943
4827
  :network_interfaces_to_update,
3944
4828
  :network_interfaces_to_remove,
3945
- :status)
4829
+ :status,
4830
+ :default_for_unmapped_signals)
3946
4831
  SENSITIVE = []
3947
4832
  include Aws::Structure
3948
4833
  end
@@ -4087,6 +4972,85 @@ module Aws::IoTFleetWise
4087
4972
  include Aws::Structure
4088
4973
  end
4089
4974
 
4975
+ # @!attribute [rw] identifier
4976
+ # A unique, service-generated identifier.
4977
+ # @return [String]
4978
+ #
4979
+ # @!attribute [rw] description
4980
+ # A brief description of the state template.
4981
+ # @return [String]
4982
+ #
4983
+ # @!attribute [rw] state_template_properties_to_add
4984
+ # Add signals from which data is collected as part of the state
4985
+ # template.
4986
+ # @return [Array<String>]
4987
+ #
4988
+ # @!attribute [rw] state_template_properties_to_remove
4989
+ # Remove signals from which data is collected as part of the state
4990
+ # template.
4991
+ # @return [Array<String>]
4992
+ #
4993
+ # @!attribute [rw] data_extra_dimensions
4994
+ # A list of vehicle attributes to associate with the payload published
4995
+ # on the state template's MQTT topic. (See [ Processing last known
4996
+ # state vehicle data using MQTT messaging][1]). For example, if you
4997
+ # add `Vehicle.Attributes.Make` and `Vehicle.Attributes.Model`
4998
+ # attributes, Amazon Web Services IoT FleetWise will enrich the
4999
+ # protobuf encoded payload with those attributes in the
5000
+ # `extraDimensions` field.
5001
+ #
5002
+ # Default: An empty array
5003
+ #
5004
+ #
5005
+ #
5006
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
5007
+ # @return [Array<String>]
5008
+ #
5009
+ # @!attribute [rw] metadata_extra_dimensions
5010
+ # A list of vehicle attributes to associate with user properties of
5011
+ # the messages published on the state template's MQTT topic. (See [
5012
+ # Processing last known state vehicle data using MQTT messaging][1]).
5013
+ # For example, if you add `Vehicle.Attributes.Make` and
5014
+ # `Vehicle.Attributes.Model` attributes, Amazon Web Services IoT
5015
+ # FleetWise will include these attributes as User Properties with the
5016
+ # MQTT message.
5017
+ #
5018
+ #
5019
+ #
5020
+ # [1]: https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data
5021
+ # @return [Array<String>]
5022
+ #
5023
+ class UpdateStateTemplateRequest < Struct.new(
5024
+ :identifier,
5025
+ :description,
5026
+ :state_template_properties_to_add,
5027
+ :state_template_properties_to_remove,
5028
+ :data_extra_dimensions,
5029
+ :metadata_extra_dimensions)
5030
+ SENSITIVE = []
5031
+ include Aws::Structure
5032
+ end
5033
+
5034
+ # @!attribute [rw] name
5035
+ # The name of the state template.
5036
+ # @return [String]
5037
+ #
5038
+ # @!attribute [rw] arn
5039
+ # The Amazon Resource Name (ARN) of the state template.
5040
+ # @return [String]
5041
+ #
5042
+ # @!attribute [rw] id
5043
+ # The unique ID of the state template.
5044
+ # @return [String]
5045
+ #
5046
+ class UpdateStateTemplateResponse < Struct.new(
5047
+ :name,
5048
+ :arn,
5049
+ :id)
5050
+ SENSITIVE = []
5051
+ include Aws::Structure
5052
+ end
5053
+
4090
5054
  # An HTTP error resulting from updating the description for a vehicle.
4091
5055
  #
4092
5056
  # @!attribute [rw] vehicle_name
@@ -4137,12 +5101,22 @@ module Aws::IoTFleetWise
4137
5101
  # This is required if attributes are present in the input.
4138
5102
  # @return [String]
4139
5103
  #
5104
+ # @!attribute [rw] state_templates_to_add
5105
+ # Associate state templates with the vehicle.
5106
+ # @return [Array<Types::StateTemplateAssociation>]
5107
+ #
5108
+ # @!attribute [rw] state_templates_to_remove
5109
+ # Remove state templates from the vehicle.
5110
+ # @return [Array<String>]
5111
+ #
4140
5112
  class UpdateVehicleRequest < Struct.new(
4141
5113
  :vehicle_name,
4142
5114
  :model_manifest_arn,
4143
5115
  :decoder_manifest_arn,
4144
5116
  :attributes,
4145
- :attribute_update_mode)
5117
+ :attribute_update_mode,
5118
+ :state_templates_to_add,
5119
+ :state_templates_to_remove)
4146
5120
  SENSITIVE = []
4147
5121
  include Aws::Structure
4148
5122
  end
@@ -4178,12 +5152,24 @@ module Aws::IoTFleetWise
4178
5152
  # This is required if attributes are present in the input.
4179
5153
  # @return [String]
4180
5154
  #
5155
+ # @!attribute [rw] state_templates_to_add
5156
+ # Associate additional state templates to track the state of the
5157
+ # vehicle. State templates determine which signal updates the vehicle
5158
+ # sends to the cloud.
5159
+ # @return [Array<Types::StateTemplateAssociation>]
5160
+ #
5161
+ # @!attribute [rw] state_templates_to_remove
5162
+ # Remove existing state template associations from the vehicle.
5163
+ # @return [Array<String>]
5164
+ #
4181
5165
  class UpdateVehicleRequestItem < Struct.new(
4182
5166
  :vehicle_name,
4183
5167
  :model_manifest_arn,
4184
5168
  :decoder_manifest_arn,
4185
5169
  :attributes,
4186
- :attribute_update_mode)
5170
+ :attribute_update_mode,
5171
+ :state_templates_to_add,
5172
+ :state_templates_to_remove)
4187
5173
  SENSITIVE = []
4188
5174
  include Aws::Structure
4189
5175
  end
@@ -4280,8 +5266,7 @@ module Aws::IoTFleetWise
4280
5266
  include Aws::Structure
4281
5267
  end
4282
5268
 
4283
- # Information about the state of a vehicle and how it relates to the
4284
- # status of a campaign.
5269
+ # Information about a campaign associated with a vehicle.
4285
5270
  #
4286
5271
  # @!attribute [rw] campaign_name
4287
5272
  # The name of a campaign.
@@ -4292,20 +5277,20 @@ module Aws::IoTFleetWise
4292
5277
  # @return [String]
4293
5278
  #
4294
5279
  # @!attribute [rw] status
4295
- # The state of a vehicle, which can be one of the following:
5280
+ # The status of a campaign, which can be one of the following:
4296
5281
  #
4297
- # * `CREATED` - Amazon Web Services IoT FleetWise sucessfully created
4298
- # the vehicle.
5282
+ # * `CREATED` - The campaign has been created successfully but has not
5283
+ # been approved.
4299
5284
  #
4300
- # * `READY` - The vehicle is ready to receive a campaign deployment.
5285
+ # * `READY` - The campaign has been approved but has not been deployed
5286
+ # to the vehicle.
4301
5287
  #
4302
- # * `HEALTHY` - A campaign deployment was delivered to the vehicle.
5288
+ # * `HEALTHY` - The campaign has been deployed to the vehicle.
4303
5289
  #
4304
- # * `SUSPENDED` - A campaign associated with the vehicle was suspended
4305
- # and data collection was paused.
5290
+ # * `SUSPENDED` - The campaign has been suspended and data collection
5291
+ # is paused.
4306
5292
  #
4307
- # * `DELETING` - Amazon Web Services IoT FleetWise is removing a
4308
- # campaign from the vehicle.
5293
+ # * `DELETING` - The campaign is being removed from the vehicle.
4309
5294
  # @return [String]
4310
5295
  #
4311
5296
  class VehicleStatus < Struct.new(