1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
import (
smithydocument "github.com/aws/smithy-go/document"
"time"
)
// A signal that represents a vehicle device such as the engine, heater, and door
// locks. Data from an actuator reports the state of a certain vehicle device.
// Updating actuator data can change the state of a device. For example, you can
// turn on or off the heater by updating its actuator data.
type Actuator struct {
// The specified data type of the actuator.
//
// This member is required.
DataType NodeDataType
// The fully qualified name of the actuator. For example, the fully qualified name
// of an actuator might be Vehicle.Front.Left.Door.Lock .
//
// This member is required.
FullyQualifiedName *string
// A list of possible values an actuator can take.
AllowedValues []string
// A specified value for the actuator.
//
// Deprecated: assignedValue is no longer in use
AssignedValue *string
// A comment in addition to the description.
Comment *string
// The deprecation message for the node or the branch that was moved or deleted.
DeprecationMessage *string
// A brief description of the actuator.
Description *string
// The specified possible maximum value of an actuator.
Max *float64
// The specified possible minimum value of an actuator.
Min *float64
// The fully qualified name of the struct node for the actuator if the data type
// of the actuator is Struct or StructArray . For example, the struct fully
// qualified name of an actuator might be Vehicle.Door.LockStruct .
StructFullyQualifiedName *string
// The scientific unit for the actuator.
Unit *string
noSmithyDocumentSerde
}
// A signal that represents static information about the vehicle, such as engine
// type or manufacturing date.
type Attribute struct {
// The specified data type of the attribute.
//
// This member is required.
DataType NodeDataType
// The fully qualified name of the attribute. For example, the fully qualified
// name of an attribute might be Vehicle.Body.Engine.Type .
//
// This member is required.
FullyQualifiedName *string
// A list of possible values an attribute can be assigned.
AllowedValues []string
// A specified value for the attribute.
//
// Deprecated: assignedValue is no longer in use
AssignedValue *string
// A comment in addition to the description.
Comment *string
// The default value of the attribute.
DefaultValue *string
// The deprecation message for the node or the branch that was moved or deleted.
DeprecationMessage *string
// A brief description of the attribute.
Description *string
// The specified possible maximum value of the attribute.
Max *float64
// The specified possible minimum value of the attribute.
Min *float64
// The scientific unit for the attribute.
Unit *string
noSmithyDocumentSerde
}
// A group of signals that are defined in a hierarchical structure.
type Branch struct {
// The fully qualified name of the branch. For example, the fully qualified name
// of a branch might be Vehicle.Body.Engine .
//
// This member is required.
FullyQualifiedName *string
// A comment in addition to the description.
Comment *string
// The deprecation message for the node or the branch that was moved or deleted.
DeprecationMessage *string
// A brief description of the branch.
Description *string
noSmithyDocumentSerde
}
// Information about a campaign. You can use the API operation to return this
// information about multiple created campaigns.
type CampaignSummary struct {
// The time the campaign was created.
//
// This member is required.
CreationTime *time.Time
// The last time the campaign was modified.
//
// This member is required.
LastModificationTime *time.Time
// The Amazon Resource Name (ARN) of a campaign.
Arn *string
// The description of the campaign.
Description *string
// The name of a campaign.
Name *string
// The ARN of the signal catalog associated with the campaign.
SignalCatalogArn *string
// The state of a campaign. The status can be one of the following:
// - CREATING - Amazon Web Services IoT FleetWise is processing your request to
// create the campaign.
// - WAITING_FOR_APPROVAL - After a campaign is created, it enters the
// WAITING_FOR_APPROVAL state. To allow Amazon Web Services IoT FleetWise to
// deploy the campaign to the target vehicle or fleet, use the API operation to
// approve the campaign.
// - RUNNING - The campaign is active.
// - SUSPENDED - The campaign is suspended. To resume the campaign, use the API
// operation.
Status CampaignStatus
// The ARN of a vehicle or fleet to which the campaign is deployed.
TargetArn *string
noSmithyDocumentSerde
}
// Configurations used to create a decoder manifest.
type CanDbcDefinition struct {
// A list of DBC files. You can upload only one DBC file for each network
// interface and specify up to five (inclusive) files in the list. The DBC file can
// be a maximum size of 200 MB.
//
// This member is required.
CanDbcFiles [][]byte
// Contains information about a network interface.
//
// This member is required.
NetworkInterface *string
// Pairs every signal specified in your vehicle model with a signal decoder.
SignalsMap map[string]string
noSmithyDocumentSerde
}
// A single controller area network (CAN) device interface.
type CanInterface struct {
// The unique name of the interface.
//
// This member is required.
Name *string
// The name of the communication protocol for the interface.
ProtocolName *string
// The version of the communication protocol for the interface.
ProtocolVersion *string
noSmithyDocumentSerde
}
// Information about a single controller area network (CAN) signal and the
// messages it receives and transmits.
type CanSignal struct {
// A multiplier used to decode the CAN message.
//
// This member is required.
Factor *float64
// Whether the byte ordering of a CAN message is big-endian.
//
// This member is required.
IsBigEndian bool
// Whether the message data is specified as a signed value.
//
// This member is required.
IsSigned bool
// How many bytes of data are in the message.
//
// This member is required.
Length int32
// The ID of the message.
//
// This member is required.
MessageId int32
// The offset used to calculate the signal value. Combined with factor, the
// calculation is value = raw_value * factor + offset .
//
// This member is required.
Offset *float64
// Indicates the beginning of the CAN signal. This should always be the least
// significant bit (LSB). This value might be different from the value in a DBC
// file. For little endian signals, startBit is the same value as in the DBC file.
// For big endian signals in a DBC file, the start bit is the most significant bit
// (MSB). You will have to calculate the LSB instead and pass it as the startBit .
//
// This member is required.
StartBit int32
// The name of the signal.
Name *string
noSmithyDocumentSerde
}
// The log delivery option to send data to Amazon CloudWatch Logs.
type CloudWatchLogDeliveryOptions struct {
// The type of log to send data to Amazon CloudWatch Logs.
//
// This member is required.
LogType LogType
// The Amazon CloudWatch Logs group the operation sends data to.
LogGroupName *string
noSmithyDocumentSerde
}
// Specifies what data to collect and how often or when to collect it.
//
// The following types satisfy this interface:
//
// CollectionSchemeMemberConditionBasedCollectionScheme
// CollectionSchemeMemberTimeBasedCollectionScheme
type CollectionScheme interface {
isCollectionScheme()
}
// Information about a collection scheme that uses a simple logical expression to
// recognize what data to collect.
type CollectionSchemeMemberConditionBasedCollectionScheme struct {
Value ConditionBasedCollectionScheme
noSmithyDocumentSerde
}
func (*CollectionSchemeMemberConditionBasedCollectionScheme) isCollectionScheme() {}
// Information about a collection scheme that uses a time period to decide how
// often to collect data.
type CollectionSchemeMemberTimeBasedCollectionScheme struct {
Value TimeBasedCollectionScheme
noSmithyDocumentSerde
}
func (*CollectionSchemeMemberTimeBasedCollectionScheme) isCollectionScheme() {}
// Information about a collection scheme that uses a simple logical expression to
// recognize what data to collect.
type ConditionBasedCollectionScheme struct {
// The logical expression used to recognize what data to collect. For example,
// $variable.Vehicle.OutsideAirTemperature >= 105.0 .
//
// This member is required.
Expression *string
// Specifies the version of the conditional expression language.
ConditionLanguageVersion *int32
// The minimum duration of time between two triggering events to collect data, in
// milliseconds. If a signal changes often, you might want to collect data at a
// slower rate.
MinimumTriggerIntervalMs *int64
// Whether to collect data for all triggering events ( ALWAYS ). Specify (
// RISING_EDGE ), or specify only when the condition first evaluates to false. For
// example, triggering on "AirbagDeployed"; Users aren't interested on triggering
// when the airbag is already exploded; they only care about the change from not
// deployed => deployed.
TriggerMode TriggerMode
noSmithyDocumentSerde
}
// An HTTP error resulting from creating a vehicle.
type CreateVehicleError struct {
// An HTTP error code.
Code *string
// A description of the HTTP error.
Message *string
// The ID of the vehicle with the error.
VehicleName *string
noSmithyDocumentSerde
}
// Information about the vehicle to create.
type CreateVehicleRequestItem struct {
// The Amazon Resource Name (ARN) of a decoder manifest associated with the
// vehicle to create.
//
// This member is required.
DecoderManifestArn *string
// The ARN of the vehicle model (model manifest) to create the vehicle from.
//
// This member is required.
ModelManifestArn *string
// The unique ID of the vehicle to create.
//
// This member is required.
VehicleName *string
// An option to create a new Amazon Web Services IoT thing when creating a
// vehicle, or to validate an existing thing as a vehicle.
AssociationBehavior VehicleAssociationBehavior
// Static information about a vehicle in a key-value pair. For example: "engine
// Type" : "v6"
Attributes map[string]string
// Metadata which can be used to manage the vehicle.
Tags []Tag
noSmithyDocumentSerde
}
// Information about a created vehicle.
type CreateVehicleResponseItem struct {
// The ARN of the created vehicle.
Arn *string
// The ARN of a created or validated Amazon Web Services IoT thing.
ThingArn *string
// The unique ID of the vehicle to create.
VehicleName *string
noSmithyDocumentSerde
}
// Represents a member of the complex data structure. The data type of the
// property can be either primitive or another struct .
type CustomProperty struct {
// The data type for the custom property.
//
// This member is required.
DataType NodeDataType
// The fully qualified name of the custom property. For example, the fully
// qualified name of a custom property might be
// ComplexDataTypes.VehicleDataTypes.SVMCamera.FPS .
//
// This member is required.
FullyQualifiedName *string
// A comment in addition to the description.
Comment *string
// Indicates whether the property is binary data.
DataEncoding NodeDataEncoding
// The deprecation message for the node or the branch that was moved or deleted.
DeprecationMessage *string
// A brief description of the custom property.
Description *string
// The fully qualified name of the struct node for the custom property if the data
// type of the custom property is Struct or StructArray .
StructFullyQualifiedName *string
noSmithyDocumentSerde
}
// The custom structure represents a complex or higher-order data structure.
type CustomStruct struct {
// The fully qualified name of the custom structure. For example, the fully
// qualified name of a custom structure might be
// ComplexDataTypes.VehicleDataTypes.SVMCamera .
//
// This member is required.
FullyQualifiedName *string
// A comment in addition to the description.
Comment *string
// The deprecation message for the node or the branch that was moved or deleted.
DeprecationMessage *string
// A brief description of the custom structure.
Description *string
noSmithyDocumentSerde
}
// 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.
//
// The following types satisfy this interface:
//
// DataDestinationConfigMemberS3Config
// DataDestinationConfigMemberTimestreamConfig
type DataDestinationConfig interface {
isDataDestinationConfig()
}
// The Amazon S3 bucket where the Amazon Web Services IoT FleetWise campaign sends
// data.
type DataDestinationConfigMemberS3Config struct {
Value S3Config
noSmithyDocumentSerde
}
func (*DataDestinationConfigMemberS3Config) isDataDestinationConfig() {}
// The Amazon Timestream table where the campaign sends data.
type DataDestinationConfigMemberTimestreamConfig struct {
Value TimestreamConfig
noSmithyDocumentSerde
}
func (*DataDestinationConfigMemberTimestreamConfig) isDataDestinationConfig() {}
// Information about a created decoder manifest. You can use the API operation to
// return this information about multiple decoder manifests.
type DecoderManifestSummary struct {
// The time the decoder manifest was created in seconds since epoch (January 1,
// 1970 at midnight UTC time).
//
// This member is required.
CreationTime *time.Time
// The time the decoder manifest was last updated in seconds since epoch (January
// 1, 1970 at midnight UTC time).
//
// This member is required.
LastModificationTime *time.Time
// The ARN of a vehicle model (model manifest) associated with the decoder
// manifest.
Arn *string
// A brief description of the decoder manifest.
Description *string
// The detailed message for the decoder manifest. When a decoder manifest is in an
// INVALID status, the message contains detailed reason and help information.
Message *string
// The ARN of a vehicle model (model manifest) associated with the decoder
// manifest.
ModelManifestArn *string
// The name of the decoder manifest.
Name *string
// The state of the decoder manifest. If the status is ACTIVE , the decoder
// manifest can't be edited. If the status is marked DRAFT , you can edit the
// decoder manifest.
Status ManifestStatus
noSmithyDocumentSerde
}
// Information about a fleet. You can use the API operation to return this
// information about multiple fleets.
type FleetSummary struct {
// The Amazon Resource Name (ARN) of the fleet.
//
// This member is required.
Arn *string
// The time the fleet was created, in seconds since epoch (January 1, 1970 at
// midnight UTC time).
//
// This member is required.
CreationTime *time.Time
// The unique ID of the fleet.
//
// This member is required.
Id *string
// The ARN of the signal catalog associated with the fleet.
//
// This member is required.
SignalCatalogArn *string
// A brief description of the fleet.
Description *string
// The time the fleet was last updated in seconds since epoch (January 1, 1970 at
// midnight UTC time).
LastModificationTime *time.Time
noSmithyDocumentSerde
}
// Vehicle Signal Specification (VSS) (https://www.w3.org/auto/wg/wiki/Vehicle_Signal_Specification_(VSS)/Vehicle_Data_Spec)
// is a precise language used to describe and model signals in vehicle networks.
// The JSON file collects signal specificiations in a VSS format.
//
// The following types satisfy this interface:
//
// FormattedVssMemberVssJson
type FormattedVss interface {
isFormattedVss()
}
// Provides the VSS in JSON format.
type FormattedVssMemberVssJson struct {
Value string
noSmithyDocumentSerde
}
func (*FormattedVssMemberVssJson) isFormattedVss() {}
// Information about registering an Identity and Access Management (IAM) resource
// so Amazon Web Services IoT FleetWise edge agent software can transfer your
// vehicle data to Amazon Timestream.
type IamRegistrationResponse struct {
// The status of registering your IAM resource. The status can be one of
// REGISTRATION_SUCCESS , REGISTRATION_PENDING , REGISTRATION_FAILURE .
//
// This member is required.
RegistrationStatus RegistrationStatus
// The Amazon Resource Name (ARN) of the IAM role to register.
//
// This member is required.
RoleArn *string
// A message associated with a registration error.
ErrorMessage *string
noSmithyDocumentSerde
}
// The IAM resource that enables Amazon Web Services IoT FleetWise edge agent
// software to send data to Amazon Timestream. For more information, see IAM roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)
// in the Identity and Access Management User Guide.
type IamResources struct {
// The Amazon Resource Name (ARN) of the IAM resource that allows Amazon Web
// Services IoT FleetWise to send data to Amazon Timestream. For example,
// arn:aws:iam::123456789012:role/SERVICE-ROLE-ARN .
//
// This member is required.
RoleArn *string
noSmithyDocumentSerde
}
// A reason a vehicle network interface isn't valid.
type InvalidNetworkInterface struct {
// The ID of the interface that isn't valid.
InterfaceId *string
// A message about why the interface isn't valid.
Reason NetworkInterfaceFailureReason
noSmithyDocumentSerde
}
// A reason that a signal isn't valid.
type InvalidSignal struct {
// The name of the signal that isn't valid.
Name *string
// A message about why the signal isn't valid.
Reason *string
noSmithyDocumentSerde
}
// A reason that a signal decoder isn't valid.
type InvalidSignalDecoder struct {
// The possible cause for the invalid signal decoder.
Hint *string
// The name of a signal decoder that isn't valid.
Name *string
// A message about why the signal decoder isn't valid.
Reason SignalDecoderFailureReason
noSmithyDocumentSerde
}
// The decoding information for a specific message which support higher order data
// types.
type MessageSignal struct {
// The structured message for the message signal. It can be defined with either a
// primitiveMessageDefinition , structuredMessageListDefinition , or
// structuredMessageDefinition recursively.
//
// This member is required.
StructuredMessage StructuredMessage
// The topic name for the message signal. It corresponds to topics in ROS 2.
//
// This member is required.
TopicName *string
noSmithyDocumentSerde
}
// Information about a vehicle model (model manifest). You can use the API
// operation to return this information about multiple vehicle models.
type ModelManifestSummary struct {
// The time the vehicle model was created, in seconds since epoch (January 1, 1970
// at midnight UTC time).
//
// This member is required.
CreationTime *time.Time
// The time the vehicle model was last updated, in seconds since epoch (January 1,
// 1970 at midnight UTC time).
//
// This member is required.
LastModificationTime *time.Time
// The Amazon Resource Name (ARN) of the vehicle model.
Arn *string
// A brief description of the vehicle model.
Description *string
// The name of the vehicle model.
Name *string
// The ARN of the signal catalog associated with the vehicle model.
SignalCatalogArn *string
// The state of the vehicle model. If the status is ACTIVE , the vehicle model
// can't be edited. If the status is DRAFT , you can edit the vehicle model.
Status ManifestStatus
noSmithyDocumentSerde
}
// Specifications for defining a vehicle network.
//
// The following types satisfy this interface:
//
// NetworkFileDefinitionMemberCanDbc
type NetworkFileDefinition interface {
isNetworkFileDefinition()
}
// Information, including CAN DBC files, about the configurations used to create a
// decoder manifest.
type NetworkFileDefinitionMemberCanDbc struct {
Value CanDbcDefinition
noSmithyDocumentSerde
}
func (*NetworkFileDefinitionMemberCanDbc) isNetworkFileDefinition() {}
// Represents a node and its specifications in an in-vehicle communication
// network. All signal decoders must be associated with a network node. To return
// this information about all the network interfaces specified in a decoder
// manifest, use the API operation.
type NetworkInterface struct {
// The ID of the network interface.
//
// This member is required.
InterfaceId *string
// The network protocol for the vehicle. For example, CAN_SIGNAL specifies a
// protocol that defines how data is communicated between electronic control units
// (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data
// is communicated between ECUs.
//
// This member is required.
Type NetworkInterfaceType
// Information about a network interface specified by the Controller Area Network
// (CAN) protocol.
CanInterface *CanInterface
// Information about a network interface specified by the On-board diagnostic
// (OBD) II protocol.
ObdInterface *ObdInterface
// The vehicle middleware defined as a type of network interface. Examples of
// vehicle middleware include ROS2 and SOME/IP .
VehicleMiddleware *VehicleMiddleware
noSmithyDocumentSerde
}
// A general abstraction of a signal. A node can be specified as an actuator,
// attribute, branch, or sensor.
//
// The following types satisfy this interface:
//
// NodeMemberActuator
// NodeMemberAttribute
// NodeMemberBranch
// NodeMemberProperty
// NodeMemberSensor
// NodeMemberStruct
type Node interface {
isNode()
}
// Information about a node specified as an actuator. An actuator is a digital
// representation of a vehicle device.
type NodeMemberActuator struct {
Value Actuator
noSmithyDocumentSerde
}
func (*NodeMemberActuator) isNode() {}
// Information about a node specified as an attribute. An attribute represents
// static information about a vehicle.
type NodeMemberAttribute struct {
Value Attribute
noSmithyDocumentSerde
}
func (*NodeMemberAttribute) isNode() {}
// Information about a node specified as a branch. A group of signals that are
// defined in a hierarchical structure.
type NodeMemberBranch struct {
Value Branch
noSmithyDocumentSerde
}
func (*NodeMemberBranch) isNode() {}
// Represents a member of the complex data structure. The datatype of the property
// can be either primitive or another struct .
type NodeMemberProperty struct {
Value CustomProperty
noSmithyDocumentSerde
}
func (*NodeMemberProperty) isNode() {}
// An input component that reports the environmental condition of a vehicle. You
// can collect data about fluid levels, temperatures, vibrations, or battery
// voltage from sensors.
type NodeMemberSensor struct {
Value Sensor
noSmithyDocumentSerde
}
func (*NodeMemberSensor) isNode() {}
// Represents a complex or higher-order data structure.
type NodeMemberStruct struct {
Value CustomStruct
noSmithyDocumentSerde
}
func (*NodeMemberStruct) isNode() {}
// Information about the number of nodes and node types in a vehicle network.
type NodeCounts struct {
// The total number of nodes in a vehicle network that represent actuators.
TotalActuators int32
// The total number of nodes in a vehicle network that represent attributes.
TotalAttributes int32
// The total number of nodes in a vehicle network that represent branches.
TotalBranches int32
// The total number of nodes in a vehicle network.
TotalNodes int32
// The total properties for the node.
TotalProperties int32
// The total number of nodes in a vehicle network that represent sensors.
TotalSensors int32
// The total structure for the node.
TotalStructs int32
noSmithyDocumentSerde
}
// A network interface that specifies the On-board diagnostic (OBD) II network
// protocol.
type ObdInterface struct {
// The name of the interface.
//
// This member is required.
Name *string
// The ID of the message requesting vehicle data.
//
// This member is required.
RequestMessageId int32
// The maximum number message requests per diagnostic trouble code per second.
DtcRequestIntervalSeconds int32
// Whether the vehicle has a transmission control module (TCM).
HasTransmissionEcu bool
// The standard OBD II PID.
ObdStandard *string
// The maximum number message requests per second.
PidRequestIntervalSeconds int32
// Whether to use extended IDs in the message.
UseExtendedIds bool
noSmithyDocumentSerde
}
// Information about signal messages using the on-board diagnostics (OBD) II
// protocol in a vehicle.
type ObdSignal struct {
// The length of a message.
//
// This member is required.
ByteLength *int32
// The offset used to calculate the signal value. Combined with scaling, the
// calculation is value = raw_value * scaling + offset .
//
// This member is required.
Offset *float64
// The diagnostic code used to request data from a vehicle for this signal.
//
// This member is required.
Pid int32
// The length of the requested data.
//
// This member is required.
PidResponseLength *int32
// A multiplier used to decode the message.
//
// This member is required.
Scaling *float64
// The mode of operation (diagnostic service) in a message.
//
// This member is required.
ServiceMode int32
// Indicates the beginning of the message.
//
// This member is required.
StartByte int32
// The number of bits to mask in a message.
BitMaskLength *int32
// The number of positions to shift bits in the message.
BitRightShift int32
noSmithyDocumentSerde
}
// Represents a primitive type node of the complex data structure.
//
// The following types satisfy this interface:
//
// PrimitiveMessageDefinitionMemberRos2PrimitiveMessageDefinition
type PrimitiveMessageDefinition interface {
isPrimitiveMessageDefinition()
}
// Information about a PrimitiveMessage using a ROS 2 compliant primitive type
// message of the complex data structure.
type PrimitiveMessageDefinitionMemberRos2PrimitiveMessageDefinition struct {
Value ROS2PrimitiveMessageDefinition
noSmithyDocumentSerde
}
func (*PrimitiveMessageDefinitionMemberRos2PrimitiveMessageDefinition) isPrimitiveMessageDefinition() {
}
// Represents a ROS 2 compliant primitive type message of the complex data
// structure.
type ROS2PrimitiveMessageDefinition struct {
// The primitive type (integer, floating point, boolean, etc.) for the ROS 2
// primitive message definition.
//
// This member is required.
PrimitiveType ROS2PrimitiveType
// The offset used to calculate the signal value. Combined with scaling, the
// calculation is value = raw_value * scaling + offset .
Offset *float64
// A multiplier used to decode the message.
Scaling *float64
// An optional attribute specifying the upper bound for STRING and WSTRING .
UpperBound *int64
noSmithyDocumentSerde
}
// 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 Creating, configuring, and working with
// Amazon S3 buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html)
// in the Amazon Simple Storage Service User Guide.
type S3Config struct {
// The Amazon Resource Name (ARN) of the Amazon S3 bucket.
//
// This member is required.
BucketArn *string
// Specify the format that files are saved in the Amazon S3 bucket. You can save
// files in an Apache Parquet or JSON format.
// - Parquet - Store data in a columnar storage file format. Parquet is optimal
// for fast data retrieval and can reduce costs. This option is selected by
// default.
// - JSON - Store data in a standard text-based JSON file format.
DataFormat DataFormat
// (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 Organizing
// objects using prefixes (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)
// in the Amazon Simple Storage Service User Guide. By default, Amazon Web Services
// IoT FleetWise sets the prefix processed-data/year=YY/month=MM/date=DD/hour=HH/
// (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 vehicles , the
// prefix will be vehicles/processed-data/year=YY/month=MM/date=DD/hour=HH/ .
Prefix *string
// By default, stored data is compressed as a .gzip file. Compressed files have a
// reduced file size, which can optimize the cost of data storage.
StorageCompressionFormat StorageCompressionFormat
noSmithyDocumentSerde
}
// An input component that reports the environmental condition of a vehicle. You
// can collect data about fluid levels, temperatures, vibrations, or battery
// voltage from sensors.
type Sensor struct {
// The specified data type of the sensor.
//
// This member is required.
DataType NodeDataType
// The fully qualified name of the sensor. For example, the fully qualified name
// of a sensor might be Vehicle.Body.Engine.Battery .
//
// This member is required.
FullyQualifiedName *string
// A list of possible values a sensor can take.
AllowedValues []string
// A comment in addition to the description.
Comment *string
// The deprecation message for the node or the branch that was moved or deleted.
DeprecationMessage *string
// A brief description of a sensor.
Description *string
// The specified possible maximum value of the sensor.
Max *float64
// The specified possible minimum value of the sensor.
Min *float64
// The fully qualified name of the struct node for a sensor if the data type of
// the actuator is Struct or StructArray . For example, the struct fully qualified
// name of a sensor might be Vehicle.ADAS.CameraStruct .
StructFullyQualifiedName *string
// The scientific unit of measurement for data collected by the sensor.
Unit *string
noSmithyDocumentSerde
}
// Information about a collection of standardized signals, which can be
// attributes, branches, sensors, or actuators.
type SignalCatalogSummary struct {
// The Amazon Resource Name (ARN) of the signal catalog.
Arn *string
// The time the signal catalog was created in seconds since epoch (January 1, 1970
// at midnight UTC time).
CreationTime *time.Time
// The time the signal catalog was last updated in seconds since epoch (January 1,
// 1970 at midnight UTC time).
LastModificationTime *time.Time
// The name of the signal catalog.
Name *string
noSmithyDocumentSerde
}
// Information about a signal decoder.
type SignalDecoder struct {
// The fully qualified name of a signal decoder as defined in a vehicle model.
//
// This member is required.
FullyQualifiedName *string
// The ID of a network interface that specifies what network protocol a vehicle
// follows.
//
// This member is required.
InterfaceId *string
// The network protocol for the vehicle. For example, CAN_SIGNAL specifies a
// protocol that defines how data is communicated between electronic control units
// (ECUs). OBD_SIGNAL specifies a protocol that defines how self-diagnostic data
// is communicated between ECUs.
//
// This member is required.
Type SignalDecoderType
// Information about signal decoder using the Controller Area Network (CAN)
// protocol.
CanSignal *CanSignal
// The decoding information for a specific message which supports higher order
// data types.
MessageSignal *MessageSignal
// Information about signal decoder using the On-board diagnostic (OBD) II
// protocol.
ObdSignal *ObdSignal
noSmithyDocumentSerde
}
// Information about a signal.
type SignalInformation struct {
// The name of the signal.
//
// This member is required.
Name *string
// The maximum number of samples to collect.
MaxSampleCount *int64
// The minimum duration of time (in milliseconds) between two triggering events to
// collect data. If a signal changes often, you might want to collect data at a
// slower rate.
MinimumSamplingIntervalMs *int64
noSmithyDocumentSerde
}
// The structured message for the message signal. It can be defined with either a
// primitiveMessageDefinition , structuredMessageListDefinition , or
// structuredMessageDefinition recursively.
//
// The following types satisfy this interface:
//
// StructuredMessageMemberPrimitiveMessageDefinition
// StructuredMessageMemberStructuredMessageDefinition
// StructuredMessageMemberStructuredMessageListDefinition
type StructuredMessage interface {
isStructuredMessage()
}
// Represents a primitive type node of the complex data structure.
type StructuredMessageMemberPrimitiveMessageDefinition struct {
Value PrimitiveMessageDefinition
noSmithyDocumentSerde
}
func (*StructuredMessageMemberPrimitiveMessageDefinition) isStructuredMessage() {}
// Represents a struct type node of the complex data structure.
type StructuredMessageMemberStructuredMessageDefinition struct {
Value []StructuredMessageFieldNameAndDataTypePair
noSmithyDocumentSerde
}
func (*StructuredMessageMemberStructuredMessageDefinition) isStructuredMessage() {}
// Represents a list type node of the complex data structure.
type StructuredMessageMemberStructuredMessageListDefinition struct {
Value StructuredMessageListDefinition
noSmithyDocumentSerde
}
func (*StructuredMessageMemberStructuredMessageListDefinition) isStructuredMessage() {}
// Represents a StructureMessageName to DataType map element.
type StructuredMessageFieldNameAndDataTypePair struct {
// The data type.
//
// This member is required.
DataType StructuredMessage
// The field name of the structured message. It determines how a data value is
// referenced in the target language.
//
// This member is required.
FieldName *string
noSmithyDocumentSerde
}
// Represents a list type node of the complex data structure.
type StructuredMessageListDefinition struct {
// The type of list of the structured message list definition.
//
// This member is required.
ListType StructuredMessageListType
// The member type of the structured message list definition.
//
// This member is required.
MemberType StructuredMessage
// The name of the structured message list definition.
//
// This member is required.
Name *string
// The capacity of the structured message list definition when the list type is
// FIXED_CAPACITY or DYNAMIC_BOUNDED_CAPACITY .
Capacity int32
noSmithyDocumentSerde
}
// A set of key/value pairs that are used to manage the resource.
type Tag struct {
// The tag's key.
//
// This member is required.
Key *string
// The tag's value.
//
// This member is required.
Value *string
noSmithyDocumentSerde
}
// Information about a collection scheme that uses a time period to decide how
// often to collect data.
type TimeBasedCollectionScheme struct {
// The time period (in milliseconds) to decide how often to collect data. For
// example, if the time period is 60000 , the Edge Agent software collects data
// once every minute.
//
// This member is required.
PeriodMs *int64
noSmithyDocumentSerde
}
// 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 Data
// modeling (https://docs.aws.amazon.com/timestream/latest/developerguide/data-modeling.html)
// in the Amazon Timestream Developer Guide.
type TimestreamConfig struct {
// 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.
//
// This member is required.
ExecutionRoleArn *string
// The Amazon Resource Name (ARN) of the Amazon Timestream table.
//
// This member is required.
TimestreamTableArn *string
noSmithyDocumentSerde
}
// Information about the registered Amazon Timestream resources or errors, if any.
type TimestreamRegistrationResponse struct {
// The status of registering your Amazon Timestream resources. The status can be
// one of REGISTRATION_SUCCESS , REGISTRATION_PENDING , REGISTRATION_FAILURE .
//
// This member is required.
RegistrationStatus RegistrationStatus
// The name of the Timestream database.
//
// This member is required.
TimestreamDatabaseName *string
// The name of the Timestream database table.
//
// This member is required.
TimestreamTableName *string
// A message associated with a registration error.
ErrorMessage *string
// The Amazon Resource Name (ARN) of the Timestream database.
TimestreamDatabaseArn *string
// The ARN of the Timestream database table.
TimestreamTableArn *string
noSmithyDocumentSerde
}
// The registered Amazon Timestream resources that Amazon Web Services IoT
// FleetWise edge agent software can transfer your vehicle data to.
type TimestreamResources struct {
// The name of the registered Amazon Timestream database.
//
// This member is required.
TimestreamDatabaseName *string
// The name of the registered Amazon Timestream database table.
//
// This member is required.
TimestreamTableName *string
noSmithyDocumentSerde
}
// An HTTP error resulting from updating the description for a vehicle.
type UpdateVehicleError struct {
// The relevant HTTP error code (400+).
Code int32
// A message associated with the error.
Message *string
// The ID of the vehicle with the error.
VehicleName *string
noSmithyDocumentSerde
}
// Information about the vehicle to update.
type UpdateVehicleRequestItem struct {
// The unique ID of the vehicle to update.
//
// This member is required.
VehicleName *string
// The method the specified attributes will update the existing attributes on the
// vehicle. Use Overwite to replace the vehicle attributes with the specified
// attributes. Or use Merge to combine all attributes. This is required if
// attributes are present in the input.
AttributeUpdateMode UpdateMode
// Static information about a vehicle in a key-value pair. For example:
// "engineType" : "1.3 L R2"
Attributes map[string]string
// The ARN of the signal decoder manifest associated with the vehicle to update.
DecoderManifestArn *string
// The ARN of the vehicle model (model manifest) associated with the vehicle to
// update.
ModelManifestArn *string
noSmithyDocumentSerde
}
// Information about the updated vehicle.
type UpdateVehicleResponseItem struct {
// The Amazon Resource Name (ARN) of the updated vehicle.
Arn *string
// The unique ID of the updated vehicle.
VehicleName *string
noSmithyDocumentSerde
}
// A validation error due to mismatch between the expected data type, length, or
// pattern of the parameter and the input.
type ValidationExceptionField struct {
// A message about the validation error.
//
// This member is required.
Message *string
// The name of the parameter field with the validation error.
//
// This member is required.
Name *string
noSmithyDocumentSerde
}
// The vehicle middleware defined as a type of network interface. Examples of
// vehicle middleware include ROS2 and SOME/IP .
type VehicleMiddleware struct {
// The name of the vehicle middleware.
//
// This member is required.
Name *string
// The protocol name of the vehicle middleware.
//
// This member is required.
ProtocolName VehicleMiddlewareProtocol
noSmithyDocumentSerde
}
// Information about the state of a vehicle and how it relates to the status of a
// campaign.
type VehicleStatus struct {
// The name of a campaign.
CampaignName *string
// The state of a vehicle, which can be one of the following:
// - CREATED - Amazon Web Services IoT FleetWise sucessfully created the vehicle.
// - READY - The vehicle is ready to receive a campaign deployment.
// - HEALTHY - A campaign deployment was delivered to the vehicle.
// - SUSPENDED - A campaign associated with the vehicle was suspended and data
// collection was paused.
// - DELETING - Amazon Web Services IoT FleetWise is removing a campaign from the
// vehicle.
Status VehicleState
// The unique ID of the vehicle.
VehicleName *string
noSmithyDocumentSerde
}
// Information about a vehicle. To return this information about vehicles in your
// account, you can use the API operation.
type VehicleSummary struct {
// The Amazon Resource Name (ARN) of the vehicle.
//
// This member is required.
Arn *string
// The time the vehicle was created in seconds since epoch (January 1, 1970 at
// midnight UTC time).
//
// This member is required.
CreationTime *time.Time
// The ARN of a decoder manifest associated with the vehicle.
//
// This member is required.
DecoderManifestArn *string
// The time the vehicle was last updated in seconds since epoch (January 1, 1970
// at midnight UTC time).
//
// This member is required.
LastModificationTime *time.Time
// The ARN of a vehicle model (model manifest) associated with the vehicle.
//
// This member is required.
ModelManifestArn *string
// The unique ID of the vehicle.
//
// This member is required.
VehicleName *string
noSmithyDocumentSerde
}
type noSmithyDocumentSerde = smithydocument.NoSerde
// UnknownUnionMember is returned when a union member is returned over the wire,
// but has an unknown tag.
type UnknownUnionMember struct {
Tag string
Value []byte
noSmithyDocumentSerde
}
func (*UnknownUnionMember) isCollectionScheme() {}
func (*UnknownUnionMember) isDataDestinationConfig() {}
func (*UnknownUnionMember) isFormattedVss() {}
func (*UnknownUnionMember) isNetworkFileDefinition() {}
func (*UnknownUnionMember) isNode() {}
func (*UnknownUnionMember) isPrimitiveMessageDefinition() {}
func (*UnknownUnionMember) isStructuredMessage() {}
|