@aws-sdk/client-iotfleetwise 3.693.0 → 3.698.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.
Files changed (66) hide show
  1. package/README.md +43 -0
  2. package/dist-cjs/index.js +345 -2
  3. package/dist-es/IoTFleetWise.js +10 -0
  4. package/dist-es/commands/CreateStateTemplateCommand.js +22 -0
  5. package/dist-es/commands/DeleteStateTemplateCommand.js +22 -0
  6. package/dist-es/commands/GetStateTemplateCommand.js +22 -0
  7. package/dist-es/commands/ListStateTemplatesCommand.js +22 -0
  8. package/dist-es/commands/UpdateStateTemplateCommand.js +22 -0
  9. package/dist-es/commands/index.js +5 -0
  10. package/dist-es/models/models_0.js +87 -0
  11. package/dist-es/pagination/ListStateTemplatesPaginator.js +4 -0
  12. package/dist-es/pagination/index.js +1 -0
  13. package/dist-es/protocols/Aws_json1_0.js +143 -0
  14. package/dist-types/IoTFleetWise.d.ts +39 -0
  15. package/dist-types/IoTFleetWiseClient.d.ts +10 -2
  16. package/dist-types/commands/BatchCreateVehicleCommand.d.ts +14 -0
  17. package/dist-types/commands/BatchUpdateVehicleCommand.d.ts +17 -0
  18. package/dist-types/commands/CreateCampaignCommand.d.ts +46 -0
  19. package/dist-types/commands/CreateDecoderManifestCommand.d.ts +11 -3
  20. package/dist-types/commands/CreateModelManifestCommand.d.ts +2 -1
  21. package/dist-types/commands/CreateSignalCatalogCommand.d.ts +2 -1
  22. package/dist-types/commands/CreateStateTemplateCommand.d.ts +119 -0
  23. package/dist-types/commands/CreateVehicleCommand.d.ts +14 -0
  24. package/dist-types/commands/DeleteDecoderManifestCommand.d.ts +0 -4
  25. package/dist-types/commands/DeleteFleetCommand.d.ts +0 -4
  26. package/dist-types/commands/DeleteModelManifestCommand.d.ts +0 -4
  27. package/dist-types/commands/DeleteSignalCatalogCommand.d.ts +0 -4
  28. package/dist-types/commands/DeleteStateTemplateCommand.d.ts +85 -0
  29. package/dist-types/commands/DeleteVehicleCommand.d.ts +0 -4
  30. package/dist-types/commands/DisassociateVehicleFleetCommand.d.ts +0 -4
  31. package/dist-types/commands/GetCampaignCommand.d.ts +46 -0
  32. package/dist-types/commands/GetStateTemplateCommand.d.ts +104 -0
  33. package/dist-types/commands/GetVehicleCommand.d.ts +14 -0
  34. package/dist-types/commands/GetVehicleStatusCommand.d.ts +2 -2
  35. package/dist-types/commands/ImportDecoderManifestCommand.d.ts +5 -2
  36. package/dist-types/commands/ImportSignalCatalogCommand.d.ts +2 -1
  37. package/dist-types/commands/ListDecoderManifestNetworkInterfacesCommand.d.ts +4 -1
  38. package/dist-types/commands/ListDecoderManifestSignalsCommand.d.ts +4 -1
  39. package/dist-types/commands/ListStateTemplatesCommand.d.ts +98 -0
  40. package/dist-types/commands/PutEncryptionConfigurationCommand.d.ts +4 -1
  41. package/dist-types/commands/RegisterAccountCommand.d.ts +12 -4
  42. package/dist-types/commands/UpdateDecoderManifestCommand.d.ts +19 -5
  43. package/dist-types/commands/UpdateFleetCommand.d.ts +0 -4
  44. package/dist-types/commands/UpdateModelManifestCommand.d.ts +2 -1
  45. package/dist-types/commands/UpdateSignalCatalogCommand.d.ts +2 -1
  46. package/dist-types/commands/UpdateStateTemplateCommand.d.ts +111 -0
  47. package/dist-types/commands/UpdateVehicleCommand.d.ts +17 -0
  48. package/dist-types/commands/index.d.ts +5 -0
  49. package/dist-types/index.d.ts +3 -0
  50. package/dist-types/models/models_0.d.ts +1137 -146
  51. package/dist-types/pagination/ListStateTemplatesPaginator.d.ts +7 -0
  52. package/dist-types/pagination/index.d.ts +1 -0
  53. package/dist-types/protocols/Aws_json1_0.d.ts +45 -0
  54. package/dist-types/ts3.4/IoTFleetWise.d.ts +86 -0
  55. package/dist-types/ts3.4/IoTFleetWiseClient.d.ts +30 -0
  56. package/dist-types/ts3.4/commands/CreateStateTemplateCommand.d.ts +51 -0
  57. package/dist-types/ts3.4/commands/DeleteStateTemplateCommand.d.ts +51 -0
  58. package/dist-types/ts3.4/commands/GetStateTemplateCommand.d.ts +50 -0
  59. package/dist-types/ts3.4/commands/ListStateTemplatesCommand.d.ts +51 -0
  60. package/dist-types/ts3.4/commands/UpdateStateTemplateCommand.d.ts +51 -0
  61. package/dist-types/ts3.4/commands/index.d.ts +5 -0
  62. package/dist-types/ts3.4/models/models_0.d.ts +256 -0
  63. package/dist-types/ts3.4/pagination/ListStateTemplatesPaginator.d.ts +11 -0
  64. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  65. package/dist-types/ts3.4/protocols/Aws_json1_0.d.ts +60 -0
  66. package/package.json +35 -35
