@aws-sdk/client-iotfleetwise 3.454.0 → 3.458.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 (45) hide show
  1. package/README.md +52 -52
  2. package/dist-cjs/models/models_0.js +86 -16
  3. package/dist-cjs/protocols/Aws_json1_0.js +142 -0
  4. package/dist-es/models/models_0.js +84 -14
  5. package/dist-es/protocols/Aws_json1_0.js +143 -1
  6. package/dist-types/IoTFleetWise.d.ts +1 -1
  7. package/dist-types/IoTFleetWiseClient.d.ts +1 -1
  8. package/dist-types/commands/AssociateVehicleFleetCommand.d.ts +3 -0
  9. package/dist-types/commands/BatchCreateVehicleCommand.d.ts +3 -3
  10. package/dist-types/commands/BatchUpdateVehicleCommand.d.ts +3 -3
  11. package/dist-types/commands/CreateCampaignCommand.d.ts +1 -1
  12. package/dist-types/commands/CreateDecoderManifestCommand.d.ts +55 -5
  13. package/dist-types/commands/CreateFleetCommand.d.ts +3 -3
  14. package/dist-types/commands/CreateModelManifestCommand.d.ts +1 -1
  15. package/dist-types/commands/CreateSignalCatalogCommand.d.ts +17 -0
  16. package/dist-types/commands/CreateVehicleCommand.d.ts +3 -3
  17. package/dist-types/commands/DeleteDecoderManifestCommand.d.ts +2 -2
  18. package/dist-types/commands/DeleteFleetCommand.d.ts +2 -2
  19. package/dist-types/commands/DeleteModelManifestCommand.d.ts +2 -2
  20. package/dist-types/commands/DeleteSignalCatalogCommand.d.ts +2 -2
  21. package/dist-types/commands/DeleteVehicleCommand.d.ts +2 -2
  22. package/dist-types/commands/DisassociateVehicleFleetCommand.d.ts +2 -2
  23. package/dist-types/commands/GetDecoderManifestCommand.d.ts +1 -0
  24. package/dist-types/commands/GetRegisterAccountStatusCommand.d.ts +3 -3
  25. package/dist-types/commands/GetSignalCatalogCommand.d.ts +2 -0
  26. package/dist-types/commands/ListCampaignsCommand.d.ts +1 -1
  27. package/dist-types/commands/ListDecoderManifestNetworkInterfacesCommand.d.ts +5 -1
  28. package/dist-types/commands/ListDecoderManifestSignalsCommand.d.ts +47 -1
  29. package/dist-types/commands/ListDecoderManifestsCommand.d.ts +2 -1
  30. package/dist-types/commands/ListFleetsCommand.d.ts +1 -1
  31. package/dist-types/commands/ListFleetsForVehicleCommand.d.ts +1 -1
  32. package/dist-types/commands/ListModelManifestNodesCommand.d.ts +18 -1
  33. package/dist-types/commands/ListModelManifestsCommand.d.ts +1 -1
  34. package/dist-types/commands/ListSignalCatalogNodesCommand.d.ts +18 -1
  35. package/dist-types/commands/ListSignalCatalogsCommand.d.ts +2 -2
  36. package/dist-types/commands/ListVehiclesCommand.d.ts +1 -1
  37. package/dist-types/commands/ListVehiclesInFleetCommand.d.ts +1 -1
  38. package/dist-types/commands/RegisterAccountCommand.d.ts +4 -5
  39. package/dist-types/commands/UpdateDecoderManifestCommand.d.ts +59 -1
  40. package/dist-types/commands/UpdateFleetCommand.d.ts +2 -2
  41. package/dist-types/commands/UpdateSignalCatalogCommand.d.ts +34 -0
  42. package/dist-types/index.d.ts +1 -1
  43. package/dist-types/models/models_0.d.ts +679 -265
  44. package/dist-types/ts3.4/models/models_0.d.ts +235 -39
  45. package/package.json +3 -3
@@ -33,6 +33,8 @@ export declare const NodeDataType: {
33
33
  readonly INT8_ARRAY: "INT8_ARRAY";
34
34
  readonly STRING: "STRING";
35
35
  readonly STRING_ARRAY: "STRING_ARRAY";
36
+ readonly STRUCT: "STRUCT";
37
+ readonly STRUCT_ARRAY: "STRUCT_ARRAY";
36
38
  readonly UINT16: "UINT16";
37
39
  readonly UINT16_ARRAY: "UINT16_ARRAY";
38
40
  readonly UINT32: "UINT32";
@@ -53,10 +55,10 @@ export type NodeDataType = (typeof NodeDataType)[keyof typeof NodeDataType];
53
55
  * @public
54
56
  * <p>A signal that represents a vehicle device such as the engine, heater, and door locks.
55
57
  * Data from an actuator reports the state of a certain vehicle device.</p>
56
- * <note>
58
+ * <note>
57
59
  * <p> Updating actuator data can change the state of a device. For example, you can
58
60
  * turn on or off the heater by updating its actuator data.</p>
59
- * </note>
61
+ * </note>
60
62
  */
61
63
  export interface Actuator {
62
64
  /**
@@ -112,6 +114,11 @@ export interface Actuator {
112
114
  * <p>A comment in addition to the description.</p>
113
115
  */
114
116
  comment?: string;
117
+ /**
118
+ * @public
119
+ * <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>
120
+ */
121
+ structFullyQualifiedName?: string;
115
122
  }
116
123
  /**
117
124
  * @public
@@ -150,6 +157,28 @@ export declare class InternalServerException extends __BaseException {
150
157
  */
151
158
  constructor(opts: __ExceptionOptionType<InternalServerException, __BaseException>);
152
159
  }
160
+ /**
161
+ * @public
162
+ * <p>A service quota was exceeded. </p>
163
+ */
164
+ export declare class LimitExceededException extends __BaseException {
165
+ readonly name: "LimitExceededException";
166
+ readonly $fault: "client";
167
+ /**
168
+ * @public
169
+ * <p>The identifier of the resource that was exceeded.</p>
170
+ */
171
+ resourceId: string | undefined;
172
+ /**
173
+ * @public
174
+ * <p>The type of resource that was exceeded.</p>
175
+ */
176
+ resourceType: string | undefined;
177
+ /**
178
+ * @internal
179
+ */
180
+ constructor(opts: __ExceptionOptionType<LimitExceededException, __BaseException>);
181
+ }
153
182
  /**
154
183
  * @public
155
184
  * <p>The resource wasn't found.</p>
@@ -455,28 +484,6 @@ export interface BatchCreateVehicleResponse {
455
484
  */
456
485
  errors?: CreateVehicleError[];
457
486
  }
458
- /**
459
- * @public
460
- * <p>A service quota was exceeded. </p>
461
- */
462
- export declare class LimitExceededException extends __BaseException {
463
- readonly name: "LimitExceededException";
464
- readonly $fault: "client";
465
- /**
466
- * @public
467
- * <p>The identifier of the resource that was exceeded.</p>
468
- */
469
- resourceId: string | undefined;
470
- /**
471
- * @public
472
- * <p>The type of resource that was exceeded.</p>
473
- */
474
- resourceType: string | undefined;
475
- /**
476
- * @internal
477
- */
478
- constructor(opts: __ExceptionOptionType<LimitExceededException, __BaseException>);
479
- }
480
487
  /**
481
488
  * @public
482
489
  * @enum
@@ -512,7 +519,7 @@ export interface UpdateVehicleRequestItem {
512
519
  /**
513
520
  * @public
514
521
  * <p>Static information about a vehicle in a key-value pair. For example:</p>
515
- * <p>
522
+ * <p>
516
523
  * <code>"engineType"</code> : <code>"1.3 L R2"</code>
517
524
  * </p>
518
525
  */
@@ -522,7 +529,7 @@ export interface UpdateVehicleRequestItem {
522
529
  * <p>The method the specified attributes will update the existing attributes on the
523
530
  * vehicle. Use<code>Overwite</code> to replace the vehicle attributes with the specified
524
531
  * attributes. Or use <code>Merge</code> to combine all attributes.</p>
525
- * <p>This is required if attributes are present in the input.</p>
532
+ * <p>This is required if attributes are present in the input.</p>
526
533
  */
527
534
  attributeUpdateMode?: UpdateMode;
528
535
  }
