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,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(