@@ -115,7 +115,10 @@ export interface Actuator {
115
115
  */
116
116
  comment?: string | undefined;
117
117
  /**
118
- * <p>The fully qualified name of the struct node for the actuator if the data type of the actuator is <code>Struct</code> or <code>StructArray</code>. For example, the struct fully qualified name of an actuator might be <code>Vehicle.Door.LockStruct</code>.</p>
118
+ * <p>The fully qualified name of the struct node for the actuator if the data type of the
119
+ * actuator is <code>Struct</code> or <code>StructArray</code>. For example, the struct
120
+ * fully qualified name of an actuator might be
121
+ * <code>Vehicle.Door.LockStruct</code>.</p>
119
122
  * @public
120
123
  */
121
124
  structFullyQualifiedName?: string | undefined;
@@ -267,12 +270,14 @@ export declare class ValidationException extends __BaseException {
267
270
  readonly name: "ValidationException";
268
271
  readonly $fault: "client";
269
272
  /**
270
- * <p>The reason the input failed to satisfy the constraints specified by an Amazon Web Services service.</p>
273
+ * <p>The reason the input failed to satisfy the constraints specified by an Amazon Web Services
274
+ * service.</p>
271
275
  * @public
272
276
  */
273
277
  reason?: ValidationExceptionReason | undefined;
274
278
  /**
275
- * <p>The list of fields that fail to satisfy the constraints specified by an Amazon Web Services service.</p>
279
+ * <p>The list of fields that fail to satisfy the constraints specified by an Amazon Web Services
280
+ * service.</p>
276
281
  * @public
277
282
  */
278
283
  fieldList?: ValidationExceptionField[] | undefined;
@@ -358,6 +363,120 @@ export declare const VehicleAssociationBehavior: {
358
363
  * @public
359
364
  */
360
365
  export type VehicleAssociationBehavior = (typeof VehicleAssociationBehavior)[keyof typeof VehicleAssociationBehavior];
366
+ /**
367
+ * <p>Vehicles associated with the state template will stream telemetry data when there is a change.</p>
368
+ * @public
369
+ */
370
+ export interface OnChangeStateTemplateUpdateStrategy {
371
+ }
372
+ /**
373
+ * @public
374
+ * @enum
375
+ */
376
+ export declare const TimeUnit: {
377
+ readonly HOUR: "HOUR";
378
+ readonly MILLISECOND: "MILLISECOND";
379
+ readonly MINUTE: "MINUTE";
380
+ readonly SECOND: "SECOND";
381
+ };
382
+ /**
383
+ * @public
384
+ */
385
+ export type TimeUnit = (typeof TimeUnit)[keyof typeof TimeUnit];
386
+ /**
387
+ * <p>The length of time between state template updates.</p>
388
+ * @public
389
+ */
390
+ export interface TimePeriod {
391
+ /**
392
+ * <p>A unit of time.</p>
393
+ * @public
394
+ */
395
+ unit: TimeUnit | undefined;
396
+ /**
397
+ * <p>A number of time units.</p>
398
+ * @public
399
+ */
400
+ value: number | undefined;
401
+ }
402
+ /**
403
+ * <p>Vehicles associated with the state template will stream telemetry data during a specified time period.</p>
404
+ * @public
405
+ */
406
+ export interface PeriodicStateTemplateUpdateStrategy {
407
+ /**
408
+ * <p>The length of time between state template updates.</p>
409
+ * @public
410
+ */
411
+ stateTemplateUpdateRate: TimePeriod | undefined;
412
+ }
413
+ /**
414
+ * <p>The update strategy for the state template. Vehicles associated with the state template can stream telemetry data with either an <code>onChange</code> or <code>periodic</code> update strategy. </p>
415
+ * <important>
416
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
417
+ * </important>
418
+ * @public
419
+ */
420
+ export type StateTemplateUpdateStrategy = StateTemplateUpdateStrategy.OnChangeMember | StateTemplateUpdateStrategy.PeriodicMember | StateTemplateUpdateStrategy.$UnknownMember;
421
+ /**
422
+ * @public
423
+ */
424
+ export declare namespace StateTemplateUpdateStrategy {
425
+ /**
426
+ * <p>Vehicles associated with the state template will stream telemetry data during a specified time period.</p>
427
+ * @public
428
+ */
429
+ interface PeriodicMember {
430
+ periodic: PeriodicStateTemplateUpdateStrategy;
431
+ onChange?: never;
432
+ $unknown?: never;
433
+ }
434
+ /**
435
+ * <p>Vehicles associated with the state template will stream telemetry data when there is a change.</p>
436
+ * @public
437
+ */
438
+ interface OnChangeMember {
439
+ periodic?: never;
440
+ onChange: OnChangeStateTemplateUpdateStrategy;
441
+ $unknown?: never;
442
+ }
443
+ /**
444
+ * @public
445
+ */
446
+ interface $UnknownMember {
447
+ periodic?: never;
448
+ onChange?: never;
449
+ $unknown: [string, any];
450
+ }
451
+ interface Visitor<T> {
452
+ periodic: (value: PeriodicStateTemplateUpdateStrategy) => T;
453
+ onChange: (value: OnChangeStateTemplateUpdateStrategy) => T;
454
+ _: (name: string, value: any) => T;
455
+ }
456
+ const visit: <T>(value: StateTemplateUpdateStrategy, visitor: Visitor<T>) => T;
457
+ }
458
+ /**
459
+ * <p>The state template associated with a vehicle. State templates contain state properties, which are signals that belong to a signal catalog that is synchronized between the Amazon Web Services IoT FleetWise Edge and the Amazon Web Services Cloud.</p>
460
+ * <important>
461
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
462
+ * </important>
463
+ * @public
464
+ */
465
+ export interface StateTemplateAssociation {
466
+ /**
467
+ * <p>A unique, service-generated identifier.</p>
468
+ * @public
469
+ */
470
+ identifier: string | undefined;
471
+ /**
472
+ * <p>The update strategy for the state template. Vehicles associated with the state template can stream telemetry data with either an <code>onChange</code> or <code>periodic</code> update strategy. </p>
473
+ * <important>
474
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
475
+ * </important>
476
+ * @public
477
+ */
478
+ stateTemplateUpdateStrategy: StateTemplateUpdateStrategy | undefined;
479
+ }
361
480
  /**
362
481
  * <p>A set of key/value pairs that are used to manage the resource.</p>
363
482
  * @public
@@ -413,6 +532,11 @@ export interface CreateVehicleRequestItem {
413
532
  * @public
414
533
  */
415
534
  tags?: Tag[] | undefined;
535
+ /**
536
+ * <p>Associate state templates to track the state of the vehicle. State templates determine which signal updates the vehicle sends to the cloud.</p>
537
+ * @public
538
+ */
539
+ stateTemplates?: StateTemplateAssociation[] | undefined;
416
540
  }
417
541
  /**
418
542
  * @public
@@ -507,7 +631,8 @@ export interface UpdateVehicleRequestItem {
507
631
  */
508
632
  vehicleName: string | undefined;
509
633
  /**
510
- * <p>The ARN of the vehicle model (model manifest) associated with the vehicle to update.</p>
634
+ * <p>The ARN of the vehicle model (model manifest) associated with the vehicle to
635
+ * update.</p>
511
636
  * @public
512
637
  */
513
638
  modelManifestArn?: string | undefined;
@@ -532,6 +657,16 @@ export interface UpdateVehicleRequestItem {
532
657
  * @public
533
658
  */
534
659
  attributeUpdateMode?: UpdateMode | undefined;
660
+ /**
661
+ * <p>Associate additional state templates to track the state of the vehicle. State templates determine which signal updates the vehicle sends to the cloud.</p>
662
+ * @public
663
+ */
664
+ stateTemplatesToAdd?: StateTemplateAssociation[] | undefined;
665
+ /**
666
+ * <p>Remove existing state template associations from the vehicle.</p>
667
+ * @public
668
+ */
669
+ stateTemplatesToRemove?: string[] | undefined;
535
670
  }
536
671
  /**
537
672
  * @public
@@ -669,8 +804,7 @@ export type TriggerMode = (typeof TriggerMode)[keyof typeof TriggerMode];
669
804
  */
670
805
  export interface ConditionBasedCollectionScheme {
671
806
  /**
672
- * <p>The logical expression used to recognize what data to collect. For example,
673
- * <code>$variable.`Vehicle.OutsideAirTemperature` &gt;= 105.0</code>.</p>
807
+ * <p>The logical expression used to recognize what data to collect. For example, <code>$variable.`Vehicle.OutsideAirTemperature` &gt;= 105.0</code>.</p>
674
808
  * @public
675
809
  */
676
810
  expression: string | undefined;
@@ -705,9 +839,9 @@ export interface ConditionBasedCollectionScheme {
705
839
  */
706
840
  export interface TimeBasedCollectionScheme {
707
841
  /**
708
- * <p>The time period (in milliseconds) to decide how often to collect data. For example,
709
- * if the time period is <code>60000</code>, the Edge Agent software collects data once
710
- * every minute.</p>
842
+ * <p>The time period (in milliseconds) to decide how often to collect data. For example, if
843
+ * the time period is <code>60000</code>, the Edge Agent software collects data once every
844
+ * minute.</p>
711
845
  * @public
712
846
  */
713
847
  periodMs: number | undefined;
@@ -768,6 +902,27 @@ export declare const Compression: {
768
902
  * @public
769
903
  */
770
904
  export type Compression = (typeof Compression)[keyof typeof Compression];
905
+ /**
906
+ * <p>The MQTT topic to which the Amazon Web Services IoT FleetWise campaign routes data. For more information, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/protocols.html">Device communication
907
+ * protocols</a> in the <i>Amazon Web Services IoT Core Developer Guide</i>.</p>
908
+ * <important>
909
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
910
+ * </important>
911
+ * @public
912
+ */
913
+ export interface MqttTopicConfig {
914
+ /**
915
+ * <p>The ARN of the MQTT topic.</p>
916
+ * @public
917
+ */
918
+ mqttTopicArn: string | undefined;
919
+ /**
920
+ * <p>The ARN of the role that grants Amazon Web Services IoT FleetWise permission to access and act on messages sent to
921
+ * the MQTT topic.</p>
922
+ * @public
923
+ */
924
+ executionRoleArn: string | undefined;
925
+ }
771
926
  /**
772
927
  * @public
773
928
  * @enum
@@ -793,7 +948,9 @@ export declare const StorageCompressionFormat: {
793
948
  */
794
949
  export type StorageCompressionFormat = (typeof StorageCompressionFormat)[keyof typeof StorageCompressionFormat];
795
950
  /**
796
- * <p>The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign sends data. Amazon S3 is an object storage service that stores data as objects within buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html">Creating, configuring, and working with Amazon S3 buckets</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p>
951
+ * <p>The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign sends data. Amazon S3 is an object storage
952
+ * service that stores data as objects within buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html">Creating, configuring, and working with Amazon S3 buckets</a> in the
953
+ * <i>Amazon Simple Storage Service User Guide</i>.</p>
797
954
  * @public
798
955
  */
799
956
  export interface S3Config {
@@ -803,7 +960,8 @@ export interface S3Config {
803
960
  */
804
961
  bucketArn: string | undefined;
805
962
  /**
806
- * <p>Specify the format that files are saved in the Amazon S3 bucket. You can save files in an Apache Parquet or JSON format.</p>
963
+ * <p>Specify the format that files are saved in the Amazon S3 bucket. You can save files in an
964
+ * Apache Parquet or JSON format.</p>
807
965
  * <ul>
808
966
  * <li>
809
967
  * <p>Parquet - Store data in a columnar storage file format. Parquet is optimal for
@@ -824,14 +982,24 @@ export interface S3Config {
824
982
  */
825
983
  storageCompressionFormat?: StorageCompressionFormat | undefined;
826
984
  /**
827
- * <p>(Optional) Enter an S3 bucket prefix. The prefix is the string of characters after the bucket name and before the object name. You can use the prefix to organize data stored in Amazon S3 buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html">Organizing objects using prefixes</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p>
828
- * <p>By default, Amazon Web Services IoT FleetWise sets the prefix <code>processed-data/year=YY/month=MM/date=DD/hour=HH/</code> (in UTC) to data it delivers to Amazon S3. You can enter a prefix to append it to this default prefix. For example, if you enter the prefix <code>vehicles</code>, the prefix will be <code>vehicles/processed-data/year=YY/month=MM/date=DD/hour=HH/</code>.</p>
985
+ * <p>Enter an S3 bucket prefix. The prefix is the string of characters after the
986
+ * bucket name and before the object name. You can use the prefix to organize data stored
987
+ * in Amazon S3 buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html">Organizing objects using
988
+ * prefixes</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p>
989
+ * <p>By default, Amazon Web Services IoT FleetWise sets the prefix
990
+ * <code>processed-data/year=YY/month=MM/date=DD/hour=HH/</code> (in UTC) to data it
991
+ * delivers to Amazon S3. You can enter a prefix to append it to this default prefix. For
992
+ * example, if you enter the prefix <code>vehicles</code>, the prefix will be
993
+ * <code>vehicles/processed-data/year=YY/month=MM/date=DD/hour=HH/</code>.</p>
829
994
  * @public
830
995
  */
831
996
  prefix?: string | undefined;
832
997
  }
833
998
  /**
834
- * <p>The Amazon Timestream table where the Amazon Web Services IoT FleetWise campaign sends data. Timestream stores and organizes data to optimize query processing time and to reduce storage costs. For more information, see <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/data-modeling.html">Data modeling</a> in the <i>Amazon Timestream Developer Guide</i>.</p>
999
+ * <p>The Amazon Timestream table where the Amazon Web Services IoT FleetWise campaign sends data. Timestream stores and organizes
1000
+ * data to optimize query processing time and to reduce storage costs. For more
1001
+ * information, see <a href="https://docs.aws.amazon.com/timestream/latest/developerguide/data-modeling.html">Data modeling</a> in
1002
+ * the <i>Amazon Timestream Developer Guide</i>.</p>
835
1003
  * @public
836
1004
  */
837
1005
  export interface TimestreamConfig {
@@ -841,16 +1009,18 @@ export interface TimestreamConfig {
841
1009
  */
842
1010
  timestreamTableArn: string | undefined;
843
1011
  /**
844
- * <p>The Amazon Resource Name (ARN) of the task execution role that grants Amazon Web Services IoT FleetWise permission to deliver data to the Amazon Timestream table.</p>
1012
+ * <p>The Amazon Resource Name (ARN) of the task execution role that grants Amazon Web Services IoT FleetWise permission to
1013
+ * deliver data to the Amazon Timestream table.</p>
845
1014
  * @public
846
1015
  */
847
1016
  executionRoleArn: string | undefined;
848
1017
  }
849
1018
  /**
850
- * <p>The destination where the Amazon Web Services IoT FleetWise campaign sends data. You can send data to be stored in Amazon S3 or Amazon Timestream.</p>
1019
+ * <p>The destination where the campaign sends data. You can send data to an MQTT topic,
1020
+ * or store it in Amazon S3 or Amazon Timestream.</p>
851
1021
  * @public
852
1022
  */
853
- export type DataDestinationConfig = DataDestinationConfig.S3ConfigMember | DataDestinationConfig.TimestreamConfigMember | DataDestinationConfig.$UnknownMember;
1023
+ export type DataDestinationConfig = DataDestinationConfig.MqttTopicConfigMember | DataDestinationConfig.S3ConfigMember | DataDestinationConfig.TimestreamConfigMember | DataDestinationConfig.$UnknownMember;
854
1024
  /**
855
1025
  * @public
856
1026
  */
@@ -862,6 +1032,7 @@ export declare namespace DataDestinationConfig {
862
1032
  interface S3ConfigMember {
863
1033
  s3Config: S3Config;
864
1034
  timestreamConfig?: never;
1035
+ mqttTopicConfig?: never;
865
1036
  $unknown?: never;
866
1037
  }
867
1038
  /**
@@ -871,6 +1042,20 @@ export declare namespace DataDestinationConfig {
871
1042
  interface TimestreamConfigMember {
872
1043
  s3Config?: never;
873
1044
  timestreamConfig: TimestreamConfig;
1045
+ mqttTopicConfig?: never;
1046
+ $unknown?: never;
1047
+ }
1048
+ /**
1049
+ * <p>The MQTT topic to which the Amazon Web Services IoT FleetWise campaign routes data.</p>
1050
+ * <important>
1051
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
1052
+ * </important>
1053
+ * @public
1054
+ */
1055
+ interface MqttTopicConfigMember {
1056
+ s3Config?: never;
1057
+ timestreamConfig?: never;
1058
+ mqttTopicConfig: MqttTopicConfig;
874
1059
  $unknown?: never;
875
1060
  }
876
1061
  /**
@@ -879,15 +1064,168 @@ export declare namespace DataDestinationConfig {
879
1064
  interface $UnknownMember {
880
1065
  s3Config?: never;
881
1066
  timestreamConfig?: never;
1067
+ mqttTopicConfig?: never;
882
1068
  $unknown: [string, any];
883
1069
  }
884
1070
  interface Visitor<T> {
885
1071
  s3Config: (value: S3Config) => T;
886
1072
  timestreamConfig: (value: TimestreamConfig) => T;
1073
+ mqttTopicConfig: (value: MqttTopicConfig) => T;
887
1074
  _: (name: string, value: any) => T;
888
1075
  }
889
1076
  const visit: <T>(value: DataDestinationConfig, visitor: Visitor<T>) => T;
890
1077
  }
1078
+ /**
1079
+ * @public
1080
+ * @enum
1081
+ */
1082
+ export declare const StorageMaximumSizeUnit: {
1083
+ readonly GB: "GB";
1084
+ readonly MB: "MB";
1085
+ readonly TB: "TB";
1086
+ };
1087
+ /**
1088
+ * @public
1089
+ */
1090
+ export type StorageMaximumSizeUnit = (typeof StorageMaximumSizeUnit)[keyof typeof StorageMaximumSizeUnit];
1091
+ /**
1092
+ * <p>The maximum storage size for the data partition.</p>
1093
+ * <important>
1094
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
1095
+ * </important>
1096
+ * @public
1097
+ */
1098
+ export interface StorageMaximumSize {
1099
+ /**
1100
+ * <p>The data type of the data to store.</p>
1101
+ * @public
1102
+ */
1103
+ unit: StorageMaximumSizeUnit | undefined;
1104
+ /**
1105
+ * <p>The maximum amount of time to store data.</p>
1106
+ * @public
1107
+ */
1108
+ value: number | undefined;
1109
+ }
1110
+ /**
1111
+ * @public
1112
+ * @enum
1113
+ */
1114
+ export declare const StorageMinimumTimeToLiveUnit: {
1115
+ readonly DAYS: "DAYS";
1116
+ readonly HOURS: "HOURS";
1117
+ readonly WEEKS: "WEEKS";
1118
+ };
1119
+ /**
1120
+ * @public
1121
+ */
1122
+ export type StorageMinimumTimeToLiveUnit = (typeof StorageMinimumTimeToLiveUnit)[keyof typeof StorageMinimumTimeToLiveUnit];
1123
+ /**
1124
+ * <p>Information about the minimum amount of time that data will be kept.</p>
1125
+ * <important>
1126
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
1127
+ * </important>
1128
+ * @public
1129
+ */
1130
+ export interface StorageMinimumTimeToLive {
1131
+ /**
1132
+ * <p>The time increment type.</p>
1133
+ * @public
1134
+ */
1135
+ unit: StorageMinimumTimeToLiveUnit | undefined;
1136
+ /**
1137
+ * <p>The minimum amount of time to store the data.</p>
1138
+ * @public
1139
+ */
1140
+ value: number | undefined;
1141
+ }
1142
+ /**
1143
+ * <p>Size, time, and location options for the data partition.</p>
1144
+ * @public
1145
+ */
1146
+ export interface DataPartitionStorageOptions {
1147
+ /**
1148
+ * <p>The maximum storage size of the data stored in the data partition.</p>
1149
+ * <note>
1150
+ * <p>Newer data overwrites older data when the partition reaches the maximum
1151
+ * size.</p>
1152
+ * </note>
1153
+ * @public
1154
+ */
1155
+ maximumSize: StorageMaximumSize | undefined;
1156
+ /**
1157
+ * <p>The folder name for the data partition under the campaign storage folder.</p>
1158
+ * @public
1159
+ */
1160
+ storageLocation: string | undefined;
1161
+ /**
1162
+ * <p>The amount of time that data in this partition will be kept on disk.</p>
1163
+ * <ul>
1164
+ * <li>
1165
+ * <p>After the designated amount of time passes, the data can be removed, but it's
1166
+ * not guaranteed to be removed.</p>
1167
+ * </li>
1168
+ * <li>
1169
+ * <p>Before the time expires, data in this partition can still be deleted if the
1170
+ * partition reaches its configured maximum size.</p>
1171
+ * </li>
1172
+ * <li>
1173
+ * <p>Newer data will overwrite older data when the partition reaches the maximum
1174
+ * size.</p>
1175
+ * </li>
1176
+ * </ul>
1177
+ * @public
1178
+ */
1179
+ minimumTimeToLive: StorageMinimumTimeToLive | undefined;
1180
+ }
1181
+ /**
1182
+ * <p>The upload options for the data partition. If upload options are specified, you must
1183
+ * also specify storage options. See <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_DataPartitionStorageOptions.html">DataPartitionStorageOptions</a>.</p>
1184
+ * <important>
1185
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
1186
+ * </important>
1187
+ * @public
1188
+ */
1189
+ export interface DataPartitionUploadOptions {
1190
+ /**
1191
+ * <p>The logical expression used to recognize what data to collect. For example, <code>$variable.`Vehicle.OutsideAirTemperature` &gt;= 105.0</code>.</p>
1192
+ * @public
1193
+ */
1194
+ expression: string | undefined;
1195
+ /**
1196
+ * <p>The version of the condition language. Defaults to the most recent condition language
1197
+ * version.</p>
1198
+ * @public
1199
+ */
1200
+ conditionLanguageVersion?: number | undefined;
1201
+ }
1202
+ /**
1203
+ * <p>The configuration for signal data storage and upload options. You can only specify these
1204
+ * options when the campaign's spooling mode is <code>TO_DISK</code>.</p>
1205
+ * <important>
1206
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
1207
+ * </important>
1208
+ * @public
1209
+ */
1210
+ export interface DataPartition {
1211
+ /**
1212
+ * <p>The ID of the data partition. The data partition ID must be unique within a campaign.
1213
+ * You can establish a data partition as the default partition for a campaign by using
1214
+ * <code>default</code> as the ID.</p>
1215
+ * @public
1216
+ */
1217
+ id: string | undefined;
1218
+ /**
1219
+ * <p>The storage options for a data partition.</p>
1220
+ * @public
1221
+ */
1222
+ storageOptions: DataPartitionStorageOptions | undefined;
1223
+ /**
1224
+ * <p>The upload options for the data partition.</p>
1225
+ * @public
1226
+ */
1227
+ uploadOptions?: DataPartitionUploadOptions | undefined;
1228
+ }
891
1229
  /**
892
1230
  * @public
893
1231
  * @enum
@@ -924,6 +1262,123 @@ export interface SignalInformation {
924
1262
  * @public
925
1263
  */
926
1264
  minimumSamplingIntervalMs?: number | undefined;
1265
+ /**
1266
+ * <p>The ID of the data partition this signal is associated with.</p>
1267
+ * <p>The ID must match one of the IDs provided in <code>dataPartitions</code>. This is
1268
+ * accomplished either by specifying a particular data partition ID or by using
1269
+ * <code>default</code> for an established default partition. You can establish a
1270
+ * default partition in the <code>DataPartition</code> data type.</p>
1271
+ * <note>
1272
+ * <p>If you upload a signal as a condition for a campaign's data partition,
1273
+ * the same signal must be included in <code>signalsToCollect</code>.</p>
1274
+ * </note>
1275
+ * <important>
1276
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
1277
+ * </important>
1278
+ * @public
1279
+ */
1280
+ dataPartitionId?: string | undefined;
1281
+ }
1282
+ /**
1283
+ * <p>Specifies the condition under which a signal fetch occurs.</p>
1284
+ * @public
1285
+ */
1286
+ export interface ConditionBasedSignalFetchConfig {
1287
+ /**
1288
+ * <p>The condition that must be satisfied to trigger a signal fetch.</p>
1289
+ * @public
1290
+ */
1291
+ conditionExpression: string | undefined;
1292
+ /**
1293
+ * <p>Indicates the mode in which the signal fetch is triggered.</p>
1294
+ * @public
1295
+ */
1296
+ triggerMode: TriggerMode | undefined;
1297
+ }
1298
+ /**
1299
+ * <p>Used to configure a frequency-based vehicle signal fetch.</p>
1300
+ * @public
1301
+ */
1302
+ export interface TimeBasedSignalFetchConfig {
1303
+ /**
1304
+ * <p>The frequency with which the signal fetch will be executed.</p>
1305
+ * @public
1306
+ */
1307
+ executionFrequencyMs: number | undefined;
1308
+ }
1309
+ /**
1310
+ * <p>The configuration of the signal fetch operation.</p>
1311
+ * <important>
1312
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
1313
+ * </important>
1314
+ * @public
1315
+ */
1316
+ export type SignalFetchConfig = SignalFetchConfig.ConditionBasedMember | SignalFetchConfig.TimeBasedMember | SignalFetchConfig.$UnknownMember;
1317
+ /**
1318
+ * @public
1319
+ */
1320
+ export declare namespace SignalFetchConfig {
1321
+ /**
1322
+ * <p>The configuration of a time-based signal fetch operation.</p>
1323
+ * @public
1324
+ */
1325
+ interface TimeBasedMember {
1326
+ timeBased: TimeBasedSignalFetchConfig;
1327
+ conditionBased?: never;
1328
+ $unknown?: never;
1329
+ }
1330
+ /**
1331
+ * <p>The configuration of a condition-based signal fetch operation.</p>
1332
+ * @public
1333
+ */
1334
+ interface ConditionBasedMember {
1335
+ timeBased?: never;
1336
+ conditionBased: ConditionBasedSignalFetchConfig;
1337
+ $unknown?: never;
1338
+ }
1339
+ /**
1340
+ * @public
1341
+ */
1342
+ interface $UnknownMember {
1343
+ timeBased?: never;
1344
+ conditionBased?: never;
1345
+ $unknown: [string, any];
1346
+ }
1347
+ interface Visitor<T> {
1348
+ timeBased: (value: TimeBasedSignalFetchConfig) => T;
1349
+ conditionBased: (value: ConditionBasedSignalFetchConfig) => T;
1350
+ _: (name: string, value: any) => T;
1351
+ }
1352
+ const visit: <T>(value: SignalFetchConfig, visitor: Visitor<T>) => T;
1353
+ }
1354
+ /**
1355
+ * <p>Information about the signal to be fetched.</p>
1356
+ * <important>
1357
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
1358
+ * </important>
1359
+ * @public
1360
+ */
1361
+ export interface SignalFetchInformation {
1362
+ /**
1363
+ * <p>The fully qualified name of the signal to be fetched.</p>
1364
+ * @public
1365
+ */
1366
+ fullyQualifiedName: string | undefined;
1367
+ /**
1368
+ * <p>The configuration of the signal fetch operation.</p>
1369
+ * @public
1370
+ */
1371
+ signalFetchConfig: SignalFetchConfig | undefined;
1372
+ /**
1373
+ * <p>The version of the condition language used.</p>
1374
+ * @public
1375
+ */
1376
+ conditionLanguageVersion?: number | undefined;
1377
+ /**
1378
+ * <p>The actions to be performed by the signal fetch.</p>
1379
+ * @public
1380
+ */
1381
+ actions: string[] | undefined;
927
1382
  }
928
1383
  /**
929
1384
  * @public
@@ -963,7 +1418,7 @@ export interface CreateCampaignRequest {
963
1418
  */
964
1419
  targetArn: string | undefined;
965
1420
  /**
966
- * <p>(Optional) The time, in milliseconds, to deliver a campaign after it was approved. If
1421
+ * <p>The time, in milliseconds, to deliver a campaign after it was approved. If
967
1422
  * it's not specified, <code>0</code> is used.</p>
968
1423
  * <p>Default: <code>0</code>
969
1424
  * </p>
@@ -971,14 +1426,14 @@ export interface CreateCampaignRequest {
971
1426
  */
972
1427
  startTime?: Date | undefined;
973
1428
  /**
974
- * <p> (Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at
1429
+ * <p>The time the campaign expires, in seconds since epoch (January 1, 1970 at
975
1430
  * midnight UTC time). Vehicle data isn't collected after the campaign expires. </p>
976
1431
  * <p>Default: 253402214400 (December 31, 9999, 00:00:00 UTC)</p>
977
1432
  * @public
978
1433
  */
979
1434
  expiryTime?: Date | undefined;
980
1435
  /**
981
- * <p> (Optional) How long (in milliseconds) to collect raw data after a triggering event
1436
+ * <p>How long (in milliseconds) to collect raw data after a triggering event
982
1437
  * initiates the collection. If it's not specified, <code>0</code> is used.</p>
983
1438
  * <p>Default: <code>0</code>
984
1439
  * </p>
@@ -986,7 +1441,7 @@ export interface CreateCampaignRequest {
986
1441
  */
987
1442
  postTriggerCollectionDuration?: number | undefined;
988
1443
  /**
989
- * <p> (Optional) Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. If you
1444
+ * <p>Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. If you
990
1445
  * want to send diagnostic trouble codes, use <code>SEND_ACTIVE_DTCS</code>. If it's not
991
1446
  * specified, <code>OFF</code> is used.</p>
992
1447
  * <p>Default: <code>OFF</code>
@@ -995,7 +1450,7 @@ export interface CreateCampaignRequest {
995
1450
  */
996
1451
  diagnosticsMode?: DiagnosticsMode | undefined;
997
1452
  /**
998
- * <p>(Optional) Whether to store collected data after a vehicle lost a connection with the
1453
+ * <p>Determines whether to store collected data after a vehicle lost a connection with the
999
1454
  * cloud. After a connection is re-established, the data is automatically forwarded to
1000
1455
  * Amazon Web Services IoT FleetWise. If you want to store collected data when a vehicle loses connection with the
1001
1456
  * cloud, use <code>TO_DISK</code>. If it's not specified, <code>OFF</code> is used.</p>
@@ -1005,7 +1460,7 @@ export interface CreateCampaignRequest {
1005
1460
  */
1006
1461
  spoolingMode?: SpoolingMode | undefined;
1007
1462
  /**
1008
- * <p> (Optional) Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If you
1463
+ * <p>Determines whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If you
1009
1464
  * don't want to compress the signals, use <code>OFF</code>. If it's not specified,
1010
1465
  * <code>SNAPPY</code> is used. </p>
1011
1466
  * <p>Default: <code>SNAPPY</code>
@@ -1016,7 +1471,7 @@ export interface CreateCampaignRequest {
1016
1471
  /**
1017
1472
  * @deprecated
1018
1473
  *
1019
- * <p>(Optional) A number indicating the priority of one campaign over another campaign for
1474
+ * <p>A number indicating the priority of one campaign over another campaign for
1020
1475
  * a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles
1021
1476
  * before any other campaigns. If it's not specified, <code>0</code> is used. </p>
1022
1477
  * <p>Default: <code>0</code>
@@ -1025,7 +1480,11 @@ export interface CreateCampaignRequest {
1025
1480
  */
1026
1481
  priority?: number | undefined;
1027
1482
  /**
1028
- * <p>(Optional) A list of information about signals to collect. </p>
1483
+ * <p>A list of information about signals to collect. </p>
1484
+ * <note>
1485
+ * <p>If you upload a signal as a condition in a data partition for a campaign, then
1486
+ * those same signals must be included in <code>signalsToCollect</code>.</p>
1487
+ * </note>
1029
1488
  * @public
1030
1489
  */
1031
1490
  signalsToCollect?: SignalInformation[] | undefined;
@@ -1036,8 +1495,11 @@ export interface CreateCampaignRequest {
1036
1495
  */
1037
1496
  collectionScheme: CollectionScheme | undefined;
1038
1497
  /**
1039
- * <p> (Optional) A list of vehicle attributes to associate with a campaign. </p>
1040
- * <p>Enrich the data with specified vehicle attributes. For example, add <code>make</code> and <code>model</code> to the campaign, and Amazon Web Services IoT FleetWise will associate the data with those attributes as dimensions in Amazon Timestream. You can then query the data against <code>make</code> and <code>model</code>.</p>
1498
+ * <p>A list of vehicle attributes to associate with a campaign. </p>
1499
+ * <p>Enrich the data with specified vehicle attributes. For example, add <code>make</code>
1500
+ * and <code>model</code> to the campaign, and Amazon Web Services IoT FleetWise will associate the data with those
1501
+ * attributes as dimensions in Amazon Timestream. You can then query the data against
1502
+ * <code>make</code> and <code>model</code>.</p>
1041
1503
  * <p>Default: An empty array</p>
1042
1504
  * @public
1043
1505
  */
@@ -1048,13 +1510,29 @@ export interface CreateCampaignRequest {
1048
1510
  */
1049
1511
  tags?: Tag[] | undefined;
1050
1512
  /**
1051
- * <p>The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.</p>
1052
- * <p>Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. Amazon Web Services IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple Amazon Web Services IoT FleetWise servers for redundancy and high availability.</p>
1513
+ * <p>The destination where the campaign sends data. You can send data to an MQTT topic,
1514
+ * or store it in Amazon S3 or Amazon Timestream.</p>
1515
+ * <p>MQTT is the publish/subscribe messaging protocol used by Amazon Web Services IoT to communicate with
1516
+ * your devices.</p>
1517
+ * <p>Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle
1518
+ * data, such as data lakes, centralized data storage, data processing pipelines, and analytics.
1519
+ * Amazon Web Services IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple
1520
+ * Amazon Web Services IoT FleetWise servers for redundancy and high availability.</p>
1053
1521
  * <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query
1054
1522
  * vehicle data so that you can identify trends and patterns.</p>
1055
1523
  * @public
1056
1524
  */
1057
1525
  dataDestinationConfigs?: DataDestinationConfig[] | undefined;
1526
+ /**
1527
+ * <p>The data partitions associated with the signals collected from the vehicle.</p>
1528
+ * @public
1529
+ */
1530
+ dataPartitions?: DataPartition[] | undefined;
1531
+ /**
1532
+ * <p>A list of information about signals to fetch.</p>
1533
+ * @public
1534
+ */
1535
+ signalsToFetch?: SignalFetchInformation[] | undefined;
1058
1536
  }
1059
1537
  /**
1060
1538
  * @public
@@ -1229,13 +1707,27 @@ export interface GetCampaignResponse {
1229
1707
  */
1230
1708
  lastModificationTime?: Date | undefined;
1231
1709
  /**
1232
- * <p>The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.</p>
1233
- * <p>Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. </p>
1710
+ * <p>The destination where the campaign sends data. You can send data to an MQTT topic,
1711
+ * or store it in Amazon S3 or Amazon Timestream.</p>
1712
+ * <p>MQTT is the publish/subscribe messaging protocol used by Amazon Web Services IoT to communicate with
1713
+ * your devices.</p>
1714
+ * <p>Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data,
1715
+ * such as data lakes, centralized data storage, data processing pipelines, and analytics. </p>
1234
1716
  * <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query
1235
1717
  * vehicle data so that you can identify trends and patterns.</p>
1236
1718
  * @public
1237
1719
  */
1238
1720
  dataDestinationConfigs?: DataDestinationConfig[] | undefined;
1721
+ /**
1722
+ * <p>The data partitions associated with the signals collected from the vehicle.</p>
1723
+ * @public
1724
+ */
1725
+ dataPartitions?: DataPartition[] | undefined;
1726
+ /**
1727
+ * <p>Information about a list of signals to fetch data from.</p>
1728
+ * @public
1729
+ */
1730
+ signalsToFetch?: SignalFetchInformation[] | undefined;
1239
1731
  }
1240
1732
  /**
1241
1733
  * @public
@@ -1248,12 +1740,12 @@ export interface ListCampaignsRequest {
1248
1740
  */
1249
1741
  nextToken?: string | undefined;
1250
1742
  /**
1251
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
1743
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
1252
1744
  * @public
1253
1745
  */
1254
1746
  maxResults?: number | undefined;
1255
1747
  /**
1256
- * <p>Optional parameter to filter the results by the status of each created campaign in
1748
+ * <p>An optional parameter to filter the results by the status of each created campaign in
1257
1749
  * your account. The status can be one of: <code>CREATING</code>,
1258
1750
  * <code>WAITING_FOR_APPROVAL</code>, <code>RUNNING</code>, or
1259
1751
  * <code>SUSPENDED</code>.</p>
@@ -1391,11 +1883,15 @@ export interface UpdateCampaignRequest {
1391
1883
  * </li>
1392
1884
  * <li>
1393
1885
  * <p>
1394
- * <code>SUSPEND</code> - To suspend collecting signal data. The campaign is deleted from vehicles and all vehicles in the suspended campaign will stop sending data.</p>
1886
+ * <code>SUSPEND</code> - To suspend collecting signal data. The campaign is
1887
+ * deleted from vehicles and all vehicles in the suspended campaign will stop
1888
+ * sending data.</p>
1395
1889
  * </li>
1396
1890
  * <li>
1397
1891
  * <p>
1398
- * <code>RESUME</code> - To reactivate the <code>SUSPEND</code> campaign. The campaign is redeployed to all vehicles and the vehicles will resume sending data.</p>
1892
+ * <code>RESUME</code> - To reactivate the <code>SUSPEND</code> campaign. The
1893
+ * campaign is redeployed to all vehicles and the vehicles will resume sending
1894
+ * data.</p>
1399
1895
  * </li>
1400
1896
  * <li>
1401
1897
  * <p>
@@ -1461,7 +1957,8 @@ export interface CanDbcDefinition {
1461
1957
  networkInterface: string | undefined;
1462
1958
  /**
1463
1959
  * <p>A list of DBC files. You can upload only one DBC file for each network interface and
1464
- * specify up to five (inclusive) files in the list. The DBC file can be a maximum size of 200 MB.</p>
1960
+ * specify up to five (inclusive) files in the list. The DBC file can be a maximum size of
1961
+ * 200 MB.</p>
1465
1962
  * @public
1466
1963
  */
1467
1964
  canDbcFiles: Uint8Array[] | undefined;
@@ -1514,7 +2011,8 @@ export interface CanSignal {
1514
2011
  */
1515
2012
  isSigned: boolean | undefined;
1516
2013
  /**
1517
- * <p>Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).</p>
2014
+ * <p>Indicates the beginning of the CAN signal. This should always be the least significant
2015
+ * bit (LSB).</p>
1518
2016
  * <p>This value might be different from the value in a DBC file. For little endian signals,
1519
2017
  * <code>startBit</code> is the same value as in the DBC file. For big endian signals
1520
2018
  * in a DBC file, the start bit is the most significant bit (MSB). You will have to
@@ -1523,7 +2021,8 @@ export interface CanSignal {
1523
2021
  */
1524
2022
  startBit: number | undefined;
1525
2023
  /**
1526
- * <p>The offset used to calculate the signal value. Combined with factor, the calculation is <code>value = raw_value * factor + offset</code>.</p>
2024
+ * <p>The offset used to calculate the signal value. Combined with factor, the calculation
2025
+ * is <code>value = raw_value * factor + offset</code>.</p>
1527
2026
  * @public
1528
2027
  */
1529
2028
  offset: number | undefined;
@@ -1572,7 +2071,33 @@ export interface CloudWatchLogDeliveryOptions {
1572
2071
  logGroupName?: string | undefined;
1573
2072
  }
1574
2073
  /**
1575
- * <p>A network interface that specifies the On-board diagnostic (OBD) II network protocol.</p>
2074
+ * @public
2075
+ * @enum
2076
+ */
2077
+ export declare const DefaultForUnmappedSignalsType: {
2078
+ readonly CUSTOM_DECODING: "CUSTOM_DECODING";
2079
+ };
2080
+ /**
2081
+ * @public
2082
+ */
2083
+ export type DefaultForUnmappedSignalsType = (typeof DefaultForUnmappedSignalsType)[keyof typeof DefaultForUnmappedSignalsType];
2084
+ /**
2085
+ * <p>Represents a custom network interface as defined by the customer.</p>
2086
+ * <important>
2087
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
2088
+ * </important>
2089
+ * @public
2090
+ */
2091
+ export interface CustomDecodingInterface {
2092
+ /**
2093
+ * <p>The name of the interface.</p>
2094
+ * @public
2095
+ */
2096
+ name: string | undefined;
2097
+ }
2098
+ /**
2099
+ * <p>A network interface that specifies the on-board diagnostic (OBD) II network
2100
+ * protocol.</p>
1576
2101
  * @public
1577
2102
  */
1578
2103
  export interface ObdInterface {
@@ -1618,6 +2143,7 @@ export interface ObdInterface {
1618
2143
  */
1619
2144
  export declare const NetworkInterfaceType: {
1620
2145
  readonly CAN_INTERFACE: "CAN_INTERFACE";
2146
+ readonly CUSTOM_DECODING_INTERFACE: "CUSTOM_DECODING_INTERFACE";
1621
2147
  readonly OBD_INTERFACE: "OBD_INTERFACE";
1622
2148
  readonly VEHICLE_MIDDLEWARE: "VEHICLE_MIDDLEWARE";
1623
2149
  };
@@ -1637,7 +2163,8 @@ export declare const VehicleMiddlewareProtocol: {
1637
2163
  */
1638
2164
  export type VehicleMiddlewareProtocol = (typeof VehicleMiddlewareProtocol)[keyof typeof VehicleMiddlewareProtocol];
1639
2165
  /**
1640
- * <p>The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include <code>ROS2</code> and <code>SOME/IP</code>.</p>
2166
+ * <p>The vehicle middleware defined as a type of network interface. Examples of vehicle
2167
+ * middleware include <code>ROS2</code> and <code>SOME/IP</code>.</p>
1641
2168
  * @public
1642
2169
  */
1643
2170
  export interface VehicleMiddleware {
@@ -1667,10 +2194,10 @@ export interface NetworkInterface {
1667
2194
  */
1668
2195
  interfaceId: string | undefined;
1669
2196
  /**
1670
- * <p>The network protocol for the vehicle. For example, <code>CAN_SIGNAL</code> specifies
1671
- * a protocol that defines how data is communicated between electronic control units
1672
- * (ECUs). <code>OBD_SIGNAL</code> specifies a protocol that defines how self-diagnostic
1673
- * data is communicated between ECUs.</p>
2197
+ * <p>The network protocol for the vehicle. For example, <code>CAN_SIGNAL</code> specifies a
2198
+ * protocol that defines how data is communicated between electronic control units (ECUs).
2199
+ * <code>OBD_SIGNAL</code> specifies a protocol that defines how self-diagnostic data
2200
+ * is communicated between ECUs.</p>
1674
2201
  * @public
1675
2202
  */
1676
2203
  type: NetworkInterfaceType | undefined;
@@ -1681,16 +2208,37 @@ export interface NetworkInterface {
1681
2208
  */
1682
2209
  canInterface?: CanInterface | undefined;
1683
2210
  /**
1684
- * <p>Information about a network interface specified by the On-board diagnostic (OBD) II
2211
+ * <p>Information about a network interface specified by the on-board diagnostic (OBD) II
1685
2212
  * protocol.</p>
1686
2213
  * @public
1687
2214
  */
1688
2215
  obdInterface?: ObdInterface | undefined;
1689
2216
  /**
1690
- * <p>The vehicle middleware defined as a type of network interface. Examples of vehicle middleware include <code>ROS2</code> and <code>SOME/IP</code>.</p>
2217
+ * <p>The vehicle middleware defined as a type of network interface. Examples of vehicle
2218
+ * middleware include <code>ROS2</code> and <code>SOME/IP</code>.</p>
1691
2219
  * @public
1692
2220
  */
1693
2221
  vehicleMiddleware?: VehicleMiddleware | undefined;
2222
+ /**
2223
+ * <p>Information about a <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CustomDecodingInterface.html">custom network
2224
+ * interface</a>.</p>
2225
+ * @public
2226
+ */
2227
+ customDecodingInterface?: CustomDecodingInterface | undefined;
2228
+ }
2229
+ /**
2230
+ * <p>Information about signals using a custom decoding protocol as defined by the customer.</p>
2231
+ * <important>
2232
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
2233
+ * </important>
2234
+ * @public
2235
+ */
2236
+ export interface CustomDecodingSignal {
2237
+ /**
2238
+ * <p>The ID of the signal.</p>
2239
+ * @public
2240
+ */
2241
+ id: string | undefined;
1694
2242
  }
1695
2243
  /**
1696
2244
  * @public
@@ -1718,17 +2266,20 @@ export declare const ROS2PrimitiveType: {
1718
2266
  */
1719
2267
  export type ROS2PrimitiveType = (typeof ROS2PrimitiveType)[keyof typeof ROS2PrimitiveType];
1720
2268
  /**
1721
- * <p>Represents a ROS 2 compliant primitive type message of the complex data structure.</p>
2269
+ * <p>Represents a ROS 2 compliant primitive type message of the complex data
2270
+ * structure.</p>
1722
2271
  * @public
1723
2272
  */
1724
2273
  export interface ROS2PrimitiveMessageDefinition {
1725
2274
  /**
1726
- * <p>The primitive type (integer, floating point, boolean, etc.) for the ROS 2 primitive message definition.</p>
2275
+ * <p>The primitive type (integer, floating point, boolean, etc.) for the ROS 2 primitive
2276
+ * message definition.</p>
1727
2277
  * @public
1728
2278
  */
1729
2279
  primitiveType: ROS2PrimitiveType | undefined;
1730
2280
  /**
1731
- * <p>The offset used to calculate the signal value. Combined with scaling, the calculation is <code>value = raw_value * scaling + offset</code>.</p>
2281
+ * <p>The offset used to calculate the signal value. Combined with scaling, the calculation
2282
+ * is <code>value = raw_value * scaling + offset</code>.</p>
1732
2283
  * @public
1733
2284
  */
1734
2285
  offset?: number | undefined;
@@ -1738,7 +2289,8 @@ export interface ROS2PrimitiveMessageDefinition {
1738
2289
  */
1739
2290
  scaling?: number | undefined;
1740
2291
  /**
1741
- * <p>An optional attribute specifying the upper bound for <code>STRING</code> and <code>WSTRING</code>.</p>
2292
+ * <p>An optional attribute specifying the upper bound for <code>STRING</code> and
2293
+ * <code>WSTRING</code>.</p>
1742
2294
  * @public
1743
2295
  */
1744
2296
  upperBound?: number | undefined;
@@ -1753,7 +2305,8 @@ export type PrimitiveMessageDefinition = PrimitiveMessageDefinition.Ros2Primitiv
1753
2305
  */
1754
2306
  export declare namespace PrimitiveMessageDefinition {
1755
2307
  /**
1756
- * <p>Information about a <code>PrimitiveMessage</code> using a ROS 2 compliant primitive type message of the complex data structure.</p>
2308
+ * <p>Information about a <code>PrimitiveMessage</code> using a ROS 2 compliant primitive
2309
+ * type message of the complex data structure.</p>
1757
2310
  * @public
1758
2311
  */
1759
2312
  interface Ros2PrimitiveMessageDefinitionMember {
@@ -1813,7 +2366,8 @@ export interface ObdSignal {
1813
2366
  */
1814
2367
  scaling: number | undefined;
1815
2368
  /**
1816
- * <p>The offset used to calculate the signal value. Combined with scaling, the calculation is <code>value = raw_value * scaling + offset</code>.</p>
2369
+ * <p>The offset used to calculate the signal value. Combined with scaling, the calculation
2370
+ * is <code>value = raw_value * scaling + offset</code>.</p>
1817
2371
  * @public
1818
2372
  */
1819
2373
  offset: number | undefined;
@@ -1844,6 +2398,7 @@ export interface ObdSignal {
1844
2398
  */
1845
2399
  export declare const SignalDecoderType: {
1846
2400
  readonly CAN_SIGNAL: "CAN_SIGNAL";
2401
+ readonly CUSTOM_DECODING_SIGNAL: "CUSTOM_DECODING_SIGNAL";
1847
2402
  readonly MESSAGE_SIGNAL: "MESSAGE_SIGNAL";
1848
2403
  readonly OBD_SIGNAL: "OBD_SIGNAL";
1849
2404
  };
@@ -1873,6 +2428,7 @@ export interface CreateDecoderManifestResponse {
1873
2428
  export declare const NetworkInterfaceFailureReason: {
1874
2429
  readonly CAN_NETWORK_INTERFACE_INFO_IS_NULL: "CAN_NETWORK_INTERFACE_INFO_IS_NULL";
1875
2430
  readonly CONFLICTING_NETWORK_INTERFACE: "CONFLICTING_NETWORK_INTERFACE";
2431
+ readonly CUSTOM_DECODING_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL: "CUSTOM_DECODING_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL";
1876
2432
  readonly DUPLICATE_INTERFACE: "DUPLICATE_NETWORK_INTERFACE";
1877
2433
  readonly NETWORK_INTERFACE_TO_ADD_ALREADY_EXISTS: "NETWORK_INTERFACE_TO_ADD_ALREADY_EXISTS";
1878
2434
  readonly NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS: "NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS";
@@ -1906,6 +2462,7 @@ export interface InvalidNetworkInterface {
1906
2462
  export declare const SignalDecoderFailureReason: {
1907
2463
  readonly CAN_SIGNAL_INFO_IS_NULL: "CAN_SIGNAL_INFO_IS_NULL";
1908
2464
  readonly CONFLICTING_SIGNAL: "CONFLICTING_SIGNAL";
2465
+ readonly CUSTOM_DECODING_SIGNAL_INFO_IS_NULL: "CUSTOM_DECODING_SIGNAL_INFO_IS_NULL";
1909
2466
  readonly DUPLICATE_SIGNAL: "DUPLICATE_SIGNAL";
1910
2467
  readonly EMPTY_MESSAGE_SIGNAL: "EMPTY_MESSAGE_SIGNAL";
1911
2468
  readonly MESSAGE_SIGNAL_INFO_IS_NULL: "MESSAGE_SIGNAL_INFO_IS_NULL";
@@ -1946,7 +2503,8 @@ export interface InvalidSignalDecoder {
1946
2503
  hint?: string | undefined;
1947
2504
  }
1948
2505
  /**
1949
- * <p>The request couldn't be completed because it contains signal decoders with one or more validation errors.</p>
2506
+ * <p>The request couldn't be completed because it contains signal decoders with one or more
2507
+ * validation errors.</p>
1950
2508
  * @public
1951
2509
  */
1952
2510
  export declare class DecoderManifestValidationException extends __BaseException {
@@ -1958,7 +2516,8 @@ export declare class DecoderManifestValidationException extends __BaseException
1958
2516
  */
1959
2517
  invalidSignals?: InvalidSignalDecoder[] | undefined;
1960
2518
  /**
1961
- * <p>The request couldn't be completed because of invalid network interfaces in the request.</p>
2519
+ * <p>The request couldn't be completed because of invalid network interfaces in the
2520
+ * request.</p>
1962
2521
  * @public
1963
2522
  */
1964
2523
  invalidNetworkInterfaces?: InvalidNetworkInterface[] | undefined;
@@ -2069,7 +2628,8 @@ export interface InvalidSignal {
2069
2628
  reason?: string | undefined;
2070
2629
  }
2071
2630
  /**
2072
- * <p>The request couldn't be completed because it contains signals that aren't valid.</p>
2631
+ * <p>The request couldn't be completed because it contains signals that aren't
2632
+ * valid.</p>
2073
2633
  * @public
2074
2634
  */
2075
2635
  export declare class InvalidSignalsException extends __BaseException {
@@ -2098,12 +2658,15 @@ export declare const NodeDataEncoding: {
2098
2658
  */
2099
2659
  export type NodeDataEncoding = (typeof NodeDataEncoding)[keyof typeof NodeDataEncoding];
2100
2660
  /**
2101
- * <p>Represents a member of the complex data structure. The data type of the property can be either primitive or another <code>struct</code>.</p>
2661
+ * <p>Represents a member of the complex data structure. The data type of the property can
2662
+ * be either primitive or another <code>struct</code>.</p>
2102
2663
  * @public
2103
2664
  */
2104
2665
  export interface CustomProperty {
2105
2666
  /**
2106
- * <p>The fully qualified name of the custom property. For example, the fully qualified name of a custom property might be <code>ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS</code>.</p>
2667
+ * <p>The fully qualified name of the custom property. For example, the fully qualified name
2668
+ * of a custom property might be
2669
+ * <code>ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS</code>.</p>
2107
2670
  * @public
2108
2671
  */
2109
2672
  fullyQualifiedName: string | undefined;
@@ -2133,7 +2696,8 @@ export interface CustomProperty {
2133
2696
  */
2134
2697
  comment?: string | undefined;
2135
2698
  /**
2136
- * <p>The fully qualified name of the struct node for the custom property if the data type of the custom property is <code>Struct</code> or <code>StructArray</code>. </p>
2699
+ * <p>The fully qualified name of the struct node for the custom property if the data type
2700
+ * of the custom property is <code>Struct</code> or <code>StructArray</code>. </p>
2137
2701
  * @public
2138
2702
  */
2139
2703
  structFullyQualifiedName?: string | undefined;
@@ -2194,7 +2758,9 @@ export interface Sensor {
2194
2758
  */
2195
2759
  comment?: string | undefined;
2196
2760
  /**
2197
- * <p>The fully qualified name of the struct node for a sensor if the data type of the actuator is <code>Struct</code> or <code>StructArray</code>. For example, the struct fully qualified name of a sensor might be <code>Vehicle.ADAS.CameraStruct</code>.</p>
2761
+ * <p>The fully qualified name of the struct node for a sensor if the data type of the
2762
+ * actuator is <code>Struct</code> or <code>StructArray</code>. For example, the struct
2763
+ * fully qualified name of a sensor might be <code>Vehicle.ADAS.CameraStruct</code>.</p>
2198
2764
  * @public
2199
2765
  */
2200
2766
  structFullyQualifiedName?: string | undefined;
@@ -2205,7 +2771,9 @@ export interface Sensor {
2205
2771
  */
2206
2772
  export interface CustomStruct {
2207
2773
  /**
2208
- * <p>The fully qualified name of the custom structure. For example, the fully qualified name of a custom structure might be <code>ComplexDataTypes.VehicleDataTypes.SVMCamera</code>.</p>
2774
+ * <p>The fully qualified name of the custom structure. For example, the fully qualified
2775
+ * name of a custom structure might be
2776
+ * <code>ComplexDataTypes.VehicleDataTypes.SVMCamera</code>.</p>
2209
2777
  * @public
2210
2778
  */
2211
2779
  fullyQualifiedName: string | undefined;
@@ -2314,7 +2882,8 @@ export declare namespace Node {
2314
2882
  $unknown?: never;
2315
2883
  }
2316
2884
  /**
2317
- * <p>Represents a member of the complex data structure. The <code>datatype</code> of the property can be either primitive or another <code>struct</code>.</p>
2885
+ * <p>Represents a member of the complex data structure. The <code>datatype</code> of the
2886
+ * property can be either primitive or another <code>struct</code>.</p>
2318
2887
  * @public
2319
2888
  */
2320
2889
  interface PropertyMember {
@@ -2364,54 +2933,124 @@ export interface CreateSignalCatalogRequest {
2364
2933
  */
2365
2934
  description?: string | undefined;
2366
2935
  /**
2367
- * <p> A list of information about nodes, which are a general abstraction of signals. For
2368
- * more information, see the API data type.</p>
2936
+ * <p> A list of information about nodes, which are a general abstraction of signals. For
2937
+ * more information, see the API data type.</p>
2938
+ * @public
2939
+ */
2940
+ nodes?: Node[] | undefined;
2941
+ /**
2942
+ * <p>Metadata that can be used to manage the signal catalog.</p>
2943
+ * @public
2944
+ */
2945
+ tags?: Tag[] | undefined;
2946
+ }
2947
+ /**
2948
+ * @public
2949
+ */
2950
+ export interface CreateSignalCatalogResponse {
2951
+ /**
2952
+ * <p> The name of the created signal catalog. </p>
2953
+ * @public
2954
+ */
2955
+ name: string | undefined;
2956
+ /**
2957
+ * <p> The ARN of the created signal catalog. </p>
2958
+ * @public
2959
+ */
2960
+ arn: string | undefined;
2961
+ }
2962
+ /**
2963
+ * <p>The specified node type doesn't match the expected node type for a node. You can
2964
+ * specify the node type as branch, sensor, actuator, or attribute.</p>
2965
+ * @public
2966
+ */
2967
+ export declare class InvalidNodeException extends __BaseException {
2968
+ readonly name: "InvalidNodeException";
2969
+ readonly $fault: "client";
2970
+ /**
2971
+ * <p>The specified node type isn't valid.</p>
2972
+ * @public
2973
+ */
2974
+ invalidNodes?: Node[] | undefined;
2975
+ /**
2976
+ * <p>The reason the node validation failed.</p>
2977
+ * @public
2978
+ */
2979
+ reason?: string | undefined;
2980
+ /**
2981
+ * @internal
2982
+ */
2983
+ constructor(opts: __ExceptionOptionType<InvalidNodeException, __BaseException>);
2984
+ }
2985
+ /**
2986
+ * @public
2987
+ */
2988
+ export interface CreateStateTemplateRequest {
2989
+ /**
2990
+ * <p>The name of the state template.</p>
2991
+ * @public
2992
+ */
2993
+ name: string | undefined;
2994
+ /**
2995
+ * <p>A brief description of the state template.</p>
2996
+ * @public
2997
+ */
2998
+ description?: string | undefined;
2999
+ /**
3000
+ * <p>The ARN of the signal catalog associated with the state template.</p>
3001
+ * @public
3002
+ */
3003
+ signalCatalogArn: string | undefined;
3004
+ /**
3005
+ * <p>A list of signals from which data is collected. The state template properties contain the fully qualified names of the signals.</p>
2369
3006
  * @public
2370
3007
  */
2371
- nodes?: Node[] | undefined;
3008
+ stateTemplateProperties: string[] | undefined;
2372
3009
  /**
2373
- * <p>Metadata that can be used to manage the signal catalog.</p>
3010
+ * <p>A list of vehicle attributes to associate with the payload published on the state template's
3011
+ * MQTT topic. (See <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data">
3012
+ * Processing last known state vehicle data using MQTT messaging</a>). For example, if you add
3013
+ * <code>Vehicle.Attributes.Make</code> and <code>Vehicle.Attributes.Model</code> attributes, Amazon Web Services IoT FleetWise
3014
+ * will enrich the protobuf encoded payload with those attributes in the <code>extraDimensions</code>
3015
+ * field.</p>
2374
3016
  * @public
2375
3017
  */
2376
- tags?: Tag[] | undefined;
2377
- }
2378
- /**
2379
- * @public
2380
- */
2381
- export interface CreateSignalCatalogResponse {
3018
+ dataExtraDimensions?: string[] | undefined;
2382
3019
  /**
2383
- * <p> The name of the created signal catalog. </p>
3020
+ * <p>A list of vehicle attributes to associate with user properties of the messages published on the
3021
+ * state template's MQTT topic. (See <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data">
3022
+ * Processing last known state vehicle data using MQTT messaging</a>). For example, if you add
3023
+ * <code>Vehicle.Attributes.Make</code> and <code>Vehicle.Attributes.Model</code> attributes, Amazon Web Services IoT FleetWise
3024
+ * will include these attributes as User Properties with the MQTT message.</p>
3025
+ * <p>Default: An empty array</p>
2384
3026
  * @public
2385
3027
  */
2386
- name: string | undefined;
3028
+ metadataExtraDimensions?: string[] | undefined;
2387
3029
  /**
2388
- * <p> The ARN of the created signal catalog. </p>
3030
+ * <p>Metadata that can be used to manage the state template.</p>
2389
3031
  * @public
2390
3032
  */
2391
- arn: string | undefined;
3033
+ tags?: Tag[] | undefined;
2392
3034
  }
2393
3035
  /**
2394
- * <p>The specified node type doesn't match the expected node type for a node. You can
2395
- * specify the node type as branch, sensor, actuator, or attribute.</p>
2396
3036
  * @public
2397
3037
  */
2398
- export declare class InvalidNodeException extends __BaseException {
2399
- readonly name: "InvalidNodeException";
2400
- readonly $fault: "client";
3038
+ export interface CreateStateTemplateResponse {
2401
3039
  /**
2402
- * <p>The specified node type isn't valid.</p>
3040
+ * <p>The name of the state template.</p>
2403
3041
  * @public
2404
3042
  */
2405
- invalidNodes?: Node[] | undefined;
3043
+ name?: string | undefined;
2406
3044
  /**
2407
- * <p>The reason the node validation failed.</p>
3045
+ * <p>The Amazon Resource Name (ARN) of the state template.</p>
2408
3046
  * @public
2409
3047
  */
2410
- reason?: string | undefined;
3048
+ arn?: string | undefined;
2411
3049
  /**
2412
- * @internal
3050
+ * <p>The unique ID of the state template.</p>
3051
+ * @public
2413
3052
  */
2414
- constructor(opts: __ExceptionOptionType<InvalidNodeException, __BaseException>);
3053
+ id?: string | undefined;
2415
3054
  }
2416
3055
  /**
2417
3056
  * @public
@@ -2434,9 +3073,11 @@ export interface CreateVehicleRequest {
2434
3073
  decoderManifestArn: string | undefined;
2435
3074
  /**
2436
3075
  * <p>Static information about a vehicle in a key-value pair. For example:
2437
- * <code>"engineType"</code> : <code>"1.3 L R2"</code>
3076
+ * <code>"engineType"</code> : <code>"1.3 L R2"</code>
2438
3077
  * </p>
2439
- * <p>A campaign must include the keys (attribute names) in <code>dataExtraDimensions</code> for them to display in Amazon Timestream.</p>
3078
+ * <p>To use attributes with Campaigns or State Templates, you must include them using the
3079
+ * request parameters <code>dataExtraDimensions</code> and/or <code>metadataExtraDimensions</code>
3080
+ * (for state templates only) when creating your campaign/state template. </p>
2440
3081
  * @public
2441
3082
  */
2442
3083
  attributes?: Record<string, string> | undefined;
@@ -2453,6 +3094,11 @@ export interface CreateVehicleRequest {
2453
3094
  * @public
2454
3095
  */
2455
3096
  tags?: Tag[] | undefined;
3097
+ /**
3098
+ * <p>Associate state templates with the vehicle. You can monitor the last known state of the vehicle in near real time.</p>
3099
+ * @public
3100
+ */
3101
+ stateTemplates?: StateTemplateAssociation[] | undefined;
2456
3102
  }
2457
3103
  /**
2458
3104
  * @public
@@ -2566,7 +3212,9 @@ export interface GetDecoderManifestResponse {
2566
3212
  */
2567
3213
  lastModificationTime: Date | undefined;
2568
3214
  /**
2569
- * <p>The detailed message for the decoder manifest. When a decoder manifest is in an <code>INVALID</code> status, the message contains detailed reason and help information.</p>
3215
+ * <p>The detailed message for the decoder manifest. When a decoder manifest is in an
3216
+ * <code>INVALID</code> status, the message contains detailed reason and help
3217
+ * information.</p>
2570
3218
  * @public
2571
3219
  */
2572
3220
  message?: string | undefined;
@@ -2648,7 +3296,7 @@ export interface ListDecoderManifestNetworkInterfacesRequest {
2648
3296
  */
2649
3297
  nextToken?: string | undefined;
2650
3298
  /**
2651
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
3299
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
2652
3300
  * @public
2653
3301
  */
2654
3302
  maxResults?: number | undefined;
@@ -2685,7 +3333,7 @@ export interface ListDecoderManifestsRequest {
2685
3333
  */
2686
3334
  nextToken?: string | undefined;
2687
3335
  /**
2688
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
3336
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
2689
3337
  * @public
2690
3338
  */
2691
3339
  maxResults?: number | undefined;
@@ -2732,13 +3380,15 @@ export interface DecoderManifestSummary {
2732
3380
  */
2733
3381
  creationTime: Date | undefined;
2734
3382
  /**
2735
- * <p>The time the decoder manifest was last updated in seconds since epoch (January 1,
2736
- * 1970 at midnight UTC time).</p>
3383
+ * <p>The time the decoder manifest was last updated in seconds since epoch (January 1, 1970
3384
+ * at midnight UTC time).</p>
2737
3385
  * @public
2738
3386
  */
2739
3387
  lastModificationTime: Date | undefined;
2740
3388
  /**
2741
- * <p>The detailed message for the decoder manifest. When a decoder manifest is in an <code>INVALID</code> status, the message contains detailed reason and help information.</p>
3389
+ * <p>The detailed message for the decoder manifest. When a decoder manifest is in an
3390
+ * <code>INVALID</code> status, the message contains detailed reason and help
3391
+ * information.</p>
2742
3392
  * @public
2743
3393
  */
2744
3394
  message?: string | undefined;
@@ -2774,7 +3424,7 @@ export interface ListDecoderManifestSignalsRequest {
2774
3424
  */
2775
3425
  nextToken?: string | undefined;
2776
3426
  /**
2777
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
3427
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
2778
3428
  * @public
2779
3429
  */
2780
3430
  maxResults?: number | undefined;
@@ -2869,6 +3519,36 @@ export interface DeleteSignalCatalogResponse {
2869
3519
  */
2870
3520
  arn: string | undefined;
2871
3521
  }
3522
+ /**
3523
+ * @public
3524
+ */
3525
+ export interface DeleteStateTemplateRequest {
3526
+ /**
3527
+ * <p>A unique, service-generated identifier.</p>
3528
+ * @public
3529
+ */
3530
+ identifier: string | undefined;
3531
+ }
3532
+ /**
3533
+ * @public
3534
+ */
3535
+ export interface DeleteStateTemplateResponse {
3536
+ /**
3537
+ * <p>The name of the state template.</p>
3538
+ * @public
3539
+ */
3540
+ name?: string | undefined;
3541
+ /**
3542
+ * <p>The Amazon Resource Name (ARN) of the state template.</p>
3543
+ * @public
3544
+ */
3545
+ arn?: string | undefined;
3546
+ /**
3547
+ * <p>The unique ID of the state template.</p>
3548
+ * @public
3549
+ */
3550
+ id?: string | undefined;
3551
+ }
2872
3552
  /**
2873
3553
  * @public
2874
3554
  */
@@ -2955,7 +3635,7 @@ export interface ListFleetsForVehicleRequest {
2955
3635
  */
2956
3636
  nextToken?: string | undefined;
2957
3637
  /**
2958
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
3638
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
2959
3639
  * @public
2960
3640
  */
2961
3641
  maxResults?: number | undefined;
@@ -3033,7 +3713,7 @@ export interface ListFleetsRequest {
3033
3713
  */
3034
3714
  nextToken?: string | undefined;
3035
3715
  /**
3036
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
3716
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
3037
3717
  * @public
3038
3718
  */
3039
3719
  maxResults?: number | undefined;
@@ -3139,7 +3819,7 @@ export interface ListVehiclesInFleetRequest {
3139
3819
  */
3140
3820
  nextToken?: string | undefined;
3141
3821
  /**
3142
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
3822
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
3143
3823
  * @public
3144
3824
  */
3145
3825
  maxResults?: number | undefined;
@@ -3161,9 +3841,9 @@ export interface ListVehiclesInFleetResponse {
3161
3841
  }
3162
3842
  /**
3163
3843
  * <p>
3164
- * <a href="https://www.w3.org/auto/wg/wiki/Vehicle_Signal_Specification_(VSS)/Vehicle_Data_Spec">Vehicle Signal Specification (VSS)</a> is a precise language used to describe and model
3165
- * signals in vehicle networks. The JSON file collects signal specificiations in a VSS
3166
- * format.</p>
3844
+ * <a href="https://www.w3.org/auto/wg/wiki/Vehicle_Signal_Specification_(VSS)/Vehicle_Data_Spec">Vehicle Signal Specification (VSS)</a> is a precise language used to describe
3845
+ * and model signals in vehicle networks. The JSON file collects signal specificiations in
3846
+ * a VSS format.</p>
3167
3847
  * @public
3168
3848
  */
3169
3849
  export type FormattedVss = FormattedVss.VssJsonMember | FormattedVss.$UnknownMember;
@@ -3212,22 +3892,27 @@ export interface GetEncryptionConfigurationResponse {
3212
3892
  */
3213
3893
  encryptionStatus: EncryptionStatus | undefined;
3214
3894
  /**
3215
- * <p>The type of encryption. Set to <code>KMS_BASED_ENCRYPTION</code> to use a KMS key that you own and manage. Set to <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.</p>
3895
+ * <p>The type of encryption. Set to <code>KMS_BASED_ENCRYPTION</code> to use a KMS key
3896
+ * that you own and manage. Set to <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an
3897
+ * Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.</p>
3216
3898
  * @public
3217
3899
  */
3218
3900
  encryptionType: EncryptionType | undefined;
3219
3901
  /**
3220
- * <p>The error message that describes why encryption settings couldn't be configured, if applicable.</p>
3902
+ * <p>The error message that describes why encryption settings couldn't be configured, if
3903
+ * applicable.</p>
3221
3904
  * @public
3222
3905
  */
3223
3906
  errorMessage?: string | undefined;
3224
3907
  /**
3225
- * <p>The time when encryption was configured in seconds since epoch (January 1, 1970 at midnight UTC time).</p>
3908
+ * <p>The time when encryption was configured in seconds since epoch (January 1, 1970 at
3909
+ * midnight UTC time).</p>
3226
3910
  * @public
3227
3911
  */
3228
3912
  creationTime?: Date | undefined;
3229
3913
  /**
3230
- * <p>The time when encryption was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).</p>
3914
+ * <p>The time when encryption was last updated in seconds since epoch (January 1, 1970 at
3915
+ * midnight UTC time).</p>
3231
3916
  * @public
3232
3917
  */
3233
3918
  lastModificationTime?: Date | undefined;
@@ -3521,6 +4206,75 @@ export interface GetSignalCatalogResponse {
3521
4206
  */
3522
4207
  lastModificationTime: Date | undefined;
3523
4208
  }
4209
+ /**
4210
+ * @public
4211
+ */
4212
+ export interface GetStateTemplateRequest {
4213
+ /**
4214
+ * <p>A unique, service-generated identifier.</p>
4215
+ * @public
4216
+ */
4217
+ identifier: string | undefined;
4218
+ }
4219
+ /**
4220
+ * @public
4221
+ */
4222
+ export interface GetStateTemplateResponse {
4223
+ /**
4224
+ * <p>The name of the state template.</p>
4225
+ * @public
4226
+ */
4227
+ name?: string | undefined;
4228
+ /**
4229
+ * <p>The Amazon Resource Name (ARN) of the state template.</p>
4230
+ * @public
4231
+ */
4232
+ arn?: string | undefined;
4233
+ /**
4234
+ * <p>A brief description of the state template.</p>
4235
+ * @public
4236
+ */
4237
+ description?: string | undefined;
4238
+ /**
4239
+ * <p>The ARN of the signal catalog associated with the state template.</p>
4240
+ * @public
4241
+ */
4242
+ signalCatalogArn?: string | undefined;
4243
+ /**
4244
+ * <p>A list of signals from which data is collected. The state template properties contain the fully qualified names of the signals.</p>
4245
+ * @public
4246
+ */
4247
+ stateTemplateProperties?: string[] | undefined;
4248
+ /**
4249
+ * <p>A list of vehicle attributes associated with the payload published on the state template's
4250
+ * MQTT topic. </p>
4251
+ * <p>Default: An empty array</p>
4252
+ * @public
4253
+ */
4254
+ dataExtraDimensions?: string[] | undefined;
4255
+ /**
4256
+ * <p>A list of vehicle attributes to associate with user properties of the messages published on the
4257
+ * state template's MQTT topic.</p>
4258
+ * <p>Default: An empty array</p>
4259
+ * @public
4260
+ */
4261
+ metadataExtraDimensions?: string[] | undefined;
4262
+ /**
4263
+ * <p>The time the state template was created in seconds since epoch (January 1, 1970 at midnight UTC time).</p>
4264
+ * @public
4265
+ */
4266
+ creationTime?: Date | undefined;
4267
+ /**
4268
+ * <p>The time the state template was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).</p>
4269
+ * @public
4270
+ */
4271
+ lastModificationTime?: Date | undefined;
4272
+ /**
4273
+ * <p>The unique ID of the state template.</p>
4274
+ * @public
4275
+ */
4276
+ id?: string | undefined;
4277
+ }
3524
4278
  /**
3525
4279
  * @public
3526
4280
  */
@@ -3563,6 +4317,11 @@ export interface GetVehicleResponse {
3563
4317
  * @public
3564
4318
  */
3565
4319
  attributes?: Record<string, string> | undefined;
4320
+ /**
4321
+ * <p>State templates associated with the vehicle.</p>
4322
+ * @public
4323
+ */
4324
+ stateTemplates?: StateTemplateAssociation[] | undefined;
3566
4325
  /**
3567
4326
  * <p> The time the vehicle was created in seconds since epoch (January 1, 1970 at midnight UTC time). </p>
3568
4327
  * @public
@@ -3580,12 +4339,17 @@ export interface GetVehicleResponse {
3580
4339
  export interface GetVehicleStatusRequest {
3581
4340
  /**
3582
4341
  * <p>A pagination token for the next set of results.</p>
3583
- * <p>If the results of a search are large, only a portion of the results are returned, and a <code>nextToken</code> pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value. </p>
4342
+ * <p>If the results of a search are large, only a portion of the results are returned, and a
4343
+ * <code>nextToken</code> pagination token is returned in the response. To retrieve the next
4344
+ * set of results, reissue the search request and include the returned token. When all results
4345
+ * have been returned, the response does not contain a pagination token value. This parameter
4346
+ * is only supported for resources of type <code>CAMPAIGN</code>.</p>
3584
4347
  * @public
3585
4348
  */
3586
4349
  nextToken?: string | undefined;
3587
4350
  /**
3588
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
4351
+ * <p>The maximum number of items to return, between 1 and 100, inclusive. This parameter is only
4352
+ * supported for resources of type <code>CAMPAIGN</code>.</p>
3589
4353
  * @public
3590
4354
  */
3591
4355
  maxResults?: number | undefined;
@@ -3611,8 +4375,7 @@ export declare const VehicleState: {
3611
4375
  */
3612
4376
  export type VehicleState = (typeof VehicleState)[keyof typeof VehicleState];
3613
4377
  /**
3614
- * <p>Information about the state of a vehicle and how it relates to the status of a
3615
- * campaign.</p>
4378
+ * <p>Information about a campaign associated with a vehicle.</p>
3616
4379
  * @public
3617
4380
  */
3618
4381
  export interface VehicleStatus {
@@ -3627,31 +4390,30 @@ export interface VehicleStatus {
3627
4390
  */
3628
4391
  vehicleName?: string | undefined;
3629
4392
  /**
3630
- * <p>The state of a vehicle, which can be one of the following:</p>
4393
+ * <p>The status of a campaign, which can be one of the following:</p>
3631
4394
  * <ul>
3632
4395
  * <li>
3633
4396
  * <p>
3634
- * <code>CREATED</code> - Amazon Web Services IoT FleetWise sucessfully created the vehicle. </p>
4397
+ * <code>CREATED</code> - The campaign has been created successfully but has not been
4398
+ * approved. </p>
3635
4399
  * </li>
3636
4400
  * <li>
3637
4401
  * <p>
3638
- * <code>READY</code> - The vehicle is ready to receive a campaign deployment.
3639
- * </p>
4402
+ * <code>READY</code> - The campaign has been approved but has not been deployed to
4403
+ * the vehicle.</p>
3640
4404
  * </li>
3641
4405
  * <li>
3642
4406
  * <p>
3643
- * <code>HEALTHY</code> - A campaign deployment was delivered to the vehicle.
3644
- * </p>
4407
+ * <code>HEALTHY</code> - The campaign has been deployed to the vehicle. </p>
3645
4408
  * </li>
3646
4409
  * <li>
3647
4410
  * <p>
3648
- * <code>SUSPENDED</code> - A campaign associated with the vehicle was suspended
3649
- * and data collection was paused. </p>
4411
+ * <code>SUSPENDED</code> - The campaign has been suspended and data collection is
4412
+ * paused. </p>
3650
4413
  * </li>
3651
4414
  * <li>
3652
4415
  * <p>
3653
- * <code>DELETING</code> - Amazon Web Services IoT FleetWise is removing a campaign from the vehicle.
3654
- * </p>
4416
+ * <code>DELETING</code> - The campaign is being removed from the vehicle.</p>
3655
4417
  * </li>
3656
4418
  * </ul>
3657
4419
  * @public
@@ -3766,7 +4528,7 @@ export interface ListModelManifestNodesRequest {
3766
4528
  */
3767
4529
  nextToken?: string | undefined;
3768
4530
  /**
3769
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
4531
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
3770
4532
  * @public
3771
4533
  */
3772
4534
  maxResults?: number | undefined;
@@ -3803,7 +4565,7 @@ export interface ListModelManifestsRequest {
3803
4565
  */
3804
4566
  nextToken?: string | undefined;
3805
4567
  /**
3806
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
4568
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
3807
4569
  * @public
3808
4570
  */
3809
4571
  maxResults?: number | undefined;
@@ -3928,7 +4690,8 @@ export interface PutEncryptionConfigurationRequest {
3928
4690
  */
3929
4691
  kmsKeyId?: string | undefined;
3930
4692
  /**
3931
- * <p>The type of encryption. Choose <code>KMS_BASED_ENCRYPTION</code> to use a KMS key or <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed key.</p>
4693
+ * <p>The type of encryption. Choose <code>KMS_BASED_ENCRYPTION</code> to use a KMS key or
4694
+ * <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed key.</p>
3932
4695
  * @public
3933
4696
  */
3934
4697
  encryptionType: EncryptionType | undefined;
@@ -3948,7 +4711,9 @@ export interface PutEncryptionConfigurationResponse {
3948
4711
  */
3949
4712
  encryptionStatus: EncryptionStatus | undefined;
3950
4713
  /**
3951
- * <p>The type of encryption. Set to <code>KMS_BASED_ENCRYPTION</code> to use an KMS key that you own and manage. Set to <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.</p>
4714
+ * <p>The type of encryption. Set to <code>KMS_BASED_ENCRYPTION</code> to use an KMS key that
4715
+ * you own and manage. Set to <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed
4716
+ * key that is owned by the Amazon Web Services IoT FleetWise service account.</p>
3952
4717
  * @public
3953
4718
  */
3954
4719
  encryptionType: EncryptionType | undefined;
@@ -4071,7 +4836,7 @@ export interface ListSignalCatalogNodesRequest {
4071
4836
  */
4072
4837
  nextToken?: string | undefined;
4073
4838
  /**
4074
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
4839
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
4075
4840
  * @public
4076
4841
  */
4077
4842
  maxResults?: number | undefined;
@@ -4107,7 +4872,7 @@ export interface ListSignalCatalogsRequest {
4107
4872
  */
4108
4873
  nextToken?: string | undefined;
4109
4874
  /**
4110
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
4875
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
4111
4876
  * @public
4112
4877
  */
4113
4878
  maxResults?: number | undefined;
@@ -4200,6 +4965,145 @@ export interface UpdateSignalCatalogResponse {
4200
4965
  */
4201
4966
  arn: string | undefined;
4202
4967
  }
4968
+ /**
4969
+ * @public
4970
+ */
4971
+ export interface ListStateTemplatesRequest {
4972
+ /**
4973
+ * <p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>
4974
+ * @public
4975
+ */
4976
+ nextToken?: string | undefined;
4977
+ /**
4978
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
4979
+ * @public
4980
+ */
4981
+ maxResults?: number | undefined;
4982
+ }
4983
+ /**
4984
+ * <p>Information about a state template.</p>
4985
+ * <important>
4986
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
4987
+ * </important>
4988
+ * @public
4989
+ */
4990
+ export interface StateTemplateSummary {
4991
+ /**
4992
+ * <p>The name of the state template.</p>
4993
+ * @public
4994
+ */
4995
+ name?: string | undefined;
4996
+ /**
4997
+ * <p>The Amazon Resource Name (ARN) of the state template.</p>
4998
+ * @public
4999
+ */
5000
+ arn?: string | undefined;
5001
+ /**
5002
+ * <p>The Amazon Resource Name (ARN) of the signal catalog associated with the state template.</p>
5003
+ * @public
5004
+ */
5005
+ signalCatalogArn?: string | undefined;
5006
+ /**
5007
+ * <p>A brief description of the state template.</p>
5008
+ * @public
5009
+ */
5010
+ description?: string | undefined;
5011
+ /**
5012
+ * <p>The time the state template was created, in seconds since epoch (January 1, 1970 at midnight UTC time).</p>
5013
+ * @public
5014
+ */
5015
+ creationTime?: Date | undefined;
5016
+ /**
5017
+ * <p>The time the state template was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time).</p>
5018
+ * @public
5019
+ */
5020
+ lastModificationTime?: Date | undefined;
5021
+ /**
5022
+ * <p>The unique ID of the state template.</p>
5023
+ * @public
5024
+ */
5025
+ id?: string | undefined;
5026
+ }
5027
+ /**
5028
+ * @public
5029
+ */
5030
+ export interface ListStateTemplatesResponse {
5031
+ /**
5032
+ * <p>A list of information about each state template.</p>
5033
+ * @public
5034
+ */
5035
+ summaries?: StateTemplateSummary[] | undefined;
5036
+ /**
5037
+ * <p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>
5038
+ * @public
5039
+ */
5040
+ nextToken?: string | undefined;
5041
+ }
5042
+ /**
5043
+ * @public
5044
+ */
5045
+ export interface UpdateStateTemplateRequest {
5046
+ /**
5047
+ * <p>A unique, service-generated identifier.</p>
5048
+ * @public
5049
+ */
5050
+ identifier: string | undefined;
5051
+ /**
5052
+ * <p>A brief description of the state template.</p>
5053
+ * @public
5054
+ */
5055
+ description?: string | undefined;
5056
+ /**
5057
+ * <p>Add signals from which data is collected as part of the state template.</p>
5058
+ * @public
5059
+ */
5060
+ stateTemplatePropertiesToAdd?: string[] | undefined;
5061
+ /**
5062
+ * <p>Remove signals from which data is collected as part of the state template.</p>
5063
+ * @public
5064
+ */
5065
+ stateTemplatePropertiesToRemove?: string[] | undefined;
5066
+ /**
5067
+ * <p>A list of vehicle attributes to associate with the payload published on the state template's
5068
+ * MQTT topic. (See <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data">
5069
+ * Processing last known state vehicle data using MQTT messaging</a>). For example, if you add
5070
+ * <code>Vehicle.Attributes.Make</code> and <code>Vehicle.Attributes.Model</code> attributes, Amazon Web Services IoT FleetWise
5071
+ * will enrich the protobuf encoded payload with those attributes in the <code>extraDimensions</code>
5072
+ * field.</p>
5073
+ * <p>Default: An empty array</p>
5074
+ * @public
5075
+ */
5076
+ dataExtraDimensions?: string[] | undefined;
5077
+ /**
5078
+ * <p>A list of vehicle attributes to associate with user properties of the messages published on the
5079
+ * state template's MQTT topic. (See <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/process-visualize-data.html#process-last-known-state-vehicle-data">
5080
+ * Processing last known state vehicle data using MQTT messaging</a>). For example, if you add
5081
+ * <code>Vehicle.Attributes.Make</code> and <code>Vehicle.Attributes.Model</code> attributes, Amazon Web Services IoT FleetWise
5082
+ * will include these attributes as User Properties with the MQTT message.</p>
5083
+ * @public
5084
+ */
5085
+ metadataExtraDimensions?: string[] | undefined;
5086
+ }
5087
+ /**
5088
+ * @public
5089
+ */
5090
+ export interface UpdateStateTemplateResponse {
5091
+ /**
5092
+ * <p>The name of the state template.</p>
5093
+ * @public
5094
+ */
5095
+ name?: string | undefined;
5096
+ /**
5097
+ * <p>The Amazon Resource Name (ARN) of the state template.</p>
5098
+ * @public
5099
+ */
5100
+ arn?: string | undefined;
5101
+ /**
5102
+ * <p>The unique ID of the state template.</p>
5103
+ * @public
5104
+ */
5105
+ id?: string | undefined;
5106
+ }
4203
5107
  /**
4204
5108
  * @public
4205
5109
  */
@@ -4251,15 +5155,29 @@ export interface ListVehiclesRequest {
4251
5155
  */
4252
5156
  modelManifestArn?: string | undefined;
4253
5157
  /**
4254
- * <p>The fully qualified names of the attributes. For example, the fully qualified name of an attribute might be <code>Vehicle.Body.Engine.Type</code>.</p>
5158
+ * <p>The fully qualified names of the attributes. You can use this optional parameter to list the
5159
+ * vehicles containing all the attributes in the request. For example, <code>attributeNames</code>
5160
+ * could be "<code>Vehicle.Body.Engine.Type, Vehicle.Color</code>" and the corresponding
5161
+ * <code>attributeValues</code> could be "<code>1.3 L R2, Blue</code>" . In this case, the API
5162
+ * will filter vehicles with an attribute name <code>Vehicle.Body.Engine.Type</code> that contains
5163
+ * a value of <code>1.3 L R2</code> AND an attribute name <code>Vehicle.Color</code> that contains
5164
+ * a value of "<code>Blue</code>". A request must contain unique values for the <code>attributeNames</code>
5165
+ * filter and the matching number of <code>attributeValues</code> filters to return the subset
5166
+ * of vehicles that match the attributes filter condition.</p>
4255
5167
  * @public
4256
5168
  */
4257
5169
  attributeNames?: string[] | undefined;
4258
5170
  /**
4259
- * <p>Static information about a vehicle attribute value in string format. For example:</p>
4260
- * <p>
4261
- * <code>"1.3 L R2"</code>
4262
- * </p>
5171
+ * <p>Static information about a vehicle attribute value in string format. You can use this optional
5172
+ * parameter in conjunction with <code>attributeNames</code> to list the vehicles containing all
5173
+ * the <code>attributeValues</code> corresponding to the <code>attributeNames</code> filter. For
5174
+ * example, <code>attributeValues</code> could be "<code>1.3 L R2, Blue</code>" and the corresponding
5175
+ * <code>attributeNames</code> filter could be "<code>Vehicle.Body.Engine.Type, Vehicle.Color</code>".
5176
+ * In this case, the API will filter vehicles with attribute name <code>Vehicle.Body.Engine.Type</code>
5177
+ * that contains a value of <code>1.3 L R2</code> AND an attribute name <code>Vehicle.Color</code> that
5178
+ * contains a value of "<code>Blue</code>". A request must contain unique values for the
5179
+ * <code>attributeNames</code> filter and the matching number of <code>attributeValues</code>
5180
+ * filter to return the subset of vehicles that match the attributes filter condition.</p>
4263
5181
  * @public
4264
5182
  */
4265
5183
  attributeValues?: string[] | undefined;
@@ -4270,7 +5188,7 @@ export interface ListVehiclesRequest {
4270
5188
  */
4271
5189
  nextToken?: string | undefined;
4272
5190
  /**
4273
- * <p> The maximum number of items to return, between 1 and 100, inclusive. </p>
5191
+ * <p>The maximum number of items to return, between 1 and 100, inclusive.</p>
4274
5192
  * @public
4275
5193
  */
4276
5194
  maxResults?: number | undefined;
@@ -4370,6 +5288,16 @@ export interface UpdateVehicleRequest {
4370
5288
  * @public
4371
5289
  */
4372
5290
  attributeUpdateMode?: UpdateMode | undefined;
5291
+ /**
5292
+ * <p>Associate state templates with the vehicle.</p>
5293
+ * @public
5294
+ */
5295
+ stateTemplatesToAdd?: StateTemplateAssociation[] | undefined;
5296
+ /**
5297
+ * <p>Remove state templates from the vehicle.</p>
5298
+ * @public
5299
+ */
5300
+ stateTemplatesToRemove?: string[] | undefined;
4373
5301
  }
4374
5302
  /**
4375
5303
  * @public
@@ -4387,7 +5315,10 @@ export interface UpdateVehicleResponse {
4387
5315
  arn?: string | undefined;
4388
5316
  }
4389
5317
  /**
4390
- * <p>The structured message for the message signal. It can be defined with either a <code>primitiveMessageDefinition</code>, <code>structuredMessageListDefinition</code>, or <code>structuredMessageDefinition</code> recursively.</p>
5318
+ * <p>The structured message for the message signal. It can be defined with either a
5319
+ * <code>primitiveMessageDefinition</code>,
5320
+ * <code>structuredMessageListDefinition</code>, or
5321
+ * <code>structuredMessageDefinition</code> recursively.</p>
4391
5322
  * @public
4392
5323
  */
4393
5324
  export type StructuredMessage = StructuredMessage.PrimitiveMessageDefinitionMember | StructuredMessage.StructuredMessageDefinitionMember | StructuredMessage.StructuredMessageListDefinitionMember | StructuredMessage.$UnknownMember;
@@ -4443,12 +5374,14 @@ export declare namespace StructuredMessage {
4443
5374
  const visit: <T>(value: StructuredMessage, visitor: Visitor<T>) => T;
4444
5375
  }
4445
5376
  /**
4446
- * <p>Represents a <code>StructureMessageName</code> to <code>DataType</code> map element.</p>
5377
+ * <p>Represents a <code>StructureMessageName</code> to <code>DataType</code> map
5378
+ * element.</p>
4447
5379
  * @public
4448
5380
  */
4449
5381
  export interface StructuredMessageFieldNameAndDataTypePair {
4450
5382
  /**
4451
- * <p>The field name of the structured message. It determines how a data value is referenced in the target language. </p>
5383
+ * <p>The field name of the structured message. It determines how a data value is referenced
5384
+ * in the target language. </p>
4452
5385
  * @public
4453
5386
  */
4454
5387
  fieldName: string | undefined;
@@ -4479,13 +5412,15 @@ export interface StructuredMessageListDefinition {
4479
5412
  */
4480
5413
  listType: StructuredMessageListType | undefined;
4481
5414
  /**
4482
- * <p>The capacity of the structured message list definition when the list type is <code>FIXED_CAPACITY</code> or <code>DYNAMIC_BOUNDED_CAPACITY</code>.</p>
5415
+ * <p>The capacity of the structured message list definition when the list type is
5416
+ * <code>FIXED_CAPACITY</code> or <code>DYNAMIC_BOUNDED_CAPACITY</code>.</p>
4483
5417
  * @public
4484
5418
  */
4485
5419
  capacity?: number | undefined;
4486
5420
  }
4487
5421
  /**
4488
- * <p>The decoding information for a specific message which support higher order data types. </p>
5422
+ * <p>The decoding information for a specific message which support higher order data types.
5423
+ * </p>
4489
5424
  * @public
4490
5425
  */
4491
5426
  export interface MessageSignal {
@@ -4495,7 +5430,10 @@ export interface MessageSignal {
4495
5430
  */
4496
5431
  topicName: string | undefined;
4497
5432
  /**
4498
- * <p>The structured message for the message signal. It can be defined with either a <code>primitiveMessageDefinition</code>, <code>structuredMessageListDefinition</code>, or <code>structuredMessageDefinition</code> recursively.</p>
5433
+ * <p>The structured message for the message signal. It can be defined with either a
5434
+ * <code>primitiveMessageDefinition</code>,
5435
+ * <code>structuredMessageListDefinition</code>, or
5436
+ * <code>structuredMessageDefinition</code> recursively.</p>
4499
5437
  * @public
4500
5438
  */
4501
5439
  structuredMessage: StructuredMessage | undefined;
@@ -4511,33 +5449,46 @@ export interface SignalDecoder {
4511
5449
  */
4512
5450
  fullyQualifiedName: string | undefined;
4513
5451
  /**
4514
- * <p>The network protocol for the vehicle. For example, <code>CAN_SIGNAL</code> specifies
4515
- * a protocol that defines how data is communicated between electronic control units
4516
- * (ECUs). <code>OBD_SIGNAL</code> specifies a protocol that defines how self-diagnostic
4517
- * data is communicated between ECUs.</p>
5452
+ * <p>The network protocol for the vehicle. For example, <code>CAN_SIGNAL</code> specifies a
5453
+ * protocol that defines how data is communicated between electronic control units (ECUs).
5454
+ * <code>OBD_SIGNAL</code> specifies a protocol that defines how self-diagnostic data
5455
+ * is communicated between ECUs.</p>
4518
5456
  * @public
4519
5457
  */
4520
5458
  type: SignalDecoderType | undefined;
4521
5459
  /**
4522
- * <p>The ID of a network interface that specifies what network protocol a vehicle follows.</p>
5460
+ * <p>The ID of a network interface that specifies what network protocol a vehicle
5461
+ * follows.</p>
4523
5462
  * @public
4524
5463
  */
4525
5464
  interfaceId: string | undefined;
4526
5465
  /**
4527
- * <p>Information about signal decoder using the Controller Area Network (CAN) protocol.</p>
5466
+ * <p>Information about signal decoder using the Controller Area Network (CAN)
5467
+ * protocol.</p>
4528
5468
  * @public
4529
5469
  */
4530
5470
  canSignal?: CanSignal | undefined;
4531
5471
  /**
4532
- * <p>Information about signal decoder using the On-board diagnostic (OBD) II protocol.</p>
5472
+ * <p>Information about signal decoder using the on-board diagnostic (OBD) II
5473
+ * protocol.</p>
4533
5474
  * @public
4534
5475
  */
4535
5476
  obdSignal?: ObdSignal | undefined;
4536
5477
  /**
4537
- * <p>The decoding information for a specific message which supports higher order data types. </p>
5478
+ * <p>The decoding information for a specific message which supports higher order data
5479
+ * types. </p>
4538
5480
  * @public
4539
5481
  */
4540
5482
  messageSignal?: MessageSignal | undefined;
5483
+ /**
5484
+ * <p>Information about a <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CustomDecodingSignal.html">custom signal
5485
+ * decoder</a>.</p>
5486
+ * <important>
5487
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
5488
+ * </important>
5489
+ * @public
5490
+ */
5491
+ customDecodingSignal?: CustomDecodingSignal | undefined;
4541
5492
  }
4542
5493
  /**
4543
5494
  * @public
@@ -4549,7 +5500,7 @@ export interface CreateDecoderManifestRequest {
4549
5500
  */
4550
5501
  name: string | undefined;
4551
5502
  /**
4552
- * <p> A brief description of the decoder manifest. </p>
5503
+ * <p>A brief description of the decoder manifest. </p>
4553
5504
  * @public
4554
5505
  */
4555
5506
  description?: string | undefined;
@@ -4568,6 +5519,14 @@ export interface CreateDecoderManifestRequest {
4568
5519
  * @public
4569
5520
  */
4570
5521
  networkInterfaces?: NetworkInterface[] | undefined;
5522
+ /**
5523
+ * <p>Use default decoders for all unmapped signals in the model. You don't need to provide any detailed decoding information.</p>
5524
+ * <important>
5525
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
5526
+ * </important>
5527
+ * @public
5528
+ */
5529
+ defaultForUnmappedSignals?: DefaultForUnmappedSignalsType | undefined;
4571
5530
  /**
4572
5531
  * <p>Metadata that can be used to manage the decoder manifest.</p>
4573
5532
  * @public
@@ -4644,6 +5603,14 @@ export interface UpdateDecoderManifestRequest {
4644
5603
  * @public
4645
5604
  */
4646
5605
  status?: ManifestStatus | undefined;
5606
+ /**
5607
+ * <p>Use default decoders for all unmapped signals in the model. You don't need to provide any detailed decoding information.</p>
5608
+ * <important>
5609
+ * <p>Access to certain Amazon Web Services IoT FleetWise features is currently gated. For more information, see <a href="https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html">Amazon Web Services Region and feature availability</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>
5610
+ * </important>
5611
+ * @public
5612
+ */
5613
+ defaultForUnmappedSignals?: DefaultForUnmappedSignalsType | undefined;
4647
5614
  }
4648
5615
  /**
4649
5616
  * @internal
@@ -4653,6 +5620,30 @@ export declare const ConditionBasedCollectionSchemeFilterSensitiveLog: (obj: Con
4653
5620
  * @internal
4654
5621
  */
4655
5622
  export declare const CollectionSchemeFilterSensitiveLog: (obj: CollectionScheme) => any;
5623
+ /**
5624
+ * @internal
5625
+ */
5626
+ export declare const DataPartitionStorageOptionsFilterSensitiveLog: (obj: DataPartitionStorageOptions) => any;
5627
+ /**
5628
+ * @internal
5629
+ */
5630
+ export declare const DataPartitionUploadOptionsFilterSensitiveLog: (obj: DataPartitionUploadOptions) => any;
5631
+ /**
5632
+ * @internal
5633
+ */
5634
+ export declare const DataPartitionFilterSensitiveLog: (obj: DataPartition) => any;
5635
+ /**
5636
+ * @internal
5637
+ */
5638
+ export declare const ConditionBasedSignalFetchConfigFilterSensitiveLog: (obj: ConditionBasedSignalFetchConfig) => any;
5639
+ /**
5640
+ * @internal
5641
+ */
5642
+ export declare const SignalFetchConfigFilterSensitiveLog: (obj: SignalFetchConfig) => any;
5643
+ /**
5644
+ * @internal
5645
+ */
5646
+ export declare const SignalFetchInformationFilterSensitiveLog: (obj: SignalFetchInformation) => any;
4656
5647
  /**
4657
5648
  * @internal
4658
5649
  */