@@ -581,9 +588,9 @@ export interface BatchUpdateVehicleResponse {
581
588
  /**
582
589
  * @public
583
590
  * <p> A list of information about the batch of updated vehicles. </p>
584
- * <note>
591
+ * <note>
585
592
  * <p>This list contains only unique IDs for the vehicles that were updated.</p>
586
- * </note>
593
+ * </note>
587
594
  */
588
595
  vehicles?: UpdateVehicleResponseItem[];
589
596
  /**
@@ -671,9 +678,9 @@ export interface ConditionBasedCollectionScheme {
671
678
  * @public
672
679
  * <p>The minimum duration of time between two triggering events to collect data, in
673
680
  * milliseconds.</p>
674
- * <note>
681
+ * <note>
675
682
  * <p>If a signal changes often, you might want to collect data at a slower rate.</p>
676
- * </note>
683
+ * </note>
677
684
  */
678
685
  minimumTriggerIntervalMs?: number;
679
686
  /**
@@ -798,14 +805,14 @@ export interface S3Config {
798
805
  /**
799
806
  * @public
800
807
  * <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>
801
- * <ul>
808
+ * <ul>
802
809
  * <li>
803
- * <p>Parquet - Store data in a columnar storage file format. Parquet is optimal for
810
+ * <p>Parquet - Store data in a columnar storage file format. Parquet is optimal for
804
811
  * fast data retrieval and can reduce costs. This option is selected by
805
812
  * default.</p>
806
813
  * </li>
807
814
  * <li>
808
- * <p>JSON - Store data in a standard text-based JSON file format.</p>
815
+ * <p>JSON - Store data in a standard text-based JSON file format.</p>
809
816
  * </li>
810
817
  * </ul>
811
818
  */
@@ -819,7 +826,7 @@ export interface S3Config {
819
826
  /**
820
827
  * @public
821
828
  * <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>
822
- * <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>
829
+ * <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>
823
830
  */
824
831
  prefix?: string;
825
832
  }
@@ -912,9 +919,9 @@ export interface SignalInformation {
912
919
  * @public
913
920
  * <p>The minimum duration of time (in milliseconds) between two triggering events to
914
921
  * collect data.</p>
915
- * <note>
922
+ * <note>
916
923
  * <p>If a signal changes often, you might want to collect data at a slower rate.</p>
917
- * </note>
924
+ * </note>
918
925
  */
919
926
  minimumSamplingIntervalMs?: number;
920
927
  }
@@ -959,7 +966,7 @@ export interface CreateCampaignRequest {
959
966
  * @public
960
967
  * <p>(Optional) The time, in milliseconds, to deliver a campaign after it was approved. If
961
968
  * it's not specified, <code>0</code> is used.</p>
962
- * <p>Default: <code>0</code>
969
+ * <p>Default: <code>0</code>
963
970
  * </p>
964
971
  */
965
972
  startTime?: Date;
@@ -967,14 +974,14 @@ export interface CreateCampaignRequest {
967
974
  * @public
968
975
  * <p> (Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at
969
976
  * midnight UTC time). Vehicle data isn't collected after the campaign expires. </p>
970
- * <p>Default: 253402214400 (December 31, 9999, 00:00:00 UTC)</p>
977
+ * <p>Default: 253402214400 (December 31, 9999, 00:00:00 UTC)</p>
971
978
  */
972
979
  expiryTime?: Date;
973
980
  /**
974
981
  * @public
975
982
  * <p> (Optional) How long (in milliseconds) to collect raw data after a triggering event
976
983
  * initiates the collection. If it's not specified, <code>0</code> is used.</p>
977
- * <p>Default: <code>0</code>
984
+ * <p>Default: <code>0</code>
978
985
  * </p>
979
986
  */
980
987
  postTriggerCollectionDuration?: number;
@@ -983,7 +990,7 @@ export interface CreateCampaignRequest {
983
990
  * <p> (Optional) Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. If you
984
991
  * want to send diagnostic trouble codes, use <code>SEND_ACTIVE_DTCS</code>. If it's not
985
992
  * specified, <code>OFF</code> is used.</p>
986
- * <p>Default: <code>OFF</code>
993
+ * <p>Default: <code>OFF</code>
987
994
  * </p>
988
995
  */
989
996
  diagnosticsMode?: DiagnosticsMode;
@@ -993,7 +1000,7 @@ export interface CreateCampaignRequest {
993
1000
  * cloud. After a connection is re-established, the data is automatically forwarded to
994
1001
  * Amazon Web Services IoT FleetWise. If you want to store collected data when a vehicle loses connection with the
995
1002
  * cloud, use <code>TO_DISK</code>. If it's not specified, <code>OFF</code> is used.</p>
996
- * <p>Default: <code>OFF</code>
1003
+ * <p>Default: <code>OFF</code>
997
1004
  * </p>
998
1005
  */
999
1006
  spoolingMode?: SpoolingMode;
@@ -1002,7 +1009,7 @@ export interface CreateCampaignRequest {
1002
1009
  * <p> (Optional) Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If you
1003
1010
  * don't want to compress the signals, use <code>OFF</code>. If it's not specified,
1004
1011
  * <code>SNAPPY</code> is used. </p>
1005
- * <p>Default: <code>SNAPPY</code>
1012
+ * <p>Default: <code>SNAPPY</code>
1006
1013
  * </p>
1007
1014
  */
1008
1015
  compression?: Compression;
@@ -1011,7 +1018,7 @@ export interface CreateCampaignRequest {
1011
1018
  * <p>(Optional) A number indicating the priority of one campaign over another campaign for
1012
1019
  * a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles
1013
1020
  * before any other campaigns. If it's not specified, <code>0</code> is used. </p>
1014
- * <p>Default: <code>0</code>
1021
+ * <p>Default: <code>0</code>
1015
1022
  * </p>
1016
1023
  */
1017
1024
  priority?: number;
@@ -1029,8 +1036,8 @@ export interface CreateCampaignRequest {
1029
1036
  /**
1030
1037
  * @public
1031
1038
  * <p> (Optional) A list of vehicle attributes to associate with a campaign. </p>
1032
- * <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>
1033
- * <p>Default: An empty array</p>
1039
+ * <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>
1040
+ * <p>Default: An empty array</p>
1034
1041
  */
1035
1042
  dataExtraDimensions?: string[];
1036
1043
  /**
@@ -1041,8 +1048,8 @@ export interface CreateCampaignRequest {
1041
1048
  /**
1042
1049
  * @public
1043
1050
  * <p>The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.</p>
1044
- * <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>
1045
- * <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query
1051
+ * <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>
1052
+ * <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query
1046
1053
  * vehicle data so that you can identify trends and patterns.</p>
1047
1054
  */
1048
1055
  dataDestinationConfigs?: DataDestinationConfig[];
@@ -1084,9 +1091,9 @@ export interface DeleteCampaignResponse {
1084
1091
  /**
1085
1092
  * @public
1086
1093
  * <p> The Amazon Resource Name (ARN) of the deleted campaign.</p>
1087
- * <note>
1094
+ * <note>
1088
1095
  * <p>The ARN isn’t returned if a campaign doesn’t exist.</p>
1089
- * </note>
1096
+ * </note>
1090
1097
  */
1091
1098
  arn?: string;
1092
1099
  }
@@ -1222,8 +1229,8 @@ export interface GetCampaignResponse {
1222
1229
  /**
1223
1230
  * @public
1224
1231
  * <p>The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.</p>
1225
- * <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>
1226
- * <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query
1232
+ * <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>
1233
+ * <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query
1227
1234
  * vehicle data so that you can identify trends and patterns.</p>
1228
1235
  */
1229
1236
  dataDestinationConfigs?: DataDestinationConfig[];
@@ -1255,7 +1262,7 @@ export interface ListCampaignsRequest {
1255
1262
  /**
1256
1263
  * @public
1257
1264
  * <p>Information about a campaign. </p>
1258
- * <p>You can use the API operation to return this
1265
+ * <p>You can use the API operation to return this
1259
1266
  * information about multiple created campaigns.</p>
1260
1267
  */
1261
1268
  export interface CampaignSummary {
@@ -1287,26 +1294,26 @@ export interface CampaignSummary {
1287
1294
  /**
1288
1295
  * @public
1289
1296
  * <p>The state of a campaign. The status can be one of the following:</p>
1290
- * <ul>
1297
+ * <ul>
1291
1298
  * <li>
1292
- * <p>
1293
- * <code>CREATING</code> - Amazon Web Services IoT FleetWise is processing your request to create the
1299
+ * <p>
1300
+ * <code>CREATING</code> - Amazon Web Services IoT FleetWise is processing your request to create the
1294
1301
  * campaign.</p>
1295
1302
  * </li>
1296
1303
  * <li>
1297
- * <p>
1298
- * <code>WAITING_FOR_APPROVAL</code> - After a campaign is created, it enters the
1304
+ * <p>
1305
+ * <code>WAITING_FOR_APPROVAL</code> - After a campaign is created, it enters the
1299
1306
  * <code>WAITING_FOR_APPROVAL</code> state. To allow Amazon Web Services IoT FleetWise to deploy the
1300
1307
  * campaign to the target vehicle or fleet, use the API operation to approve the campaign.
1301
1308
  * </p>
1302
1309
  * </li>
1303
1310
  * <li>
1304
- * <p>
1305
- * <code>RUNNING</code> - The campaign is active. </p>
1311
+ * <p>
1312
+ * <code>RUNNING</code> - The campaign is active. </p>
1306
1313
  * </li>
1307
1314
  * <li>
1308
- * <p>
1309
- * <code>SUSPENDED</code> - The campaign is suspended. To resume the campaign, use
1315
+ * <p>
1316
+ * <code>SUSPENDED</code> - The campaign is suspended. To resume the campaign, use
1310
1317
  * the API operation. </p>
1311
1318
  * </li>
1312
1319
  * </ul>
@@ -1369,29 +1376,29 @@ export interface UpdateCampaignRequest {
1369
1376
  /**
1370
1377
  * @public
1371
1378
  * <p> A list of vehicle attributes to associate with a signal. </p>
1372
- * <p>Default: An empty array</p>
1379
+ * <p>Default: An empty array</p>
1373
1380
  */
1374
1381
  dataExtraDimensions?: string[];
1375
1382
  /**
1376
1383
  * @public
1377
1384
  * <p> Specifies how to update a campaign. The action can be one of the following:</p>
1378
- * <ul>
1385
+ * <ul>
1379
1386
  * <li>
1380
- * <p>
1381
- * <code>APPROVE</code> - To approve delivering a data collection scheme to
1387
+ * <p>
1388
+ * <code>APPROVE</code> - To approve delivering a data collection scheme to
1382
1389
  * vehicles. </p>
1383
1390
  * </li>
1384
1391
  * <li>
1385
- * <p>
1386
- * <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>
1392
+ * <p>
1393
+ * <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>
1387
1394
  * </li>
1388
1395
  * <li>
1389
- * <p>
1390
- * <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>
1396
+ * <p>
1397
+ * <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>
1391
1398
  * </li>
1392
1399
  * <li>
1393
- * <p>
1394
- * <code>UPDATE</code> - To update a campaign. </p>
1400
+ * <p>
1401
+ * <code>UPDATE</code> - To update a campaign. </p>
1395
1402
  * </li>
1396
1403
  * </ul>
1397
1404
  */
@@ -1414,26 +1421,26 @@ export interface UpdateCampaignResponse {
1414
1421
  /**
1415
1422
  * @public
1416
1423
  * <p>The state of a campaign. The status can be one of:</p>
1417
- * <ul>
1424
+ * <ul>
1418
1425
  * <li>
1419
- * <p>
1420
- * <code>CREATING</code> - Amazon Web Services IoT FleetWise is processing your request to create the
1426
+ * <p>
1427
+ * <code>CREATING</code> - Amazon Web Services IoT FleetWise is processing your request to create the
1421
1428
  * campaign. </p>
1422
1429
  * </li>
1423
1430
  * <li>
1424
- * <p>
1425
- * <code>WAITING_FOR_APPROVAL</code> - After a campaign is created, it enters the
1431
+ * <p>
1432
+ * <code>WAITING_FOR_APPROVAL</code> - After a campaign is created, it enters the
1426
1433
  * <code>WAITING_FOR_APPROVAL</code> state. To allow Amazon Web Services IoT FleetWise to deploy the
1427
1434
  * campaign to the target vehicle or fleet, use the API operation to approve the campaign.
1428
1435
  * </p>
1429
1436
  * </li>
1430
1437
  * <li>
1431
- * <p>
1432
- * <code>RUNNING</code> - The campaign is active. </p>
1438
+ * <p>
1439
+ * <code>RUNNING</code> - The campaign is active. </p>
1433
1440
  * </li>
1434
1441
  * <li>
1435
- * <p>
1436
- * <code>SUSPENDED</code> - The campaign is suspended. To resume the campaign, use
1442
+ * <p>
1443
+ * <code>SUSPENDED</code> - The campaign is suspended. To resume the campaign, use
1437
1444
  * the API operation. </p>
1438
1445
  * </li>
1439
1446
  * </ul>
@@ -1453,7 +1460,7 @@ export interface CanDbcDefinition {
1453
1460
  /**
1454
1461
  * @public
1455
1462
  * <p>A list of DBC files. You can upload only one DBC file for each network interface and
1456
- * specify up to five (inclusive) files in the list.</p>
1463
+ * specify up to five (inclusive) files in the list. The DBC file can be a maximum size of 200 MB.</p>
1457
1464
  */
1458
1465
  canDbcFiles: Uint8Array[] | undefined;
1459
1466
  /**
@@ -1507,7 +1514,7 @@ export interface CanSignal {
1507
1514
  /**
1508
1515
  * @public
1509
1516
  * <p>Indicates the beginning of the CAN signal. This should always be the least significant bit (LSB).</p>
1510
- * <p>This value might be different from the value in a DBC file. For little endian signals,
1517
+ * <p>This value might be different from the value in a DBC file. For little endian signals,
1511
1518
  * <code>startBit</code> is the same value as in the DBC file. For big endian signals
1512
1519
  * in a DBC file, the start bit is the most significant bit (MSB). You will have to
1513
1520
  * calculate the LSB instead and pass it as the <code>startBit</code>.</p>
@@ -1609,17 +1616,46 @@ export interface ObdInterface {
1609
1616
  */
1610
1617
  export declare const NetworkInterfaceType: {
1611
1618
  readonly CAN_INTERFACE: "CAN_INTERFACE";
1619
+ readonly CUSTOMER_DECODED_INTERFACE: "CUSTOMER_DECODED_INTERFACE";
1612
1620
  readonly OBD_INTERFACE: "OBD_INTERFACE";
1621
+ readonly VEHICLE_MIDDLEWARE: "VEHICLE_MIDDLEWARE";
1613
1622
  };
1614
1623
  /**
1615
1624
  * @public
1616
1625
  */
1617
1626
  export type NetworkInterfaceType = (typeof NetworkInterfaceType)[keyof typeof NetworkInterfaceType];
1627
+ /**
1628
+ * @public
1629
+ * @enum
1630
+ */
1631
+ export declare const VehicleMiddlewareProtocol: {
1632
+ readonly ROS_2: "ROS_2";
1633
+ };
1634
+ /**
1635
+ * @public
1636
+ */
1637
+ export type VehicleMiddlewareProtocol = (typeof VehicleMiddlewareProtocol)[keyof typeof VehicleMiddlewareProtocol];
1638
+ /**
1639
+ * @public
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>
1641
+ */
1642
+ export interface VehicleMiddleware {
1643
+ /**
1644
+ * @public
1645
+ * <p>The name of the vehicle middleware. </p>
1646
+ */
1647
+ name: string | undefined;
1648
+ /**
1649
+ * @public
1650
+ * <p>The protocol name of the vehicle middleware. </p>
1651
+ */
1652
+ protocolName: VehicleMiddlewareProtocol | undefined;
1653
+ }
1618
1654
  /**
1619
1655
  * @public
1620
1656
  * <p>Represents a node and its specifications in an in-vehicle communication network. All
1621
1657
  * signal decoders must be associated with a network node. </p>
1622
- * <p> To return this information about all the network interfaces specified in a decoder
1658
+ * <p> To return this information about all the network interfaces specified in a decoder
1623
1659
  * manifest, use the API
1624
1660
  * operation.</p>
1625
1661
  */
@@ -1649,7 +1685,106 @@ export interface NetworkInterface {
1649
1685
  * protocol.</p>
1650
1686
  */
1651
1687
  obdInterface?: ObdInterface;
1688
+ /**
1689
+ * @public
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>
1691
+ */
1692
+ vehicleMiddleware?: VehicleMiddleware;
1693
+ }
1694
+ /**
1695
+ * @public
1696
+ * @enum
1697
+ */
1698
+ export declare const ROS2PrimitiveType: {
1699
+ readonly BOOL: "BOOL";
1700
+ readonly BYTE: "BYTE";
1701
+ readonly CHAR: "CHAR";
1702
+ readonly FLOAT32: "FLOAT32";
1703
+ readonly FLOAT64: "FLOAT64";
1704
+ readonly INT16: "INT16";
1705
+ readonly INT32: "INT32";
1706
+ readonly INT64: "INT64";
1707
+ readonly INT8: "INT8";
1708
+ readonly STRING: "STRING";
1709
+ readonly UINT16: "UINT16";
1710
+ readonly UINT32: "UINT32";
1711
+ readonly UINT64: "UINT64";
1712
+ readonly UINT8: "UINT8";
1713
+ readonly WSTRING: "WSTRING";
1714
+ };
1715
+ /**
1716
+ * @public
1717
+ */
1718
+ export type ROS2PrimitiveType = (typeof ROS2PrimitiveType)[keyof typeof ROS2PrimitiveType];
1719
+ /**
1720
+ * @public
1721
+ * <p>Represents a ROS 2 compliant primitive type message of the complex data structure.</p>
1722
+ */
1723
+ export interface ROS2PrimitiveMessageDefinition {
1724
+ /**
1725
+ * @public
1726
+ * <p>The primitive type (integer, floating point, boolean, etc.) for the ROS 2 primitive message definition.</p>
1727
+ */
1728
+ primitiveType: ROS2PrimitiveType | undefined;
1729
+ /**
1730
+ * @public
1731
+ * <p>The offset used to calculate the signal value. Combined with scaling, the calculation is <code>value = raw_value * scaling + offset</code>.</p>
1732
+ */
1733
+ offset?: number;
1734
+ /**
1735
+ * @public
1736
+ * <p>A multiplier used to decode the message.</p>
1737
+ */
1738
+ scaling?: number;
1739
+ /**
1740
+ * @public
1741
+ * <p>An optional attribute specifying the upper bound for <code>STRING</code> and <code>WSTRING</code>.</p>
1742
+ */
1743
+ upperBound?: number;
1744
+ }
1745
+ /**
1746
+ * @public
1747
+ * <p>Represents a primitive type node of the complex data structure.</p>
1748
+ */
1749
+ export type PrimitiveMessageDefinition = PrimitiveMessageDefinition.Ros2PrimitiveMessageDefinitionMember | PrimitiveMessageDefinition.$UnknownMember;
1750
+ /**
1751
+ * @public
1752
+ */
1753
+ export declare namespace PrimitiveMessageDefinition {
1754
+ /**
1755
+ * @public
1756
+ * <p>Information about a <code>PrimitiveMessage</code> using a ROS 2 compliant primitive type message of the complex data structure.</p>
1757
+ */
1758
+ interface Ros2PrimitiveMessageDefinitionMember {
1759
+ ros2PrimitiveMessageDefinition: ROS2PrimitiveMessageDefinition;
1760
+ $unknown?: never;
1761
+ }
1762
+ /**
1763
+ * @public
1764
+ */
1765
+ interface $UnknownMember {
1766
+ ros2PrimitiveMessageDefinition?: never;
1767
+ $unknown: [string, any];
1768
+ }
1769
+ interface Visitor<T> {
1770
+ ros2PrimitiveMessageDefinition: (value: ROS2PrimitiveMessageDefinition) => T;
1771
+ _: (name: string, value: any) => T;
1772
+ }
1773
+ const visit: <T>(value: PrimitiveMessageDefinition, visitor: Visitor<T>) => T;
1652
1774
  }
1775
+ /**
1776
+ * @public
1777
+ * @enum
1778
+ */
1779
+ export declare const StructuredMessageListType: {
1780
+ readonly DYNAMIC_BOUNDED_CAPACITY: "DYNAMIC_BOUNDED_CAPACITY";
1781
+ readonly DYNAMIC_UNBOUNDED_CAPACITY: "DYNAMIC_UNBOUNDED_CAPACITY";
1782
+ readonly FIXED_CAPACITY: "FIXED_CAPACITY";
1783
+ };
1784
+ /**
1785
+ * @public
1786
+ */
1787
+ export type StructuredMessageListType = (typeof StructuredMessageListType)[keyof typeof StructuredMessageListType];
1653
1788
  /**
1654
1789
  * @public
1655
1790
  * <p>Information about signal messages using the on-board diagnostics (OBD) II protocol in
@@ -1708,81 +1843,14 @@ export interface ObdSignal {
1708
1843
  */
1709
1844
  export declare const SignalDecoderType: {
1710
1845
  readonly CAN_SIGNAL: "CAN_SIGNAL";
1846
+ readonly CUSTOMER_DECODED_SIGNAL: "CUSTOMER_DECODED_SIGNAL";
1847
+ readonly MESSAGE_SIGNAL: "MESSAGE_SIGNAL";
1711
1848
  readonly OBD_SIGNAL: "OBD_SIGNAL";
1712
1849
  };
1713
1850
  /**
1714
1851
  * @public
1715
1852
  */
1716
1853
  export type SignalDecoderType = (typeof SignalDecoderType)[keyof typeof SignalDecoderType];
1717
- /**
1718
- * @public
1719
- * <p>Information about a signal decoder.</p>
1720
- */
1721
- export interface SignalDecoder {
1722
- /**
1723
- * @public
1724
- * <p>The fully qualified name of a signal decoder as defined in a vehicle model.</p>
1725
- */
1726
- fullyQualifiedName: string | undefined;
1727
- /**
1728
- * @public
1729
- * <p>The network protocol for the vehicle. For example, <code>CAN_SIGNAL</code> specifies
1730
- * a protocol that defines how data is communicated between electronic control units
1731
- * (ECUs). <code>OBD_SIGNAL</code> specifies a protocol that defines how self-diagnostic
1732
- * data is communicated between ECUs.</p>
1733
- */
1734
- type: SignalDecoderType | undefined;
1735
- /**
1736
- * @public
1737
- * <p>The ID of a network interface that specifies what network protocol a vehicle follows.</p>
1738
- */
1739
- interfaceId: string | undefined;
1740
- /**
1741
- * @public
1742
- * <p>Information about signal decoder using the Controller Area Network (CAN) protocol.</p>
1743
- */
1744
- canSignal?: CanSignal;
1745
- /**
1746
- * @public
1747
- * <p>Information about signal decoder using the On-board diagnostic (OBD) II protocol.</p>
1748
- */
1749
- obdSignal?: ObdSignal;
1750
- }
1751
- /**
1752
- * @public
1753
- */
1754
- export interface CreateDecoderManifestRequest {
1755
- /**
1756
- * @public
1757
- * <p> The unique name of the decoder manifest to create.</p>
1758
- */
1759
- name: string | undefined;
1760
- /**
1761
- * @public
1762
- * <p> A brief description of the decoder manifest. </p>
1763
- */
1764
- description?: string;
1765
- /**
1766
- * @public
1767
- * <p> The Amazon Resource Name (ARN) of the vehicle model (model manifest). </p>
1768
- */
1769
- modelManifestArn: string | undefined;
1770
- /**
1771
- * @public
1772
- * <p> A list of information about signal decoders. </p>
1773
- */
1774
- signalDecoders?: SignalDecoder[];
1775
- /**
1776
- * @public
1777
- * <p> A list of information about available network interfaces. </p>
1778
- */
1779
- networkInterfaces?: NetworkInterface[];
1780
- /**
1781
- * @public
1782
- * <p>Metadata that can be used to manage the decoder manifest.</p>
1783
- */
1784
- tags?: Tag[];
1785
- }
1786
1854
  /**
1787
1855
  * @public
1788
1856
  */
@@ -1805,10 +1873,12 @@ export interface CreateDecoderManifestResponse {
1805
1873
  export declare const NetworkInterfaceFailureReason: {
1806
1874
  readonly CAN_NETWORK_INTERFACE_INFO_IS_NULL: "CAN_NETWORK_INTERFACE_INFO_IS_NULL";
1807
1875
  readonly CONFLICTING_NETWORK_INTERFACE: "CONFLICTING_NETWORK_INTERFACE";
1876
+ readonly CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL: "CUSTOMER_DECODED_SIGNAL_NETWORK_INTERFACE_INFO_IS_NULL";
1808
1877
  readonly DUPLICATE_INTERFACE: "DUPLICATE_NETWORK_INTERFACE";
1809
1878
  readonly NETWORK_INTERFACE_TO_ADD_ALREADY_EXISTS: "NETWORK_INTERFACE_TO_ADD_ALREADY_EXISTS";
1810
1879
  readonly NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS: "NETWORK_INTERFACE_TO_REMOVE_ASSOCIATED_WITH_SIGNALS";
1811
1880
  readonly OBD_NETWORK_INTERFACE_INFO_IS_NULL: "OBD_NETWORK_INTERFACE_INFO_IS_NULL";
1881
+ readonly VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL: "VEHICLE_MIDDLEWARE_NETWORK_INTERFACE_INFO_IS_NULL";
1812
1882
  };
1813
1883
  /**
1814
1884
  * @public
@@ -1837,13 +1907,20 @@ export interface InvalidNetworkInterface {
1837
1907
  export declare const SignalDecoderFailureReason: {
1838
1908
  readonly CAN_SIGNAL_INFO_IS_NULL: "CAN_SIGNAL_INFO_IS_NULL";
1839
1909
  readonly CONFLICTING_SIGNAL: "CONFLICTING_SIGNAL";
1910
+ readonly CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL: "CUSTOMER_DECODED_SIGNAL_INFO_IS_NULL";
1840
1911
  readonly DUPLICATE_SIGNAL: "DUPLICATE_SIGNAL";
1912
+ readonly EMPTY_MESSAGE_SIGNAL: "EMPTY_MESSAGE_SIGNAL";
1913
+ readonly MESSAGE_SIGNAL_INFO_IS_NULL: "MESSAGE_SIGNAL_INFO_IS_NULL";
1841
1914
  readonly NETWORK_INTERFACE_TYPE_INCOMPATIBLE_WITH_SIGNAL_DECODER_TYPE: "NETWORK_INTERFACE_TYPE_INCOMPATIBLE_WITH_SIGNAL_DECODER_TYPE";
1842
1915
  readonly NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL: "NO_DECODER_INFO_FOR_SIGNAL_IN_MODEL";
1916
+ readonly NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL: "NO_SIGNAL_IN_CATALOG_FOR_DECODER_SIGNAL";
1843
1917
  readonly OBD_SIGNAL_INFO_IS_NULL: "OBD_SIGNAL_INFO_IS_NULL";
1918
+ readonly SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG: "SIGNAL_DECODER_INCOMPATIBLE_WITH_SIGNAL_CATALOG";
1919
+ readonly SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE: "SIGNAL_DECODER_TYPE_INCOMPATIBLE_WITH_MESSAGE_SIGNAL_TYPE";
1844
1920
  readonly SIGNAL_NOT_ASSOCIATED_WITH_NETWORK_INTERFACE: "SIGNAL_NOT_ASSOCIATED_WITH_NETWORK_INTERFACE";
1845
1921
  readonly SIGNAL_NOT_IN_MODEL: "SIGNAL_NOT_IN_MODEL";
1846
1922
  readonly SIGNAL_TO_ADD_ALREADY_EXISTS: "SIGNAL_TO_ADD_ALREADY_EXISTS";
1923
+ readonly STRUCT_SIZE_MISMATCH: "STRUCT_SIZE_MISMATCH";
1847
1924
  };
1848
1925
  /**
1849
1926
  * @public
@@ -1864,6 +1941,11 @@ export interface InvalidSignalDecoder {
1864
1941
  * <p>A message about why the signal decoder isn't valid.</p>
1865
1942
  */
1866
1943
  reason?: SignalDecoderFailureReason;
1944
+ /**
1945
+ * @public
1946
+ * <p>The possible cause for the invalid signal decoder.</p>
1947
+ */
1948
+ hint?: string;
1867
1949
  }
1868
1950
  /**
1869
1951
  * @public
@@ -2005,13 +2087,66 @@ export declare class InvalidSignalsException extends __BaseException {
2005
2087
  */
2006
2088
  constructor(opts: __ExceptionOptionType<InvalidSignalsException, __BaseException>);
2007
2089
  }
2090
+ /**
2091
+ * @public
2092
+ * @enum
2093
+ */
2094
+ export declare const NodeDataEncoding: {
2095
+ readonly BINARY: "BINARY";
2096
+ readonly TYPED: "TYPED";
2097
+ };
2098
+ /**
2099
+ * @public
2100
+ */
2101
+ export type NodeDataEncoding = (typeof NodeDataEncoding)[keyof typeof NodeDataEncoding];
2102
+ /**
2103
+ * @public
2104
+ * <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>
2105
+ */
2106
+ export interface CustomProperty {
2107
+ /**
2108
+ * @public
2109
+ * <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>
2110
+ */
2111
+ fullyQualifiedName: string | undefined;
2112
+ /**
2113
+ * @public
2114
+ * <p>The data type for the custom property. </p>
2115
+ */
2116
+ dataType: NodeDataType | undefined;
2117
+ /**
2118
+ * @public
2119
+ * <p>Indicates whether the property is binary data.</p>
2120
+ */
2121
+ dataEncoding?: NodeDataEncoding;
2122
+ /**
2123
+ * @public
2124
+ * <p>A brief description of the custom property.</p>
2125
+ */
2126
+ description?: string;
2127
+ /**
2128
+ * @public
2129
+ * <p>The deprecation message for the node or the branch that was moved or deleted.</p>
2130
+ */
2131
+ deprecationMessage?: string;
2132
+ /**
2133
+ * @public
2134
+ * <p>A comment in addition to the description.</p>
2135
+ */
2136
+ comment?: string;
2137
+ /**
2138
+ * @public
2139
+ * <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>
2140
+ */
2141
+ structFullyQualifiedName?: string;
2142
+ }
2008
2143
  /**
2009
2144
  * @public
2010
2145
  * <p>An input component that reports the environmental condition of a vehicle.</p>
2011
- * <note>
2146
+ * <note>
2012
2147
  * <p>You can collect data about fluid levels, temperatures, vibrations, or battery
2013
2148
  * voltage from sensors.</p>
2014
- * </note>
2149
+ * </note>
2015
2150
  */
2016
2151
  export interface Sensor {
2017
2152
  /**
@@ -2060,72 +2195,137 @@ export interface Sensor {
2060
2195
  * <p>A comment in addition to the description.</p>
2061
2196
  */
2062
2197
  comment?: string;
2198
+ /**
2199
+ * @public
2200
+ * <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>
2201
+ */
2202
+ structFullyQualifiedName?: string;
2063
2203
  }
2064
2204
  /**
2065
2205
  * @public
2066
- * <p>A general abstraction of a signal. A node can be specified as an actuator, attribute,
2067
- * branch, or sensor.</p>
2068
- */
2069
- export type Node = Node.ActuatorMember | Node.AttributeMember | Node.BranchMember | Node.SensorMember | Node.$UnknownMember;
2070
- /**
2071
- * @public
2206
+ * <p>The custom structure represents a complex or higher-order data structure.</p>
2072
2207
  */
2073
- export declare namespace Node {
2208
+ export interface CustomStruct {
2074
2209
  /**
2075
2210
  * @public
2076
- * <p>Information about a node specified as a branch.</p>
2077
- * <note>
2078
- * <p>A group of signals that are defined in a hierarchical structure.</p>
2079
- * </note>
2211
+ * <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>
2212
+ */
2213
+ fullyQualifiedName: string | undefined;
2214
+ /**
2215
+ * @public
2216
+ * <p>A brief description of the custom structure.</p>
2217
+ */
2218
+ description?: string;
2219
+ /**
2220
+ * @public
2221
+ * <p>The deprecation message for the node or the branch that was moved or deleted.</p>
2222
+ */
2223
+ deprecationMessage?: string;
2224
+ /**
2225
+ * @public
2226
+ * <p>A comment in addition to the description.</p>
2227
+ */
2228
+ comment?: string;
2229
+ }
2230
+ /**
2231
+ * @public
2232
+ * <p>A general abstraction of a signal. A node can be specified as an actuator, attribute,
2233
+ * branch, or sensor.</p>
2234
+ */
2235
+ export type Node = Node.ActuatorMember | Node.AttributeMember | Node.BranchMember | Node.PropertyMember | Node.SensorMember | Node.StructMember | Node.$UnknownMember;
2236
+ /**
2237
+ * @public
2238
+ */
2239
+ export declare namespace Node {
2240
+ /**
2241
+ * @public
2242
+ * <p>Information about a node specified as a branch.</p>
2243
+ * <note>
2244
+ * <p>A group of signals that are defined in a hierarchical structure.</p>
2245
+ * </note>
2080
2246
  */
2081
2247
  interface BranchMember {
2082
2248
  branch: Branch;
2083
2249
  sensor?: never;
2084
2250
  actuator?: never;
2085
2251
  attribute?: never;
2252
+ struct?: never;
2253
+ property?: never;
2086
2254
  $unknown?: never;
2087
2255
  }
2088
2256
  /**
2089
2257
  * @public
2090
2258
  * <p>An input component that reports the environmental condition of a vehicle.</p>
2091
- * <note>
2259
+ * <note>
2092
2260
  * <p>You can collect data about fluid levels, temperatures, vibrations, or battery
2093
2261
  * voltage from sensors.</p>
2094
- * </note>
2262
+ * </note>
2095
2263
  */
2096
2264
  interface SensorMember {
2097
2265
  branch?: never;
2098
2266
  sensor: Sensor;
2099
2267
  actuator?: never;
2100
2268
  attribute?: never;
2269
+ struct?: never;
2270
+ property?: never;
2101
2271
  $unknown?: never;
2102
2272
  }
2103
2273
  /**
2104
2274
  * @public
2105
2275
  * <p>Information about a node specified as an actuator.</p>
2106
- * <note>
2276
+ * <note>
2107
2277
  * <p>An actuator is a digital representation of a vehicle device.</p>
2108
- * </note>
2278
+ * </note>
2109
2279
  */
2110
2280
  interface ActuatorMember {
2111
2281
  branch?: never;
2112
2282
  sensor?: never;
2113
2283
  actuator: Actuator;
2114
2284
  attribute?: never;
2285
+ struct?: never;
2286
+ property?: never;
2115
2287
  $unknown?: never;
2116
2288
  }
2117
2289
  /**
2118
2290
  * @public
2119
2291
  * <p>Information about a node specified as an attribute.</p>
2120
- * <note>
2292
+ * <note>
2121
2293
  * <p>An attribute represents static information about a vehicle.</p>
2122
- * </note>
2294
+ * </note>
2123
2295
  */
2124
2296
  interface AttributeMember {
2125
2297
  branch?: never;
2126
2298
  sensor?: never;
2127
2299
  actuator?: never;
2128
2300
  attribute: Attribute;
2301
+ struct?: never;
2302
+ property?: never;
2303
+ $unknown?: never;
2304
+ }
2305
+ /**
2306
+ * @public
2307
+ * <p>Represents a complex or higher-order data structure.</p>
2308
+ */
2309
+ interface StructMember {
2310
+ branch?: never;
2311
+ sensor?: never;
2312
+ actuator?: never;
2313
+ attribute?: never;
2314
+ struct: CustomStruct;
2315
+ property?: never;
2316
+ $unknown?: never;
2317
+ }
2318
+ /**
2319
+ * @public
2320
+ * <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>
2321
+ */
2322
+ interface PropertyMember {
2323
+ branch?: never;
2324
+ sensor?: never;
2325
+ actuator?: never;
2326
+ attribute?: never;
2327
+ struct?: never;
2328
+ property: CustomProperty;
2129
2329
  $unknown?: never;
2130
2330
  }
2131
2331
  /**
@@ -2136,6 +2336,8 @@ export declare namespace Node {
2136
2336
  sensor?: never;
2137
2337
  actuator?: never;
2138
2338
  attribute?: never;
2339
+ struct?: never;
2340
+ property?: never;
2139
2341
  $unknown: [string, any];
2140
2342
  }
2141
2343
  interface Visitor<T> {
@@ -2143,6 +2345,8 @@ export declare namespace Node {
2143
2345
  sensor: (value: Sensor) => T;
2144
2346
  actuator: (value: Actuator) => T;
2145
2347
  attribute: (value: Attribute) => T;
2348
+ struct: (value: CustomStruct) => T;
2349
+ property: (value: CustomProperty) => T;
2146
2350
  _: (name: string, value: any) => T;
2147
2351
  }
2148
2352
  const visit: <T>(value: Node, visitor: Visitor<T>) => T;
@@ -2235,14 +2439,14 @@ export interface CreateVehicleRequest {
2235
2439
  * <p>Static information about a vehicle in a key-value pair. For example:
2236
2440
  * <code>"engineType"</code> : <code>"1.3 L R2"</code>
2237
2441
  * </p>
2238
- * <p>A campaign must include the keys (attribute names) in <code>dataExtraDimensions</code> for them to display in Amazon Timestream.</p>
2442
+ * <p>A campaign must include the keys (attribute names) in <code>dataExtraDimensions</code> for them to display in Amazon Timestream.</p>
2239
2443
  */
2240
2444
  attributes?: Record<string, string>;
2241
2445
  /**
2242
2446
  * @public
2243
2447
  * <p> An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an
2244
2448
  * existing Amazon Web Services IoT thing as a vehicle. </p>
2245
- * <p>Default: <code/>
2449
+ * <p>Default: <code/>
2246
2450
  * </p>
2247
2451
  */
2248
2452
  associationBehavior?: VehicleAssociationBehavior;
@@ -2314,6 +2518,8 @@ export interface GetDecoderManifestRequest {
2314
2518
  export declare const ManifestStatus: {
2315
2519
  readonly ACTIVE: "ACTIVE";
2316
2520
  readonly DRAFT: "DRAFT";
2521
+ readonly INVALID: "INVALID";
2522
+ readonly VALIDATING: "VALIDATING";
2317
2523
  };
2318
2524
  /**
2319
2525
  * @public
@@ -2361,6 +2567,11 @@ export interface GetDecoderManifestResponse {
2361
2567
  * <p> The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time). </p>
2362
2568
  */
2363
2569
  lastModificationTime: Date | undefined;
2570
+ /**
2571
+ * @public
2572
+ * <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>
2573
+ */
2574
+ message?: string;
2364
2575
  }
2365
2576
  /**
2366
2577
  * @public
@@ -2528,6 +2739,11 @@ export interface DecoderManifestSummary {
2528
2739
  * 1970 at midnight UTC time).</p>
2529
2740
  */
2530
2741
  lastModificationTime: Date | undefined;
2742
+ /**
2743
+ * @public
2744
+ * <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>
2745
+ */
2746
+ message?: string;
2531
2747
  }
2532
2748
  /**
2533
2749
  * @public
@@ -2565,77 +2781,6 @@ export interface ListDecoderManifestSignalsRequest {
2565
2781
  */
2566
2782
  maxResults?: number;
2567
2783
  }
2568
- /**
2569
- * @public
2570
- */
2571
- export interface ListDecoderManifestSignalsResponse {
2572
- /**
2573
- * @public
2574
- * <p> Information about a list of signals to decode. </p>
2575
- */
2576
- signalDecoders?: SignalDecoder[];
2577
- /**
2578
- * @public
2579
- * <p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>
2580
- */
2581
- nextToken?: string;
2582
- }
2583
- /**
2584
- * @public
2585
- */
2586
- export interface UpdateDecoderManifestRequest {
2587
- /**
2588
- * @public
2589
- * <p> The name of the decoder manifest to update.</p>
2590
- */
2591
- name: string | undefined;
2592
- /**
2593
- * @public
2594
- * <p> A brief description of the decoder manifest to update. </p>
2595
- */
2596
- description?: string;
2597
- /**
2598
- * @public
2599
- * <p> A list of information about decoding additional signals to add to the decoder
2600
- * manifest. </p>
2601
- */
2602
- signalDecodersToAdd?: SignalDecoder[];
2603
- /**
2604
- * @public
2605
- * <p> A list of updated information about decoding signals to update in the decoder
2606
- * manifest. </p>
2607
- */
2608
- signalDecodersToUpdate?: SignalDecoder[];
2609
- /**
2610
- * @public
2611
- * <p> A list of signal decoders to remove from the decoder manifest. </p>
2612
- */
2613
- signalDecodersToRemove?: string[];
2614
- /**
2615
- * @public
2616
- * <p> A list of information about the network interfaces to add to the decoder manifest.
2617
- * </p>
2618
- */
2619
- networkInterfacesToAdd?: NetworkInterface[];
2620
- /**
2621
- * @public
2622
- * <p> A list of information about the network interfaces to update in the decoder manifest.
2623
- * </p>
2624
- */
2625
- networkInterfacesToUpdate?: NetworkInterface[];
2626
- /**
2627
- * @public
2628
- * <p> A list of network interfaces to remove from the decoder manifest.</p>
2629
- */
2630
- networkInterfacesToRemove?: string[];
2631
- /**
2632
- * @public
2633
- * <p> The state of the decoder manifest. If the status is <code>ACTIVE</code>, the decoder
2634
- * manifest can't be edited. If the status is <code>DRAFT</code>, you can edit the decoder
2635
- * manifest. </p>
2636
- */
2637
- status?: ManifestStatus;
2638
- }
2639
2784
  /**
2640
2785
  * @public
2641
2786
  */
@@ -2898,7 +3043,7 @@ export interface ListFleetsRequest {
2898
3043
  /**
2899
3044
  * @public
2900
3045
  * <p>Information about a fleet.</p>
2901
- * <p>You can use the API operation to return this
3046
+ * <p>You can use the API operation to return this
2902
3047
  * information about multiple fleets.</p>
2903
3048
  */
2904
3049
  export interface FleetSummary {
@@ -3070,7 +3215,7 @@ export interface GetEncryptionConfigurationResponse {
3070
3215
  encryptionStatus: EncryptionStatus | undefined;
3071
3216
  /**
3072
3217
  * @public
3073
- * <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>
3218
+ * <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>
3074
3219
  */
3075
3220
  encryptionType: EncryptionType | undefined;
3076
3221
  /**
@@ -3250,19 +3395,19 @@ export interface GetRegisterAccountStatusResponse {
3250
3395
  * @public
3251
3396
  * <p> The status of registering your account and resources. The status can be one
3252
3397
  * of:</p>
3253
- * <ul>
3398
+ * <ul>
3254
3399
  * <li>
3255
- * <p>
3400
+ * <p>
3256
3401
  * <code>REGISTRATION_SUCCESS</code> - The Amazon Web Services resource is successfully
3257
3402
  * registered.</p>
3258
3403
  * </li>
3259
3404
  * <li>
3260
- * <p>
3405
+ * <p>
3261
3406
  * <code>REGISTRATION_PENDING</code> - Amazon Web Services IoT FleetWise is processing the registration
3262
3407
  * request. This process takes approximately five minutes to complete.</p>
3263
3408
  * </li>
3264
3409
  * <li>
3265
- * <p>
3410
+ * <p>
3266
3411
  * <code>REGISTRATION_FAILURE</code> - Amazon Web Services IoT FleetWise can't register the AWS resource.
3267
3412
  * Try again later.</p>
3268
3413
  * </li>
@@ -3332,6 +3477,16 @@ export interface NodeCounts {
3332
3477
  * <p>The total number of nodes in a vehicle network that represent actuators.</p>
3333
3478
  */
3334
3479
  totalActuators?: number;
3480
+ /**
3481
+ * @public
3482
+ * <p>The total structure for the node.</p>
3483
+ */
3484
+ totalStructs?: number;
3485
+ /**
3486
+ * @public
3487
+ * <p>The total properties for the node.</p>
3488
+ */
3489
+ totalProperties?: number;
3335
3490
  }
3336
3491
  /**
3337
3492
  * @public
@@ -3405,7 +3560,7 @@ export interface GetVehicleResponse {
3405
3560
  /**
3406
3561
  * @public
3407
3562
  * <p>Static information about a vehicle in a key-value pair. For example:</p>
3408
- * <p>
3563
+ * <p>
3409
3564
  * <code>"engineType"</code> : <code>"1.3 L R2"</code>
3410
3565
  * </p>
3411
3566
  */
@@ -3476,28 +3631,28 @@ export interface VehicleStatus {
3476
3631
  /**
3477
3632
  * @public
3478
3633
  * <p>The state of a vehicle, which can be one of the following:</p>
3479
- * <ul>
3634
+ * <ul>
3480
3635
  * <li>
3481
- * <p>
3482
- * <code>CREATED</code> - Amazon Web Services IoT FleetWise sucessfully created the vehicle. </p>
3636
+ * <p>
3637
+ * <code>CREATED</code> - Amazon Web Services IoT FleetWise sucessfully created the vehicle. </p>
3483
3638
  * </li>
3484
3639
  * <li>
3485
- * <p>
3486
- * <code>READY</code> - The vehicle is ready to receive a campaign deployment.
3640
+ * <p>
3641
+ * <code>READY</code> - The vehicle is ready to receive a campaign deployment.
3487
3642
  * </p>
3488
3643
  * </li>
3489
3644
  * <li>
3490
- * <p>
3491
- * <code>HEALTHY</code> - A campaign deployment was delivered to the vehicle.
3645
+ * <p>
3646
+ * <code>HEALTHY</code> - A campaign deployment was delivered to the vehicle.
3492
3647
  * </p>
3493
3648
  * </li>
3494
3649
  * <li>
3495
- * <p>
3496
- * <code>SUSPENDED</code> - A campaign associated with the vehicle was suspended
3650
+ * <p>
3651
+ * <code>SUSPENDED</code> - A campaign associated with the vehicle was suspended
3497
3652
  * and data collection was paused. </p>
3498
3653
  * </li>
3499
3654
  * <li>
3500
- * <p>
3655
+ * <p>
3501
3656
  * <code>DELETING</code> - Amazon Web Services IoT FleetWise is removing a campaign from the vehicle.
3502
3657
  * </p>
3503
3658
  * </li>
@@ -3524,7 +3679,7 @@ export interface GetVehicleStatusResponse {
3524
3679
  * @public
3525
3680
  * <p>The IAM resource that enables Amazon Web Services IoT FleetWise edge agent software to send data to
3526
3681
  * Amazon Timestream. </p>
3527
- * <p>For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html">IAM roles</a> in the
3682
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html">IAM roles</a> in the
3528
3683
  * <i>Identity and Access Management User Guide</i>.</p>
3529
3684
  */
3530
3685
  export interface IamResources {
@@ -4091,7 +4246,7 @@ export interface ListVehiclesRequest {
4091
4246
  /**
4092
4247
  * @public
4093
4248
  * <p>Information about a vehicle.</p>
4094
- * <p>To return this information about vehicles in your account, you can use the API operation.</p>
4249
+ * <p>To return this information about vehicles in your account, you can use the API operation.</p>
4095
4250
  */
4096
4251
  export interface VehicleSummary {
4097
4252
  /**
@@ -4162,7 +4317,7 @@ export interface UpdateVehicleRequest {
4162
4317
  /**
4163
4318
  * @public
4164
4319
  * <p>Static information about a vehicle in a key-value pair. For example:</p>
4165
- * <p>
4320
+ * <p>
4166
4321
  * <code>"engineType"</code> : <code>"1.3 L R2"</code>
4167
4322
  * </p>
4168
4323
  */
@@ -4172,7 +4327,7 @@ export interface UpdateVehicleRequest {
4172
4327
  * <p>The method the specified attributes will update the existing attributes on the
4173
4328
  * vehicle. Use<code>Overwite</code> to replace the vehicle attributes with the specified
4174
4329
  * attributes. Or use <code>Merge</code> to combine all attributes.</p>
4175
- * <p>This is required if attributes are present in the input.</p>
4330
+ * <p>This is required if attributes are present in the input.</p>
4176
4331
  */
4177
4332
  attributeUpdateMode?: UpdateMode;
4178
4333
  }
@@ -4191,3 +4346,262 @@ export interface UpdateVehicleResponse {
4191
4346
  */
4192
4347
  arn?: string;
4193
4348
  }
4349
+ /**
4350
+ * @public
4351
+ * <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>
4352
+ */
4353
+ export type StructuredMessage = StructuredMessage.PrimitiveMessageDefinitionMember | StructuredMessage.StructuredMessageDefinitionMember | StructuredMessage.StructuredMessageListDefinitionMember | StructuredMessage.$UnknownMember;
4354
+ /**
4355
+ * @public
4356
+ */
4357
+ export declare namespace StructuredMessage {
4358
+ /**
4359
+ * @public
4360
+ * <p>Represents a primitive type node of the complex data structure.</p>
4361
+ */
4362
+ interface PrimitiveMessageDefinitionMember {
4363
+ primitiveMessageDefinition: PrimitiveMessageDefinition;
4364
+ structuredMessageListDefinition?: never;
4365
+ structuredMessageDefinition?: never;
4366
+ $unknown?: never;
4367
+ }
4368
+ /**
4369
+ * @public
4370
+ * <p>Represents a list type node of the complex data structure.</p>
4371
+ */
4372
+ interface StructuredMessageListDefinitionMember {
4373
+ primitiveMessageDefinition?: never;
4374
+ structuredMessageListDefinition: StructuredMessageListDefinition;
4375
+ structuredMessageDefinition?: never;
4376
+ $unknown?: never;
4377
+ }
4378
+ /**
4379
+ * @public
4380
+ * <p>Represents a struct type node of the complex data structure.</p>
4381
+ */
4382
+ interface StructuredMessageDefinitionMember {
4383
+ primitiveMessageDefinition?: never;
4384
+ structuredMessageListDefinition?: never;
4385
+ structuredMessageDefinition: StructuredMessageFieldNameAndDataTypePair[];
4386
+ $unknown?: never;
4387
+ }
4388
+ /**
4389
+ * @public
4390
+ */
4391
+ interface $UnknownMember {
4392
+ primitiveMessageDefinition?: never;
4393
+ structuredMessageListDefinition?: never;
4394
+ structuredMessageDefinition?: never;
4395
+ $unknown: [string, any];
4396
+ }
4397
+ interface Visitor<T> {
4398
+ primitiveMessageDefinition: (value: PrimitiveMessageDefinition) => T;
4399
+ structuredMessageListDefinition: (value: StructuredMessageListDefinition) => T;
4400
+ structuredMessageDefinition: (value: StructuredMessageFieldNameAndDataTypePair[]) => T;
4401
+ _: (name: string, value: any) => T;
4402
+ }
4403
+ const visit: <T>(value: StructuredMessage, visitor: Visitor<T>) => T;
4404
+ }
4405
+ /**
4406
+ * @public
4407
+ * <p>Represents a <code>StructureMessageName</code> to <code>DataType</code> map element.</p>
4408
+ */
4409
+ export interface StructuredMessageFieldNameAndDataTypePair {
4410
+ /**
4411
+ * @public
4412
+ * <p>The field name of the structured message. It determines how a data value is referenced in the target language. </p>
4413
+ */
4414
+ fieldName: string | undefined;
4415
+ /**
4416
+ * @public
4417
+ * <p>The data type. </p>
4418
+ */
4419
+ dataType: StructuredMessage | undefined;
4420
+ }
4421
+ /**
4422
+ * @public
4423
+ * <p>Represents a list type node of the complex data structure.</p>
4424
+ */
4425
+ export interface StructuredMessageListDefinition {
4426
+ /**
4427
+ * @public
4428
+ * <p>The name of the structured message list definition. </p>
4429
+ */
4430
+ name: string | undefined;
4431
+ /**
4432
+ * @public
4433
+ * <p>The member type of the structured message list definition.</p>
4434
+ */
4435
+ memberType: StructuredMessage | undefined;
4436
+ /**
4437
+ * @public
4438
+ * <p>The type of list of the structured message list definition.</p>
4439
+ */
4440
+ listType: StructuredMessageListType | undefined;
4441
+ /**
4442
+ * @public
4443
+ * <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>
4444
+ */
4445
+ capacity?: number;
4446
+ }
4447
+ /**
4448
+ * @public
4449
+ * <p>The decoding information for a specific message which support higher order data types. </p>
4450
+ */
4451
+ export interface MessageSignal {
4452
+ /**
4453
+ * @public
4454
+ * <p>The topic name for the message signal. It corresponds to topics in ROS 2. </p>
4455
+ */
4456
+ topicName: string | undefined;
4457
+ /**
4458
+ * @public
4459
+ * <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>
4460
+ */
4461
+ structuredMessage: StructuredMessage | undefined;
4462
+ }
4463
+ /**
4464
+ * @public
4465
+ * <p>Information about a signal decoder.</p>
4466
+ */
4467
+ export interface SignalDecoder {
4468
+ /**
4469
+ * @public
4470
+ * <p>The fully qualified name of a signal decoder as defined in a vehicle model.</p>
4471
+ */
4472
+ fullyQualifiedName: string | undefined;
4473
+ /**
4474
+ * @public
4475
+ * <p>The network protocol for the vehicle. For example, <code>CAN_SIGNAL</code> specifies
4476
+ * a protocol that defines how data is communicated between electronic control units
4477
+ * (ECUs). <code>OBD_SIGNAL</code> specifies a protocol that defines how self-diagnostic
4478
+ * data is communicated between ECUs.</p>
4479
+ */
4480
+ type: SignalDecoderType | undefined;
4481
+ /**
4482
+ * @public
4483
+ * <p>The ID of a network interface that specifies what network protocol a vehicle follows.</p>
4484
+ */
4485
+ interfaceId: string | undefined;
4486
+ /**
4487
+ * @public
4488
+ * <p>Information about signal decoder using the Controller Area Network (CAN) protocol.</p>
4489
+ */
4490
+ canSignal?: CanSignal;
4491
+ /**
4492
+ * @public
4493
+ * <p>Information about signal decoder using the On-board diagnostic (OBD) II protocol.</p>
4494
+ */
4495
+ obdSignal?: ObdSignal;
4496
+ /**
4497
+ * @public
4498
+ * <p>The decoding information for a specific message which supports higher order data types. </p>
4499
+ */
4500
+ messageSignal?: MessageSignal;
4501
+ }
4502
+ /**
4503
+ * @public
4504
+ */
4505
+ export interface CreateDecoderManifestRequest {
4506
+ /**
4507
+ * @public
4508
+ * <p> The unique name of the decoder manifest to create.</p>
4509
+ */
4510
+ name: string | undefined;
4511
+ /**
4512
+ * @public
4513
+ * <p> A brief description of the decoder manifest. </p>
4514
+ */
4515
+ description?: string;
4516
+ /**
4517
+ * @public
4518
+ * <p> The Amazon Resource Name (ARN) of the vehicle model (model manifest). </p>
4519
+ */
4520
+ modelManifestArn: string | undefined;
4521
+ /**
4522
+ * @public
4523
+ * <p> A list of information about signal decoders. </p>
4524
+ */
4525
+ signalDecoders?: SignalDecoder[];
4526
+ /**
4527
+ * @public
4528
+ * <p> A list of information about available network interfaces. </p>
4529
+ */
4530
+ networkInterfaces?: NetworkInterface[];
4531
+ /**
4532
+ * @public
4533
+ * <p>Metadata that can be used to manage the decoder manifest.</p>
4534
+ */
4535
+ tags?: Tag[];
4536
+ }
4537
+ /**
4538
+ * @public
4539
+ */
4540
+ export interface ListDecoderManifestSignalsResponse {
4541
+ /**
4542
+ * @public
4543
+ * <p> Information about a list of signals to decode. </p>
4544
+ */
4545
+ signalDecoders?: SignalDecoder[];
4546
+ /**
4547
+ * @public
4548
+ * <p> The token to retrieve the next set of results, or <code>null</code> if there are no more results. </p>
4549
+ */
4550
+ nextToken?: string;
4551
+ }
4552
+ /**
4553
+ * @public
4554
+ */
4555
+ export interface UpdateDecoderManifestRequest {
4556
+ /**
4557
+ * @public
4558
+ * <p> The name of the decoder manifest to update.</p>
4559
+ */
4560
+ name: string | undefined;
4561
+ /**
4562
+ * @public
4563
+ * <p> A brief description of the decoder manifest to update. </p>
4564
+ */
4565
+ description?: string;
4566
+ /**
4567
+ * @public
4568
+ * <p> A list of information about decoding additional signals to add to the decoder
4569
+ * manifest. </p>
4570
+ */
4571
+ signalDecodersToAdd?: SignalDecoder[];
4572
+ /**
4573
+ * @public
4574
+ * <p> A list of updated information about decoding signals to update in the decoder
4575
+ * manifest. </p>
4576
+ */
4577
+ signalDecodersToUpdate?: SignalDecoder[];
4578
+ /**
4579
+ * @public
4580
+ * <p> A list of signal decoders to remove from the decoder manifest. </p>
4581
+ */
4582
+ signalDecodersToRemove?: string[];
4583
+ /**
4584
+ * @public
4585
+ * <p> A list of information about the network interfaces to add to the decoder manifest.
4586
+ * </p>
4587
+ */
4588
+ networkInterfacesToAdd?: NetworkInterface[];
4589
+ /**
4590
+ * @public
4591
+ * <p> A list of information about the network interfaces to update in the decoder manifest.
4592
+ * </p>
4593
+ */
4594
+ networkInterfacesToUpdate?: NetworkInterface[];
4595
+ /**
4596
+ * @public
4597
+ * <p> A list of network interfaces to remove from the decoder manifest.</p>
4598
+ */
4599
+ networkInterfacesToRemove?: string[];
4600
+ /**
4601
+ * @public
4602
+ * <p> The state of the decoder manifest. If the status is <code>ACTIVE</code>, the decoder
4603
+ * manifest can't be edited. If the status is <code>DRAFT</code>, you can edit the decoder
4604
+ * manifest. </p>
4605
+ */
4606
+ status?: ManifestStatus;
4607
+ }