diff --git a/CHANGELOG.md b/CHANGELOG.md index 4157869c..59409cb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,19 @@ # Change Log -## future release (TBD) +## v1.0.0 (Sept 27, 2022) Bugfixes: * Fixed an OBD bug in which software requests more than six PID ranges in one message. The new revision request the extra range in a separate message. +* Fixed a bug in CANDataSource in which software didn't handle CAN message with extended ID correctly. -## v0.1.4 (Aug 29, 2022) -https://s3.console.aws.amazon.com/s3/object/aws-iot-fleetwise?prefix=v0.1.4/aws-iot-fleetwise-edge.zip +Improvements: +* Remove the html version of developer guide. +* Remove source code in S3 bucket. The S3 bucket will only be used to host quick demo cloud formation. +* Remove convertToPeculiarFloat function from DataCollectionProtoWriter. +* Set default checkin period to 2-min in static-config.json. The quick demo will still use 5 second as checkin period. +* Update FleetWise CLI Model to GA release version. +* Update Customer Demo to remove service-linked role creation for FleetWise Account Registration. +## v0.1.4 (Aug 29, 2022) Bugfixes: * Fixed a bug in which software will continue requesting OBD-II PIDs or decoding CAN messages after all collection schemes removed. @@ -17,8 +24,6 @@ Improvements: * Improve OBD logging to log CAN ISOTP raw bytes for better debugging ## v0.1.3 (Aug 3, 2022) -https://s3.console.aws.amazon.com/s3/object/aws-iot-fleetwise?prefix=v0.1.3/aws-iot-fleetwise-edge.zip - Customer Demo: * Updated demo scripts to match with latest AWS IoT FleetWise Cloud [API changes](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/update-sdk-cli.html) * Fix a bug in demo script that might render scatter plot incorrectly. @@ -44,8 +49,6 @@ Improvements: * Improvement to cansim to better handle ISO-TP error. ## v0.1.2 (February 24, 2022) -https://s3.console.aws.amazon.com/s3/object/aws-iot-fleetwise?prefix=v0.1.2/aws-iot-fleetwise-edge.zip - Features: * No new features. @@ -66,8 +69,6 @@ Bugfixes/Improvements: * Developer guide converted to Markdown. ## v0.1.1 (January 25, 2022) -https://s3.console.aws.amazon.com/s3/object/aws-iot-fleetwise?prefix=v0.1.1/aws-iot-fleetwise-edge.zip - Features: * No new features. @@ -93,8 +94,6 @@ Bugfixes/Improvements: * Edge agent now compiled and run on the same EC2 instance, rather than using CodePipeline. ## v0.1.0 (November 29, 2021) -https://s3.console.aws.amazon.com/s3/object/aws-iot-fleetwise?prefix=v0.1.0/aws-iot-fleetwise-edge.zip - Features: * Initial preview release diff --git a/CMakeLists.txt b/CMakeLists.txt index dbbbe2d7..d7f14f89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10.2) -project(iotfleetwise VERSION 0.1.4) +project(iotfleetwise VERSION 1.0.0) # AWS IoT FleetWise Edge uses C++14 for compatibility reasons with # Automotive middlewares ( Adaptive AUTOSAR, ROS2) diff --git a/docs/dev-guide/edge-agent-dev-guide.md b/docs/dev-guide/edge-agent-dev-guide.md index f83a6392..3655778f 100644 --- a/docs/dev-guide/edge-agent-dev-guide.md +++ b/docs/dev-guide/edge-agent-dev-guide.md @@ -9,7 +9,6 @@ or may not be affiliated with, connected to, or sponsored by Amazon. **Note** -- AWS IoT FleetWise is in preview release and is subject to change. We recommend that you use the service, including the AWS IoT FleetWise Edge Agent software, only with test data, and not in production environments. - AWS IoT FleetWise is currently available in US East (N. Virginia) and Europe (Frankfurt). **AWS IoT FleetWise** provides a set of tools that enable automakers to collect, transform, and transfer vehicle data to the cloud at scale. With AWS IoT FleetWise you can build virtual representations of vehicle networks and define data collection rules to transfer only high-value data from your vehicles to AWS Cloud. diff --git a/docs/rpi-tutorial/raspberry-pi-tutorial.md b/docs/rpi-tutorial/raspberry-pi-tutorial.md index 2c40fd76..38ca4022 100644 --- a/docs/rpi-tutorial/raspberry-pi-tutorial.md +++ b/docs/rpi-tutorial/raspberry-pi-tutorial.md @@ -10,9 +10,6 @@ Amazon. **Note** -* AWS IoT FleetWise is in preview release and is subject to change. We recommend that you use the - service, including the AWS IoT FleetWise Edge Agent software, only with test data, and not in - production environments. * AWS IoT FleetWise is currently available in US East (N. Virginia) and Europe (Frankfurt). * The AWS IoT FleetWise in-vehicle software component is licensed to you under the Amazon Software License. You are solely responsible for ensuring such software and any updates and modifications diff --git a/src/datamanagement/datacollection/include/DataCollectionProtoWriter.h b/src/datamanagement/datacollection/include/DataCollectionProtoWriter.h index 5d3a68e2..530f9de8 100644 --- a/src/datamanagement/datacollection/include/DataCollectionProtoWriter.h +++ b/src/datamanagement/datacollection/include/DataCollectionProtoWriter.h @@ -114,17 +114,6 @@ class DataCollectionProtoWriter bool serializeVehicleData( std::string *out ) const; - /** - * @brief This function translates the IEEE 754 double format to the quotient and - * divisor format by mapping the fraction to the quotient and the exponent - * to the divisor, clipping and translating as appropriate. - * - * @param physicalValue physical value of the signal - * @param quotient Quotient - * @param divisor Divisor - */ - static void convertToPeculiarFloat( double physicalValue, uint32_t "ient, uint32_t &divisor ); - private: Timestamp mTriggerTime; unsigned mVehicleDataMsgCount{}; // tracks the number of messages being sent in the edge to cloud payload diff --git a/src/datamanagement/datacollection/src/DataCollectionProtoWriter.cpp b/src/datamanagement/datacollection/src/DataCollectionProtoWriter.cpp index 50781af1..9d96c624 100644 --- a/src/datamanagement/datacollection/src/DataCollectionProtoWriter.cpp +++ b/src/datamanagement/datacollection/src/DataCollectionProtoWriter.cpp @@ -14,14 +14,6 @@ // Includes #include "DataCollectionProtoWriter.h" -// Refer to the following for definitions of significand and exponent: -// https://en.wikipedia.org/wiki/Double-precision_floating-point_format -#define DBL_SIGNIFICAND_BITS 52U -#define DBL_SIGNIFICAND_MASK ( ( 1ULL << DBL_SIGNIFICAND_BITS ) - 1U ) -#define DBL_SIGNIFICAND_FULL_BITS ( DBL_SIGNIFICAND_BITS + 1U ) // Including 'hidden' 53rd bit -#define DBL_EXPONENT_BITS 11U -#define DBL_EXPONENT_MASK ( ( 1U << DBL_EXPONENT_BITS ) - 1U ) - namespace Aws { namespace IoTFleetWise @@ -40,63 +32,6 @@ DataCollectionProtoWriter::~DataCollectionProtoWriter() google::protobuf::ShutdownProtobufLibrary(); } -void -DataCollectionProtoWriter::convertToPeculiarFloat( double physicalValue, uint32_t "ient, uint32_t &divisor ) -{ - /* - IEEE 754 double format: - SEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF - ^^ ^^ ^ - || || | - || |----------------------------------------------------- 52-bit fraction - |------------ 11-bit exponent (biased) - -- 1-bit sign - Formula: - number = (-1)^sign * (((2^52 + fraction) / 2^52) * (2^(exponent - 1023)) - - Output formula: - number = quotient / divisor - - The following code translates the IEEE 754 double format to the quotient and divisor format by - mapping the fraction to the quotient and the exponent to the divisor, clipping and translating - as appropriate. - */ - - // Decode IEEE 754 'binary64' (a.k.a. 'double') format (ignore the sign, it is encoded separately): - uint64_t raw = 0x0ULL; - memcpy( &raw, &physicalValue, sizeof( raw ) ); - uint64_t fraction = raw & DBL_SIGNIFICAND_MASK; - int exponent = static_cast( ( raw >> DBL_SIGNIFICAND_BITS ) & DBL_EXPONENT_MASK ); - - fraction |= 1ULL << ( DBL_SIGNIFICAND_FULL_BITS - 1U ); // Set the 'hidden' 53rd bit - exponent -= 1023; // Remove exponent bias - - if ( exponent >= UINT32_WIDTH ) // physicalValue is too big, infinite or NaN: return UINT32_MAX - { - quotient = UINT32_MAX; - divisor = 1U; - return; - } - if ( exponent <= -UINT32_WIDTH ) // physicalValue is too small or zero: return zero - { - quotient = 0U; - divisor = 1U; - return; - } - // Note: exponent is now in the range -31 to 31 - - if ( exponent < 0 ) // physicalValue is less than 1.0 - { - // Multiply by 2^exponent, i.e. right shift by -exponent, then set the exponent to zero, - // so that the divisor will be 2^31 below: - fraction >>= static_cast( -exponent ); - exponent = 0; - } - // Throw away lowest 21-bits of precision: - quotient = static_cast( fraction >> ( DBL_SIGNIFICAND_FULL_BITS - UINT32_WIDTH ) ); - divisor = 1U << ( ( UINT32_WIDTH - 1U ) - static_cast( exponent ) ); -} - void DataCollectionProtoWriter::setupVehicleData( const TriggeredCollectionSchemeDataPtr triggeredCollectionSchemeData, uint32_t collectionEventID ) diff --git a/src/datamanagement/datacollection/test/DataCollectionProtoWriterTest.cpp b/src/datamanagement/datacollection/test/DataCollectionProtoWriterTest.cpp index 77b857bd..35cb8425 100644 --- a/src/datamanagement/datacollection/test/DataCollectionProtoWriterTest.cpp +++ b/src/datamanagement/datacollection/test/DataCollectionProtoWriterTest.cpp @@ -22,27 +22,6 @@ using namespace Aws::IoTFleetWise::Platform::Linux; class DataCollectionProtoWriterTest : public ::testing::Test { public: - void - check( double input, double diff, bool print = true ) - { - uint32_t quotient; - uint32_t divisor; - DataCollectionProtoWriter::convertToPeculiarFloat( input, quotient, divisor ); - double output = (double)quotient / (double)divisor; - if ( print ) - { - printf( "input=%g, output=%u/%u=%g\n", input, quotient, divisor, output ); - } - if ( isnan( input ) || isinf( input ) ) - { - EXPECT_EQ( UINT32_MAX, output ); - } - else - { - EXPECT_NEAR( abs( input ), output, abs( input ) * diff ); - } - } - std::string convertProtoToHex( const std::string &proto ) { @@ -57,92 +36,6 @@ class DataCollectionProtoWriterTest : public ::testing::Test } }; -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatZero ) -{ - check( 0.0, 0.0 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloat1 ) -{ - check( 1.0, 0.0 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatMinus1 ) -{ - check( -1.0, 0.0 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloat1000 ) -{ - check( 1000.0, 0.0 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatU32Max ) -{ - check( UINT32_MAX, 0.0 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloat0_5 ) -{ - check( 0.5, 0.0 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloat0_333 ) -{ - check( 1.0 / 3.0, 0.000000001 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloat0_111 ) -{ - check( 1.0 / 9.0, 0.000000001 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatMin ) -{ - check( 1.0 / (double)( 1U << 31 ), 0.0 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatEpsilon ) -{ - check( DBL_EPSILON, 1.0 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatMoreThan9SigFig ) -{ - // This test broke decimalToFraction - check( 5.000000001, 0.000000001 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatPi ) -{ - check( M_PI, 0.000000001 ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatInfinity ) -{ - check( INFINITY, INFINITY ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatMinusInfinity ) -{ - check( -INFINITY, INFINITY ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatNan ) -{ - check( NAN, NAN ); -} - -TEST_F( DataCollectionProtoWriterTest, TestPeculiarFloatRandom ) -{ - srand( (unsigned)time( NULL ) ); - for ( auto i = 0; i < 10000000; i++ ) - { - double r = ( (double)rand() * 100000.0 ) / (double)RAND_MAX; - check( r, 0.000000001, false ); - } -} - // Test the edge to cloud payload fields in the proto TEST_F( DataCollectionProtoWriterTest, TestVehicleData ) { diff --git a/src/vehiclenetwork/src/CANDataSource.cpp b/src/vehiclenetwork/src/CANDataSource.cpp index 6f3275dc..a0d4b512 100644 --- a/src/vehiclenetwork/src/CANDataSource.cpp +++ b/src/vehiclenetwork/src/CANDataSource.cpp @@ -36,6 +36,7 @@ namespace VehicleNetwork using namespace Aws::IoTFleetWise::Platform::Utility; static const std::string INTERFACE_NAME_KEY = "interfaceName"; static const std::string THREAD_IDLE_TIME_KEY = "threadIdleTimeMs"; +static constexpr uint32_t MSB_MASK = 0X7FFFFFFFU; CANDataSource::CANDataSource( bool useKernelTimestamp ) : mUseKernelTimestamp{ useKernelTimestamp } { @@ -284,7 +285,8 @@ CANDataSource::doWork( void *data ) { rawData.emplace_back( frame[i].data[j] ); } - message.setup( frame[i].can_id, rawData, syntheticData, timestamp ); + // Compose the correct CAN Frame ID by clearing the MSB + message.setup( frame[i].can_id & MSB_MASK, rawData, syntheticData, timestamp ); if ( message.isValid() ) { if ( !dataSource->mCircularBuffPtr->push( message ) ) diff --git a/src/vehiclenetwork/test/CANDataSourceTest.cpp b/src/vehiclenetwork/test/CANDataSourceTest.cpp index 530d8466..185596db 100644 --- a/src/vehiclenetwork/test/CANDataSourceTest.cpp +++ b/src/vehiclenetwork/test/CANDataSourceTest.cpp @@ -115,6 +115,21 @@ sendTestMessage( int socketFD ) ASSERT_EQ( bytesWritten, sizeof( struct can_frame ) ); } +static void +sendTestMessageExtendedID( int socketFD ) +{ + struct can_frame frame = {}; + frame.can_id = 0x123 | CAN_EFF_FLAG; + + frame.can_dlc = 4; + for ( uint8_t i = 0; i < 3; ++i ) + { + frame.data[i] = i; + } + ssize_t bytesWritten = write( socketFD, &frame, sizeof( struct can_frame ) ); + ASSERT_EQ( bytesWritten, sizeof( struct can_frame ) ); +} + class CANDataSourceTest : public ::testing::Test { public: @@ -283,3 +298,37 @@ TEST_F( CANDataSourceTest, testSourceIdsAreUnique ) } ASSERT_EQ( NUM_SOURCES, sourceIDs.size() ); } + +TEST_F( CANDataSourceTest, testExtractExtendedID ) +{ + LocalDataSourceEventListener listener; + ASSERT_TRUE( socketFD != -1 ); + + static_cast( socketFD >= 0 ); + VehicleDataSourceConfig sourceConfig; + sourceConfig.transportProperties.emplace( "interfaceName", "vcan0" ); + sourceConfig.transportProperties.emplace( "threadIdleTimeMs", "1000" ); + sourceConfig.maxNumberOfVehicleDataMessages = 1000; + std::vector sourceConfigs = { sourceConfig }; + CANDataSource dataSource; + ASSERT_TRUE( dataSource.init( sourceConfigs ) ); + ASSERT_TRUE( dataSource.subscribeListener( &listener ) ); + + ASSERT_TRUE( dataSource.connect() ); + ASSERT_TRUE( listener.gotConnectCallback ); + ASSERT_TRUE( dataSource.isAlive() ); + // Set the Channel in an active acquire state + dataSource.resumeDataAcquisition(); + ASSERT_EQ( dataSource.getVehicleDataSourceIfName(), "vcan0" ); + ASSERT_EQ( dataSource.getVehicleDataSourceProtocol(), VehicleDataSourceProtocol::RAW_SOCKET ); + ASSERT_EQ( dataSource.getVehicleDataSourceType(), VehicleDataSourceType::CAN_SOURCE ); + sendTestMessageExtendedID( socketFD ); + // Sleep for sometime on this thread to allow the other thread to finish + std::this_thread::sleep_for( std::chrono::seconds( 2 ) ); + VehicleDataMessage msg; + ASSERT_TRUE( dataSource.getBuffer()->pop( msg ) ); + ASSERT_EQ( msg.getMessageID(), 0x123 ); + ASSERT_TRUE( dataSource.disconnect() ); + ASSERT_TRUE( dataSource.unSubscribeListener( &listener ) ); + ASSERT_TRUE( listener.gotDisConnectCallback ); +} diff --git a/tools/cloud/demo.sh b/tools/cloud/demo.sh index 6eee5511..993a854d 100755 --- a/tools/cloud/demo.sh +++ b/tools/cloud/demo.sh @@ -20,7 +20,6 @@ DEFAULT_VEHICLE_NAME="fwdemo" VEHICLE_NAME="" TIMESTREAM_DB_NAME="IoTFleetWiseDB-${TIMESTAMP}" TIMESTREAM_TABLE_NAME="VehicleDataTable" -SERVICE_ROLE="IoTFleetWiseServiceRole" CAMPAIGN_FILE="campaign-brake-event.json" CLEAN_UP=false FLEET_SIZE=1 @@ -94,7 +93,6 @@ if [ "${VEHICLE_NAME}" == "" ]; then fi NAME="${VEHICLE_NAME}-${TIMESTAMP}" -SERVICE_ROLE="${SERVICE_ROLE}-${REGION}-${TIMESTAMP}" echo -n "Date: " date --rfc-3339=seconds @@ -126,7 +124,6 @@ register_account() { echo "Registering account..." aws iotfleetwise register-account \ ${ENDPOINT_URL_OPTION} --region ${REGION} \ - --iam-resources "{\"roleArn\":\"${SERVICE_ROLE_ARN}\"}" \ --timestream-resources "{\"timestreamDatabaseName\":\"${TIMESTREAM_DB_NAME}\", \ \"timestreamTableName\":\"${TIMESTREAM_TABLE_NAME}\"}" | jq -r .registerAccountStatus echo "Waiting for account to be registered..." @@ -187,74 +184,6 @@ if [ "${ACCOUNT_STATUS}" == "REGISTRATION_SUCCESS" ]; then elif [ "${ACCOUNT_STATUS}" == "REGISTRATION_PENDING" ]; then echo "Waiting for account to be registered..." else - echo "Creating service role..." - SERVICE_ROLE_TRUST_POLICY=$(cat <<'EOF' -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "Service": [ - "iotfleetwise.amazonaws.com" - ] - }, - "Action": "sts:AssumeRole" - } - ] -} -EOF -) - SERVICE_ROLE_ARN=`aws iam create-role \ - --role-name "${SERVICE_ROLE}" \ - --assume-role-policy-document "${SERVICE_ROLE_TRUST_POLICY}" | jq -r .Role.Arn` - echo ${SERVICE_ROLE_ARN} - - echo "Waiting for role to be created..." - aws iam wait role-exists \ - --role-name "${SERVICE_ROLE}" - - echo "Creating service role policy..." - SERVICE_ROLE_POLICY=$(cat <<'EOF' -{ - "Version": "2012-10-17", - "Statement": [ - { - "Sid": "timestreamIngestion", - "Effect": "Allow", - "Action": [ - "timestream:WriteRecords", - "timestream:Select" - ] - }, - { - "Sid": "timestreamDescribeEndpoint", - "Effect": "Allow", - "Action": [ - "timestream:DescribeEndpoints" - ], - "Resource": "*" - } - ] -} -EOF -) - SERVICE_ROLE_POLICY=`echo "${SERVICE_ROLE_POLICY}" \ - | jq ".Statement[0].Resource=\"arn:aws:timestream:${REGION}:${ACCOUNT_ID}:database/${TIMESTREAM_DB_NAME}/*\""` - SERVICE_ROLE_POLICY_ARN=`aws iam create-policy \ - --policy-name ${SERVICE_ROLE}-policy \ - --policy-document "${SERVICE_ROLE_POLICY}" | jq -r .Policy.Arn` - echo ${SERVICE_ROLE_POLICY_ARN} - - echo "Waiting for policy to be created..." - aws iam wait policy-exists \ - --policy-arn "${SERVICE_ROLE_POLICY_ARN}" - - echo "Attaching policy to service role..." - aws iam attach-role-policy \ - --policy-arn ${SERVICE_ROLE_POLICY_ARN} \ - --role-name "${SERVICE_ROLE}" - echo "Creating Timestream database..." aws timestream-write create-database \ --region ${REGION} \ diff --git a/tools/cloud/iotfleetwise-2021-06-17.json b/tools/cloud/iotfleetwise-2021-06-17.json index 6d65b21e..49d0ee2a 100644 --- a/tools/cloud/iotfleetwise-2021-06-17.json +++ b/tools/cloud/iotfleetwise-2021-06-17.json @@ -6,7 +6,7 @@ "jsonVersion":"1.0", "protocol":"json", "serviceFullName":"AWS IoT FleetWise", - "serviceId":"iotfleetwise", + "serviceId":"IoTFleetWise", "signatureVersion":"v4", "signingName":"iotfleetwise", "targetPrefix":"IoTAutobahnControlPlane", @@ -73,6 +73,7 @@ "output":{"shape":"CreateCampaignResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ConflictException"}, {"shape":"LimitExceededException"}, {"shape":"ThrottlingException"}, @@ -92,6 +93,7 @@ "output":{"shape":"CreateDecoderManifestResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ConflictException"}, {"shape":"LimitExceededException"}, {"shape":"DecoderManifestValidationException"}, @@ -132,6 +134,7 @@ "output":{"shape":"CreateModelManifestResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ConflictException"}, {"shape":"LimitExceededException"}, {"shape":"ThrottlingException"}, @@ -151,6 +154,7 @@ "input":{"shape":"CreateSignalCatalogRequest"}, "output":{"shape":"CreateSignalCatalogResponse"}, "errors":[ + {"shape":"InternalServerException"}, {"shape":"ConflictException"}, {"shape":"LimitExceededException"}, {"shape":"InvalidNodeException"}, @@ -192,11 +196,12 @@ "output":{"shape":"DeleteCampaignResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

Deletes a data collection campaign. Deleting a campaign suspends all data collection and removes it from any vehicles.

", + "documentation":"

Deletes a data collection campaign. Deleting a campaign suspends all data collection and removes it from any vehicles.

", "idempotent":true }, "DeleteDecoderManifest":{ @@ -249,7 +254,7 @@ {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

Deletes a vehicle model (model manifest).

 </p> <note> <p>If the vehicle model is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response with an empty body.</p> </note> 
", + "documentation":"

Deletes a vehicle model (model manifest).

If the vehicle model is successfully deleted, Amazon Web Services IoT FleetWise sends back an HTTP 200 response with an empty body.

", "idempotent":true }, "DeleteSignalCatalog":{ @@ -314,6 +319,7 @@ "output":{"shape":"GetCampaignResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} @@ -330,6 +336,7 @@ "output":{"shape":"GetDecoderManifestResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} @@ -353,6 +360,21 @@ ], "documentation":"

Retrieves information about a fleet.

" }, + "GetLoggingOptions":{ + "name":"GetLoggingOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetLoggingOptionsRequest"}, + "output":{"shape":"GetLoggingOptionsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Retrieves the logging options.

" + }, "GetModelManifest":{ "name":"GetModelManifest", "http":{ @@ -363,6 +385,7 @@ "output":{"shape":"GetModelManifestResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, {"shape":"AccessDeniedException"} ], @@ -395,6 +418,7 @@ "output":{"shape":"GetSignalCatalogResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} @@ -428,6 +452,7 @@ "output":{"shape":"GetVehicleStatusResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} @@ -444,6 +469,7 @@ "output":{"shape":"ImportDecoderManifestResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ConflictException"}, {"shape":"DecoderManifestValidationException"}, {"shape":"ThrottlingException"}, @@ -483,6 +509,7 @@ "input":{"shape":"ListCampaignsRequest"}, "output":{"shape":"ListCampaignsResponse"}, "errors":[ + {"shape":"InternalServerException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, {"shape":"AccessDeniedException"} @@ -691,6 +718,25 @@ ], "documentation":"

Retrieves a list of summaries of all vehicles associated with a fleet.

This API operation uses pagination. Specify the nextToken parameter in the request to return more results.

" }, + "PutLoggingOptions":{ + "name":"PutLoggingOptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutLoggingOptionsRequest"}, + "output":{"shape":"PutLoggingOptionsResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ConflictException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"

Creates or updates the logging option.

", + "idempotent":true + }, "RegisterAccount":{ "name":"RegisterAccount", "http":{ @@ -755,6 +801,7 @@ "output":{"shape":"UpdateCampaignResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ConflictException"}, {"shape":"ThrottlingException"}, {"shape":"ValidationException"}, @@ -772,6 +819,7 @@ "output":{"shape":"UpdateDecoderManifestResponse"}, "errors":[ {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, {"shape":"ConflictException"}, {"shape":"LimitExceededException"}, {"shape":"DecoderManifestValidationException"}, @@ -832,6 +880,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InternalServerException"}, {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, {"shape":"InvalidNodeException"}, {"shape":"ThrottlingException"}, {"shape":"InvalidSignalsException"}, @@ -872,17 +921,13 @@ "Actuator":{ "type":"structure", "required":[ - "dataType", - "fullyQualifiedName" + "fullyQualifiedName", + "dataType" ], "members":{ - "allowedValues":{ - "shape":"listOfStrings", - "documentation":"

A list of possible values an actuator can take.

" - }, - "assignedValue":{ + "fullyQualifiedName":{ "shape":"string", - "documentation":"

A specified value for the actuator.

" + "documentation":"

The fully qualified name of the actuator. For example, the fully qualified name of an actuator might be Vehicle.Front.Left.Door.Lock.

" }, "dataType":{ "shape":"NodeDataType", @@ -892,21 +937,25 @@ "shape":"description", "documentation":"

A brief description of the actuator.

" }, - "fullyQualifiedName":{ + "unit":{ "shape":"string", - "documentation":"

The fully qualified name of the actuator. For example, the fully qualified name of an actuator might be Vehicle.Front.Left.Door.Lock.

" + "documentation":"

The scientific unit for the actuator.

" }, - "max":{ - "shape":"double", - "documentation":"

The specified possible maximum value of an actuator.

" + "allowedValues":{ + "shape":"listOfStrings", + "documentation":"

A list of possible values an actuator can take.

" }, "min":{ "shape":"double", "documentation":"

The specified possible minimum value of an actuator.

" }, - "unit":{ + "max":{ + "shape":"double", + "documentation":"

The specified possible maximum value of an actuator.

" + }, + "assignedValue":{ "shape":"string", - "documentation":"

The scientific unit for the actuator.

" + "documentation":"

A specified value for the actuator.

" } }, "documentation":"

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.

" @@ -919,17 +968,17 @@ "AssociateVehicleFleetRequest":{ "type":"structure", "required":[ - "fleetId", - "vehicleName" + "vehicleName", + "fleetId" ], "members":{ - "fleetId":{ - "shape":"fleetId", - "documentation":"

The ID of a fleet.

" - }, "vehicleName":{ "shape":"vehicleName", "documentation":"

The unique ID of the vehicle to associate with the fleet.

" + }, + "fleetId":{ + "shape":"fleetId", + "documentation":"

The ID of a fleet.

" } } }, @@ -941,45 +990,45 @@ "Attribute":{ "type":"structure", "required":[ - "dataType", - "fullyQualifiedName" + "fullyQualifiedName", + "dataType" ], "members":{ - "allowedValues":{ - "shape":"listOfStrings", - "documentation":"

A list of possible values an attribute can be assigned.

" - }, - "assignedValue":{ + "fullyQualifiedName":{ "shape":"string", - "documentation":"

A specified value for the attribute.

" + "documentation":"

The fully qualified name of the attribute. For example, the fully qualified name of an attribute might be Vehicle.Body.Engine.Type.

" }, "dataType":{ "shape":"NodeDataType", "documentation":"

The specified data type of the attribute.

" }, - "defaultValue":{ - "shape":"string", - "documentation":"

The default value of the attribute.

" - }, "description":{ "shape":"description", "documentation":"

A brief description of the attribute.

" }, - "fullyQualifiedName":{ + "unit":{ "shape":"string", - "documentation":"

The fully qualified name of the attribute. For example, the fully qualified name of an attribute might be Vehicle.Body.Engine.Type.

" + "documentation":"

The scientific unit for the attribute.

" }, - "max":{ - "shape":"double", - "documentation":"

The specified possible maximum value of the attribute.

" + "allowedValues":{ + "shape":"listOfStrings", + "documentation":"

A list of possible values an attribute can be assigned.

" }, "min":{ "shape":"double", "documentation":"

The specified possible minimum value of the attribute.

" }, - "unit":{ + "max":{ + "shape":"double", + "documentation":"

The specified possible maximum value of the attribute.

" + }, + "assignedValue":{ "shape":"string", - "documentation":"

The scientific unit for the attribute.

" + "documentation":"

A specified value for the attribute.

" + }, + "defaultValue":{ + "shape":"string", + "documentation":"

The default value of the attribute.

" } }, "documentation":"

A signal that represents static information about the vehicle, such as engine type or manufacturing date.

" @@ -997,13 +1046,13 @@ "BatchCreateVehicleResponse":{ "type":"structure", "members":{ - "errors":{ - "shape":"createVehicleErrors", - "documentation":"

A list of information about creation errors, or an empty list if there aren't any errors.

" - }, "vehicles":{ "shape":"createVehicleResponses", "documentation":"

A list of information about a batch of created vehicles. For more information, see the API data type.

" + }, + "errors":{ + "shape":"createVehicleErrors", + "documentation":"

A list of information about creation errors, or an empty list if there aren't any errors.

" } } }, @@ -1020,13 +1069,13 @@ "BatchUpdateVehicleResponse":{ "type":"structure", "members":{ - "errors":{ - "shape":"updateVehicleErrors", - "documentation":"

A list of information about errors returned while updating a batch of vehicles, or, if there aren't any errors, an empty list.

" - }, "vehicles":{ "shape":"updateVehicleResponseItems", "documentation":"

A list of information about the batch of updated vehicles.

This list contains only unique IDs for the vehicles that were updated.

" + }, + "errors":{ + "shape":"updateVehicleErrors", + "documentation":"

A list of information about errors returned while updating a batch of vehicles, or, if there aren't any errors, an empty list.

" } } }, @@ -1034,13 +1083,13 @@ "type":"structure", "required":["fullyQualifiedName"], "members":{ - "description":{ - "shape":"description", - "documentation":"

A brief description of the branch.

" - }, "fullyQualifiedName":{ "shape":"string", "documentation":"

The fully qualified name of the branch. For example, the fully qualified name of a branch might be Vehicle.Body.Engine.

" + }, + "description":{ + "shape":"description", + "documentation":"

A brief description of the branch.

" } }, "documentation":"

A group of signals that are defined in a hierarchical structure.

" @@ -1065,33 +1114,33 @@ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of a campaign.

" }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the campaign was created.

" + "name":{ + "shape":"campaignName", + "documentation":"

The name of a campaign.

" }, "description":{ "shape":"description", "documentation":"

The description of the campaign.

" }, - "lastModificationTime":{ - "shape":"timestamp", - "documentation":"

The last time the campaign was modified.

" - }, - "name":{ - "shape":"campaignName", - "documentation":"

The name of a campaign.

" - }, "signalCatalogArn":{ "shape":"arn", "documentation":"

The ARN of the signal catalog associated with the campaign.

" }, + "targetArn":{ + "shape":"arn", + "documentation":"

The ARN of a vehicle or fleet to which the campaign is deployed.

" + }, "status":{ "shape":"CampaignStatus", "documentation":"

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.

" }, - "targetArn":{ - "shape":"arn", - "documentation":"

The ARN of a vehicle or fleet to which the campaign is deployed.

" + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the campaign was created.

" + }, + "lastModificationTime":{ + "shape":"timestamp", + "documentation":"

The last time the campaign was modified.

" } }, "documentation":"

Information about a campaign.

You can use the API operation to return this information about multiple created campaigns.

" @@ -1099,18 +1148,18 @@ "CanDbcDefinition":{ "type":"structure", "required":[ - "canDbcFiles", - "networkInterface" + "networkInterface", + "canDbcFiles" ], "members":{ - "canDbcFiles":{ - "shape":"NetworkFilesList", - "documentation":"

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.

" - }, "networkInterface":{ "shape":"InterfaceId", "documentation":"

Contains information about a network interface.

" }, + "canDbcFiles":{ + "shape":"NetworkFilesList", + "documentation":"

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.

" + }, "signalsMap":{ "shape":"ModelSignalsMap", "documentation":"

Pairs every signal specified in your vehicle model with a signal decoder.

" @@ -1145,18 +1194,18 @@ "CanSignal":{ "type":"structure", "required":[ - "factor", + "messageId", "isBigEndian", "isSigned", - "length", - "messageId", + "startBit", "offset", - "startBit" + "factor", + "length" ], "members":{ - "factor":{ - "shape":"double", - "documentation":"

A multiplier used to decode the CAN message.

" + "messageId":{ + "shape":"nonNegativeInteger", + "documentation":"

The ID of the message.

" }, "isBigEndian":{ "shape":"boolean", @@ -1166,25 +1215,25 @@ "shape":"boolean", "documentation":"

Whether the message data is specified as a signed value.

" }, - "length":{ - "shape":"nonNegativeInteger", - "documentation":"

How many bytes of data are in the message.

" - }, - "messageId":{ + "startBit":{ "shape":"nonNegativeInteger", - "documentation":"

The ID of the message.

" - }, - "name":{ - "shape":"CanSignalName", - "documentation":"

The name of the signal.

" + "documentation":"

Indicates the beginning of the CAN message.

" }, "offset":{ "shape":"double", "documentation":"

Indicates where data appears in the CAN message.

" }, - "startBit":{ + "factor":{ + "shape":"double", + "documentation":"

A multiplier used to decode the CAN message.

" + }, + "length":{ "shape":"nonNegativeInteger", - "documentation":"

Indicates the beginning of the CAN message.

" + "documentation":"

How many bytes of data are in the message.

" + }, + "name":{ + "shape":"CanSignalName", + "documentation":"

The name of the signal.

" } }, "documentation":"

Information about a single controller area network (CAN) signal and the messages it receives and transmits.

" @@ -1194,16 +1243,37 @@ "max":100, "min":1 }, - "CollectionScheme":{ + "CloudWatchLogDeliveryOptions":{ "type":"structure", + "required":["logType"], "members":{ - "conditionBasedCollectionScheme":{ - "shape":"ConditionBasedCollectionScheme", - "documentation":"

Information about a collection scheme that uses a simple logical expression to recognize what data to collect.

" + "logType":{ + "shape":"LogType", + "documentation":"

The type of log to send data to Amazon CloudWatch Logs.

" }, + "logGroupName":{ + "shape":"CloudWatchLogGroupName", + "documentation":"

The Amazon CloudWatch Logs group the operation sends data to.

" + } + }, + "documentation":"

The log delivery option to send data to Amazon CloudWatch Logs.

" + }, + "CloudWatchLogGroupName":{ + "type":"string", + "max":512, + "min":1, + "pattern":"[\\.\\-_\\/#A-Za-z0-9]+" + }, + "CollectionScheme":{ + "type":"structure", + "members":{ "timeBasedCollectionScheme":{ "shape":"TimeBasedCollectionScheme", "documentation":"

Information about a collection scheme that uses a time period to decide how often to collect data.

" + }, + "conditionBasedCollectionScheme":{ + "shape":"ConditionBasedCollectionScheme", + "documentation":"

Information about a collection scheme that uses a simple logical expression to recognize what data to collect.

" } }, "documentation":"

Specifies what data to collect and how often or when to collect it.

", @@ -1220,10 +1290,6 @@ "type":"structure", "required":["expression"], "members":{ - "conditionLanguageVersion":{ - "shape":"languageVersion", - "documentation":"

Specifies the version of the conditional expression language.

" - }, "expression":{ "shape":"eventExpression", "documentation":"

The logical expression used to recognize what data to collect. For example, $variable.Vehicle.OutsideAirTemperature >= 105.0.

" @@ -1235,6 +1301,10 @@ "triggerMode":{ "shape":"TriggerMode", "documentation":"

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.

" + }, + "conditionLanguageVersion":{ + "shape":"languageVersion", + "documentation":"

Specifies the version of the conditional expression language.

" } }, "documentation":"

Information about a collection scheme that uses a simple logical expression to recognize what data to collect.

" @@ -1263,94 +1333,98 @@ "CreateCampaignRequest":{ "type":"structure", "required":[ - "collectionScheme", "name", "signalCatalogArn", - "targetArn" + "targetArn", + "collectionScheme" ], "members":{ - "collectionScheme":{ - "shape":"CollectionScheme", - "documentation":"

The data collection scheme associated with the campaign. You can specify a scheme that collects data based on time or an event.

" - }, - "compression":{ - "shape":"Compression", - "documentation":"

(Optional) Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If you don't want to compress the signals, use OFF. If it's not specified, SNAPPY is used.

Default: SNAPPY

" - }, - "dataExtraDimensions":{ - "shape":"DataExtraDimensionNodePathList", - "documentation":"

(Optional) A list of vehicle attributes to associate with a campaign.

Default: An empty array

" + "name":{ + "shape":"campaignName", + "documentation":"

The name of the campaign to create.

" }, "description":{ "shape":"description", "documentation":"

An optional description of the campaign to help identify its purpose.

" }, - "diagnosticsMode":{ - "shape":"DiagnosticsMode", - "documentation":"

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use SEND_ACTIVE_DTCS. If it's not specified, OFF is used.

Default: OFF

" + "signalCatalogArn":{ + "shape":"arn", + "documentation":"

(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate with the campaign.

" }, - "expiryTime":{ - "shape":"timestamp", - "documentation":"

(Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at midnight UTC time). Vehicle data won't be collected after the campaign expires.

Default: 253402243200 (December 31, 9999, 00:00:00 UTC)

" + "targetArn":{ + "shape":"arn", + "documentation":"

The ARN of the vehicle or fleet to deploy a campaign to.

" }, - "name":{ - "shape":"campaignName", - "documentation":"

The name of the campaign to create.

" + "startTime":{ + "shape":"timestamp", + "documentation":"

(Optional) The time, in milliseconds, to deliver a campaign after it was approved. If it's not specified, 0 is used.

Default: 0

" + }, + "expiryTime":{ + "shape":"timestamp", + "documentation":"

(Optional) The time the campaign expires, in seconds since epoch (January 1, 1970 at midnight UTC time). Vehicle data won't be collected after the campaign expires.

Default: 253402243200 (December 31, 9999, 00:00:00 UTC)

" }, "postTriggerCollectionDuration":{ "shape":"uint32", "documentation":"

(Optional) How long (in milliseconds) to collect raw data after a triggering event initiates the collection. If it's not specified, 0 is used.

Default: 0

" }, + "diagnosticsMode":{ + "shape":"DiagnosticsMode", + "documentation":"

(Optional) Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise. If you want to send diagnostic trouble codes, use SEND_ACTIVE_DTCS. If it's not specified, OFF is used.

Default: OFF

" + }, + "spoolingMode":{ + "shape":"SpoolingMode", + "documentation":"

(Optional) Whether to store collected data after a vehicle lost a connection with the cloud. After a connection is re-established, the data is automatically forwarded to Amazon Web Services IoT FleetWise. If you want to store collected data when a vehicle loses connection with the cloud, use TO_DISK. If it's not specified, OFF is used.

Default: OFF

" + }, + "compression":{ + "shape":"Compression", + "documentation":"

(Optional) Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If you don't want to compress the signals, use OFF. If it's not specified, SNAPPY is used.

Default: SNAPPY

" + }, "priority":{ "shape":"priority", "documentation":"

(Optional) A number indicating the priority of one campaign over another campaign for a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles before any other campaigns. If it's not specified, 0 is used.

Default: 0

" }, - "signalCatalogArn":{ - "shape":"arn", - "documentation":"

(Optional) The Amazon Resource Name (ARN) of the signal catalog to associate with the campaign.

" - }, "signalsToCollect":{ "shape":"SignalInformationList", "documentation":"

(Optional) A list of information about signals to collect.

" }, - "spoolingMode":{ - "shape":"SpoolingMode", - "documentation":"

(Optional) Whether to store collected data after a vehicle lost a connection with the cloud. After a connection is re-established, the data is automatically forwarded to Amazon Web Services IoT FleetWise. If you want to store collected data when a vehicle loses connection with the cloud, use TO_DISK. If it's not specified, OFF is used.

Default: OFF

" + "collectionScheme":{ + "shape":"CollectionScheme", + "documentation":"

The data collection scheme associated with the campaign. You can specify a scheme that collects data based on time or an event.

" }, - "startTime":{ - "shape":"timestamp", - "documentation":"

(Optional) The time, in milliseconds, to deliver a campaign after it was approved. If it's not specified, 0 is used.

Default: 0

" + "dataExtraDimensions":{ + "shape":"DataExtraDimensionNodePathList", + "documentation":"

(Optional) A list of vehicle attributes to associate with a campaign.

Default: An empty array

" }, "tags":{ "shape":"TagList", "documentation":"

Metadata that can be used to manage the campaign.

" - }, - "targetArn":{ - "shape":"arn", - "documentation":"

The ARN of the vehicle or fleet to deploy a campaign to.

" } } }, "CreateCampaignResponse":{ "type":"structure", "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The ARN of the created campaign.

" - }, "name":{ "shape":"campaignName", "documentation":"

The name of the created campaign.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The ARN of the created campaign.

" } } }, "CreateDecoderManifestRequest":{ "type":"structure", "required":[ - "modelManifestArn", - "name" + "name", + "modelManifestArn" ], "members":{ + "name":{ + "shape":"resourceName", + "documentation":"

The unique name of the decoder manifest to create.

" + }, "description":{ "shape":"description", "documentation":"

A brief description of the decoder manifest.

" @@ -1359,18 +1433,14 @@ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the vehicle model (model manifest).

" }, - "name":{ - "shape":"resourceName", - "documentation":"

The unique name of the decoder manifest to create.

" + "signalDecoders":{ + "shape":"SignalDecoders", + "documentation":"

A list of information about signal decoders.

" }, "networkInterfaces":{ "shape":"NetworkInterfaces", "documentation":"

A list of information about available network interfaces.

" }, - "signalDecoders":{ - "shape":"SignalDecoders", - "documentation":"

A list of information about signal decoders.

" - }, "tags":{ "shape":"TagList", "documentation":"

Metadata that can be used to manage the decoder manifest.

" @@ -1380,17 +1450,17 @@ "CreateDecoderManifestResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The ARN of the created decoder manifest.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the created decoder manifest.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The ARN of the created decoder manifest.

" } } }, @@ -1401,14 +1471,14 @@ "signalCatalogArn" ], "members":{ - "description":{ - "shape":"description", - "documentation":"

A brief description of the fleet to create.

" - }, "fleetId":{ "shape":"fleetId", "documentation":"

The unique ID of the fleet to create.

" }, + "description":{ + "shape":"description", + "documentation":"

A brief description of the fleet to create.

" + }, "signalCatalogArn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of a signal catalog.

" @@ -1422,17 +1492,17 @@ "CreateFleetResponse":{ "type":"structure", "required":[ - "arn", - "id" + "id", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The ARN of the created fleet.

" - }, "id":{ "shape":"fleetId", "documentation":"

The ID of the created fleet.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The ARN of the created fleet.

" } } }, @@ -1444,14 +1514,14 @@ "signalCatalogArn" ], "members":{ - "description":{ - "shape":"description", - "documentation":"

A brief description of the vehicle model.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the vehicle model to create.

" }, + "description":{ + "shape":"description", + "documentation":"

A brief description of the vehicle model.

" + }, "nodes":{ "shape":"listOfStrings", "documentation":"

A list of nodes, which are a general abstraction of signals.

" @@ -1469,17 +1539,17 @@ "CreateModelManifestResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The ARN of the created vehicle model.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the created vehicle model.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The ARN of the created vehicle model.

" } } }, @@ -1487,14 +1557,14 @@ "type":"structure", "required":["name"], "members":{ - "description":{ - "shape":"description", - "documentation":"

A brief description of the signal catalog.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the signal catalog to create.

" }, + "description":{ + "shape":"description", + "documentation":"

A brief description of the signal catalog.

" + }, "nodes":{ "shape":"Nodes", "documentation":"

A list of information about nodes, which are a general abstraction of signals. For more information, see the API data type.

" @@ -1508,23 +1578,27 @@ "CreateSignalCatalogResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The ARN of the created signal catalog.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the created signal catalog.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The ARN of the created signal catalog.

" } } }, "CreateVehicleError":{ "type":"structure", "members":{ + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The ID of the vehicle with the error.

" + }, "code":{ "shape":"string", "documentation":"

An HTTP error code.

" @@ -1532,10 +1606,6 @@ "message":{ "shape":"string", "documentation":"

A description of the HTTP error.

" - }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The ID of the vehicle with the error.

" } }, "documentation":"

An HTTP error resulting from creating a vehicle.

" @@ -1543,68 +1613,68 @@ "CreateVehicleRequest":{ "type":"structure", "required":[ - "decoderManifestArn", + "vehicleName", "modelManifestArn", - "vehicleName" + "decoderManifestArn" ], "members":{ - "associationBehavior":{ - "shape":"VehicleAssociationBehavior", - "documentation":"

An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an existing Amazon Web Services IoT thing as a vehicle.

Default:

" + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The unique ID of the vehicle to create.

" }, - "attributes":{ - "shape":"attributesMap", - "documentation":"

Static information about a vehicle in a key-value pair. For example: \"engineType\" : \"1.3 L R2\"

" + "modelManifestArn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name ARN of a vehicle model.

" }, "decoderManifestArn":{ "shape":"arn", "documentation":"

The ARN of a decoder manifest.

" }, - "modelManifestArn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name ARN of a vehicle model.

" + "attributes":{ + "shape":"attributesMap", + "documentation":"

Static information about a vehicle in a key-value pair. For example: \"engineType\" : \"1.3 L R2\"

" + }, + "associationBehavior":{ + "shape":"VehicleAssociationBehavior", + "documentation":"

An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an existing Amazon Web Services IoT thing as a vehicle.

Default:

" }, "tags":{ "shape":"TagList", "documentation":"

Metadata that can be used to manage the vehicle.

" - }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The unique ID of the vehicle to create.

" } } }, "CreateVehicleRequestItem":{ "type":"structure", "required":[ - "decoderManifestArn", + "vehicleName", "modelManifestArn", - "vehicleName" + "decoderManifestArn" ], "members":{ - "associationBehavior":{ - "shape":"VehicleAssociationBehavior", - "documentation":"

An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an existing thing as a vehicle.

" + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The unique ID of the vehicle to create.

" }, - "attributes":{ - "shape":"attributesMap", - "documentation":"

Static information about a vehicle in a key-value pair. For example: \"engine Type\" : \"v6\"

" + "modelManifestArn":{ + "shape":"arn", + "documentation":"

The ARN of the vehicle model (model manifest) to create the vehicle from.

" }, "decoderManifestArn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of a decoder manifest associated with the vehicle to create.

" }, - "modelManifestArn":{ - "shape":"arn", - "documentation":"

The ARN of the vehicle model (model manifest) to create the vehicle from.

" + "attributes":{ + "shape":"attributesMap", + "documentation":"

Static information about a vehicle in a key-value pair. For example: \"engine Type\" : \"v6\"

" + }, + "associationBehavior":{ + "shape":"VehicleAssociationBehavior", + "documentation":"

An option to create a new Amazon Web Services IoT thing when creating a vehicle, or to validate an existing thing as a vehicle.

" }, "tags":{ "shape":"TagList", "documentation":"

Metadata which can be used to manage the vehicle.

" - }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The unique ID of the vehicle to create.

" } }, "documentation":"

Information about the vehicle to create.

" @@ -1612,6 +1682,10 @@ "CreateVehicleResponse":{ "type":"structure", "members":{ + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The unique ID of the created vehicle.

" + }, "arn":{ "shape":"arn", "documentation":"

The ARN of the created vehicle.

" @@ -1619,16 +1693,16 @@ "thingArn":{ "shape":"arn", "documentation":"

The ARN of a created or validated Amazon Web Services IoT thing.

" - }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The unique ID of the created vehicle.

" } } }, "CreateVehicleResponseItem":{ "type":"structure", "members":{ + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The unique ID of the vehicle to create.

" + }, "arn":{ "shape":"arn", "documentation":"

The ARN of the created vehicle.

" @@ -1636,10 +1710,6 @@ "thingArn":{ "shape":"arn", "documentation":"

The ARN of a created or validated Amazon Web Services IoT thing.

" - }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The unique ID of the vehicle to create.

" } }, "documentation":"

Information about a created vehicle.

" @@ -1657,33 +1727,33 @@ "lastModificationTime" ], "members":{ + "name":{ + "shape":"string", + "documentation":"

The name of the decoder manifest.

" + }, "arn":{ "shape":"arn", "documentation":"

The ARN of a vehicle model (model manifest) associated with the decoder manifest.

" }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the decoder manifest was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "description":{ - "shape":"description", - "documentation":"

A brief description of the decoder manifest.

" - }, - "lastModificationTime":{ - "shape":"timestamp", - "documentation":"

The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, "modelManifestArn":{ "shape":"arn", "documentation":"

The ARN of a vehicle model (model manifest) associated with the decoder manifest.

" }, - "name":{ - "shape":"string", - "documentation":"

The name of the decoder manifest.

" + "description":{ + "shape":"description", + "documentation":"

A brief description of the decoder manifest.

" }, "status":{ "shape":"ManifestStatus", "documentation":"

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.

" + }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the decoder manifest was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" + }, + "lastModificationTime":{ + "shape":"timestamp", + "documentation":"

The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

" } }, "documentation":"

Information about a created decoder manifest. You can use the API operation to return this information about multiple decoder manifests.

" @@ -1691,13 +1761,13 @@ "DecoderManifestValidationException":{ "type":"structure", "members":{ - "invalidNetworkInterfaces":{ - "shape":"InvalidNetworkInterfaces", - "documentation":"

The request couldn't be completed because of invalid network interfaces in the request.

" - }, "invalidSignals":{ "shape":"InvalidSignalDecoders", "documentation":"

The request couldn't be completed because of invalid signals in the request.

" + }, + "invalidNetworkInterfaces":{ + "shape":"InvalidNetworkInterfaces", + "documentation":"

The request couldn't be completed because of invalid network interfaces in the request.

" } }, "documentation":"

The request couldn't be completed because it contains signal decoders with one or more validation errors.

", @@ -1716,13 +1786,13 @@ "DeleteCampaignResponse":{ "type":"structure", "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the deleted campaign.

The ARN isn’t returned if a campaign doesn’t exist.

" - }, "name":{ "shape":"campaignName", "documentation":"

The name of the deleted campaign.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the deleted campaign.

The ARN isn’t returned if a campaign doesn’t exist.

" } } }, @@ -1739,17 +1809,17 @@ "DeleteDecoderManifestResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

" - }, "name":{ "shape":"resourceName", - "documentation":"

" + "documentation":"

The name of the deleted decoder manifest.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the deleted decoder manifest.

" } } }, @@ -1766,13 +1836,13 @@ "DeleteFleetResponse":{ "type":"structure", "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the deleted fleet.

" - }, "id":{ "shape":"fleetId", "documentation":"

The ID of the deleted fleet.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the deleted fleet.

" } } }, @@ -1782,24 +1852,24 @@ "members":{ "name":{ "shape":"resourceName", - "documentation":"

The name of the vehicle model to delete.

" + "documentation":"

The name of the model manifest to delete.

" } } }, "DeleteModelManifestResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

" - }, "name":{ "shape":"resourceName", - "documentation":"

" + "documentation":"

The name of the deleted model manifest.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the deleted model manifest.

" } } }, @@ -1816,17 +1886,17 @@ "DeleteSignalCatalogResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the deleted signal catalog.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the deleted signal catalog.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the deleted signal catalog.

" } } }, @@ -1843,17 +1913,17 @@ "DeleteVehicleResponse":{ "type":"structure", "required":[ - "arn", - "vehicleName" + "vehicleName", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the deleted vehicle.

" - }, "vehicleName":{ "shape":"vehicleName", "documentation":"

The ID of the deleted vehicle.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the deleted vehicle.

" } } }, @@ -1867,17 +1937,17 @@ "DisassociateVehicleFleetRequest":{ "type":"structure", "required":[ - "fleetId", - "vehicleName" + "vehicleName", + "fleetId" ], "members":{ - "fleetId":{ - "shape":"fleetId", - "documentation":"

The unique ID of a fleet.

" - }, "vehicleName":{ "shape":"vehicleName", "documentation":"

The unique ID of the vehicle to disassociate from the fleet.

" + }, + "fleetId":{ + "shape":"fleetId", + "documentation":"

The unique ID of a fleet.

" } } }, @@ -1889,35 +1959,35 @@ "FleetSummary":{ "type":"structure", "required":[ - "arn", - "creationTime", "id", - "signalCatalogArn" + "arn", + "signalCatalogArn", + "creationTime" ], "members":{ + "id":{ + "shape":"fleetId", + "documentation":"

The unique ID of the fleet.

" + }, "arn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the fleet.

" }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the fleet was created, in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, "description":{ "shape":"description", "documentation":"

A brief description of the fleet.

" }, - "id":{ - "shape":"fleetId", - "documentation":"

The unique ID of the fleet.

" + "signalCatalogArn":{ + "shape":"arn", + "documentation":"

The ARN of the signal catalog associated with the fleet.

" + }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the fleet was created, in seconds since epoch (January 1, 1970 at midnight UTC time).

" }, "lastModificationTime":{ "shape":"timestamp", "documentation":"

The time the fleet was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "signalCatalogArn":{ - "shape":"arn", - "documentation":"

The ARN of the signal catalog associated with the fleet.

" } }, "documentation":"

Information about a fleet.

You can use the API operation to return this information about multiple fleets.

" @@ -1957,77 +2027,77 @@ "GetCampaignResponse":{ "type":"structure", "members":{ + "name":{ + "shape":"campaignName", + "documentation":"

The name of the campaign.

" + }, "arn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the campaign.

" }, - "collectionScheme":{ - "shape":"CollectionScheme", - "documentation":"

Information about the data collection scheme associated with the campaign.

" - }, - "compression":{ - "shape":"Compression", - "documentation":"

Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If OFF is specified, the signals aren't compressed. If it's not specified, SNAPPY is used.

" - }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the campaign was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "dataExtraDimensions":{ - "shape":"DataExtraDimensionNodePathList", - "documentation":"

A list of vehicle attributes associated with the campaign.

" - }, "description":{ "shape":"description", "documentation":"

The description of the campaign.

" }, - "diagnosticsMode":{ - "shape":"DiagnosticsMode", - "documentation":"

Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise.

" + "signalCatalogArn":{ + "shape":"arn", + "documentation":"

The ARN of a signal catalog.

" }, - "expiryTime":{ - "shape":"timestamp", - "documentation":"

The time the campaign expires, in seconds since epoch (January 1, 1970 at midnight UTC time). Vehicle data won't be collected after the campaign expires.

" + "targetArn":{ + "shape":"arn", + "documentation":"

The ARN of the vehicle or the fleet targeted by the campaign.

" }, - "lastModificationTime":{ + "status":{ + "shape":"CampaignStatus", + "documentation":"

The state of the campaign. The status can be one of: CREATING, WAITING_FOR_APPROVAL, RUNNING, and SUSPENDED.

" + }, + "startTime":{ "shape":"timestamp", - "documentation":"

The last time the campaign was modified.

" + "documentation":"

The time, in milliseconds, to deliver a campaign after it was approved.

" }, - "name":{ - "shape":"campaignName", - "documentation":"

The name of the campaign.

" + "expiryTime":{ + "shape":"timestamp", + "documentation":"

The time the campaign expires, in seconds since epoch (January 1, 1970 at midnight UTC time). Vehicle data won't be collected after the campaign expires.

" }, "postTriggerCollectionDuration":{ "shape":"uint32", "documentation":"

How long (in seconds) to collect raw data after a triggering event initiates the collection.

" }, + "diagnosticsMode":{ + "shape":"DiagnosticsMode", + "documentation":"

Option for a vehicle to send diagnostic trouble codes to Amazon Web Services IoT FleetWise.

" + }, + "spoolingMode":{ + "shape":"SpoolingMode", + "documentation":"

Whether to store collected data after a vehicle lost a connection with the cloud. After a connection is re-established, the data is automatically forwarded to Amazon Web Services IoT FleetWise.

" + }, + "compression":{ + "shape":"Compression", + "documentation":"

Whether to compress signals before transmitting data to Amazon Web Services IoT FleetWise. If OFF is specified, the signals aren't compressed. If it's not specified, SNAPPY is used.

" + }, "priority":{ "shape":"priority", "documentation":"

A number indicating the priority of one campaign over another campaign for a certain vehicle or fleet. A campaign with the lowest value is deployed to vehicles before any other campaigns.

" }, - "signalCatalogArn":{ - "shape":"arn", - "documentation":"

The ARN of a signal catalog.

" - }, "signalsToCollect":{ "shape":"SignalInformationList", "documentation":"

Information about a list of signals to collect data on.

" }, - "spoolingMode":{ - "shape":"SpoolingMode", - "documentation":"

Whether to store collected data after a vehicle lost a connection with the cloud. After a connection is re-established, the data is automatically forwarded to Amazon Web Services IoT FleetWise.

" + "collectionScheme":{ + "shape":"CollectionScheme", + "documentation":"

Information about the data collection scheme associated with the campaign.

" }, - "startTime":{ - "shape":"timestamp", - "documentation":"

The time, in milliseconds, to deliver a campaign after it was approved.

" + "dataExtraDimensions":{ + "shape":"DataExtraDimensionNodePathList", + "documentation":"

A list of vehicle attributes associated with the campaign.

" }, - "status":{ - "shape":"CampaignStatus", - "documentation":"

The state of the campaign. The status can be one of: CREATING, WAITING_FOR_APPROVAL, RUNNING, and SUSPENDED.

" + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the campaign was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" }, - "targetArn":{ - "shape":"arn", - "documentation":"

The ARN of the vehicle or the fleet targeted by the campaign.

" + "lastModificationTime":{ + "shape":"timestamp", + "documentation":"

The last time the campaign was modified.

" } } }, @@ -2044,39 +2114,39 @@ "GetDecoderManifestResponse":{ "type":"structure", "required":[ + "name", "arn", "creationTime", - "lastModificationTime", - "name" + "lastModificationTime" ], "members":{ + "name":{ + "shape":"string", + "documentation":"

The name of the decoder manifest.

" + }, "arn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the decoder manifest.

" }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the decoder manifest was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, "description":{ "shape":"description", "documentation":"

A brief description of the decoder manifest.

" }, - "lastModificationTime":{ - "shape":"timestamp", - "documentation":"

The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, "modelManifestArn":{ "shape":"arn", "documentation":"

The ARN of a vehicle model (model manifest) associated with the decoder manifest.

" }, - "name":{ - "shape":"string", - "documentation":"

The name of the decoder manifest.

" - }, "status":{ "shape":"ManifestStatus", "documentation":"

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.

" + }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the decoder manifest was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" + }, + "lastModificationTime":{ + "shape":"timestamp", + "documentation":"

The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

" } } }, @@ -2093,36 +2163,51 @@ "GetFleetResponse":{ "type":"structure", "required":[ + "id", "arn", + "signalCatalogArn", "creationTime", - "id", - "lastModificationTime", - "signalCatalogArn" + "lastModificationTime" ], "members":{ + "id":{ + "shape":"fleetId", + "documentation":"

The ID of the fleet.

" + }, "arn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the fleet.

" }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the fleet was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, "description":{ "shape":"description", "documentation":"

A brief description of the fleet.

" }, - "id":{ - "shape":"fleetId", - "documentation":"

The ID of the fleet.

" + "signalCatalogArn":{ + "shape":"arn", + "documentation":"

The ARN of a signal catalog associated with the fleet.

" + }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the fleet was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" }, "lastModificationTime":{ "shape":"timestamp", "documentation":"

The time the fleet was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "signalCatalogArn":{ - "shape":"arn", - "documentation":"

The ARN of a signal catalog associated with the fleet.

" + } + } + }, + "GetLoggingOptionsRequest":{ + "type":"structure", + "members":{ + } + }, + "GetLoggingOptionsResponse":{ + "type":"structure", + "required":["cloudWatchLogDelivery"], + "members":{ + "cloudWatchLogDelivery":{ + "shape":"CloudWatchLogDeliveryOptions", + "documentation":"

Returns information about log delivery to Amazon CloudWatch Logs.

" } } }, @@ -2139,32 +2224,24 @@ "GetModelManifestResponse":{ "type":"structure", "required":[ + "name", "arn", "creationTime", - "lastModificationTime", - "name" + "lastModificationTime" ], "members":{ + "name":{ + "shape":"resourceName", + "documentation":"

The name of the vehicle model.

" + }, "arn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the vehicle model.

" }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the vehicle model was created, in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, "description":{ "shape":"description", "documentation":"

A brief description of the vehicle model.

" }, - "lastModificationTime":{ - "shape":"timestamp", - "documentation":"

The last time the vehicle model was modified.

" - }, - "name":{ - "shape":"resourceName", - "documentation":"

The name of the vehicle model.

" - }, "signalCatalogArn":{ "shape":"arn", "documentation":"

The ARN of the signal catalog associated with the vehicle model.

" @@ -2172,6 +2249,14 @@ "status":{ "shape":"ManifestStatus", "documentation":"

The state of the vehicle model. If the status is ACTIVE, the vehicle model can't be edited. You can edit the vehicle model if the status is marked DRAFT.

" + }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the vehicle model was created, in seconds since epoch (January 1, 1970 at midnight UTC time).

" + }, + "lastModificationTime":{ + "shape":"timestamp", + "documentation":"

The last time the vehicle model was modified.

" } } }, @@ -2183,37 +2268,37 @@ "GetRegisterAccountStatusResponse":{ "type":"structure", "required":[ - "accountStatus", - "creationTime", "customerAccountId", + "accountStatus", + "timestreamRegistrationResponse", "iamRegistrationResponse", - "lastModificationTime", - "timestreamRegistrationResponse" + "creationTime", + "lastModificationTime" ], "members":{ + "customerAccountId":{ + "shape":"customerAccountId", + "documentation":"

The unique ID of the Amazon Web Services account, provided at account creation.

" + }, "accountStatus":{ "shape":"RegistrationStatus", "documentation":"

The status of registering your account and resources. The status can be one of:

  • REGISTRATION_SUCCESS - The Amazon Web Services resource is successfully registered.

  • REGISTRATION_PENDING - Amazon Web Services IoT FleetWise is processing the registration request. This process takes approximately five minutes to complete.

  • REGISTRATION_FAILURE - Amazon Web Services IoT FleetWise can't register the AWS resource. Try again later.

" }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the account was registered, in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "customerAccountId":{ - "shape":"customerAccountId", - "documentation":"

The unique ID of the Amazon Web Services account, provided at account creation.

" + "timestreamRegistrationResponse":{ + "shape":"TimestreamRegistrationResponse", + "documentation":"

Information about the registered Amazon Timestream resources or errors, if any.

" }, "iamRegistrationResponse":{ "shape":"IamRegistrationResponse", "documentation":"

Information about the registered IAM resources or errors, if any.

" }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the account was registered, in seconds since epoch (January 1, 1970 at midnight UTC time).

" + }, "lastModificationTime":{ "shape":"timestamp", "documentation":"

The time this registration was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "timestreamRegistrationResponse":{ - "shape":"TimestreamRegistrationResponse", - "documentation":"

Information about the registered Amazon Timestream resources or errors, if any.

" } } }, @@ -2230,35 +2315,35 @@ "GetSignalCatalogResponse":{ "type":"structure", "required":[ + "name", "arn", "creationTime", - "lastModificationTime", - "name" + "lastModificationTime" ], "members":{ + "name":{ + "shape":"resourceName", + "documentation":"

The name of the signal catalog.

" + }, "arn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the signal catalog.

" }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the signal catalog was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, "description":{ "shape":"description", "documentation":"

A brief description of the signal catalog.

" }, - "lastModificationTime":{ - "shape":"timestamp", - "documentation":"

The last time the signal catalog was modified.

" - }, - "name":{ - "shape":"resourceName", - "documentation":"

The name of the signal catalog.

" - }, "nodeCounts":{ "shape":"NodeCounts", "documentation":"

The total number of network nodes specified in a signal catalog.

" + }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the signal catalog was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" + }, + "lastModificationTime":{ + "shape":"timestamp", + "documentation":"

The last time the signal catalog was modified.

" } } }, @@ -2275,10 +2360,22 @@ "GetVehicleResponse":{ "type":"structure", "members":{ + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The ID of the vehicle.

" + }, "arn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the vehicle to retrieve information about.

" }, + "modelManifestArn":{ + "shape":"arn", + "documentation":"

The ARN of a vehicle model (model manifest) associated with the vehicle.

" + }, + "decoderManifestArn":{ + "shape":"arn", + "documentation":"

The ARN of a decoder manifest associated with the vehicle.

" + }, "attributes":{ "shape":"attributesMap", "documentation":"

Static information about a vehicle in a key-value pair. For example:

\"engineType\" : \"1.3 L R2\"

" @@ -2286,22 +2383,10 @@ "creationTime":{ "shape":"timestamp", "documentation":"

The time the vehicle was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "decoderManifestArn":{ - "shape":"arn", - "documentation":"

The ARN of a decoder manifest associated with the vehicle.

" - }, - "lastModificationTime":{ - "shape":"timestamp", - "documentation":"

The time the vehicle was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "modelManifestArn":{ - "shape":"arn", - "documentation":"

The ARN of a vehicle model (model manifest) associated with the vehicle.

" - }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The ID of the vehicle.

" + }, + "lastModificationTime":{ + "shape":"timestamp", + "documentation":"

The time the vehicle was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

" } } }, @@ -2309,14 +2394,14 @@ "type":"structure", "required":["vehicleName"], "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" + }, "vehicleName":{ "shape":"vehicleName", "documentation":"

The ID of the vehicle to retrieve information about.

" @@ -2340,26 +2425,26 @@ "type":"string", "max":2048, "min":20, - "pattern":"^arn:(aws[a-zA-Z0-9-]*):iam::(\\d{12})?:(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)$" + "pattern":"arn:(aws[a-zA-Z0-9-]*):iam::(\\d{12})?:(role((\\u002F)|(\\u002F[\\u0021-\\u007F]+\\u002F))[\\w+=,.@-]+)" }, "IamRegistrationResponse":{ "type":"structure", "required":[ - "registrationStatus", - "roleArn" + "roleArn", + "registrationStatus" ], "members":{ - "errorMessage":{ - "shape":"errorMessage", - "documentation":"

A message associated with a registration error.

" + "roleArn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the IAM role to register.

" }, "registrationStatus":{ "shape":"RegistrationStatus", "documentation":"

The status of registering your IAM resource. The status can be one of REGISTRATION_SUCCESS, REGISTRATION_PENDING, REGISTRATION_FAILURE.

" }, - "roleArn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role to register.

" + "errorMessage":{ + "shape":"errorMessage", + "documentation":"

A message associated with a registration error.

" } }, "documentation":"

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.

" @@ -2395,17 +2480,17 @@ "ImportDecoderManifestResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the decoder manifest that was imported.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the imported decoder manifest.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the decoder manifest that was imported.

" } } }, @@ -2413,38 +2498,38 @@ "type":"structure", "required":["name"], "members":{ - "description":{ - "shape":"description", - "documentation":"

A brief description of the signal catalog.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the signal catalog to import.

" }, - "tags":{ - "shape":"TagList", - "documentation":"

Metadata that can be used to manage the signal catalog.

" + "description":{ + "shape":"description", + "documentation":"

A brief description of the signal catalog.

" }, "vss":{ "shape":"FormattedVss", "documentation":"

The contents of the Vehicle Signal Specification (VSS) configuration. VSS is a precise language used to describe and model signals in vehicle networks.

" + }, + "tags":{ + "shape":"TagList", + "documentation":"

Metadata that can be used to manage the signal catalog.

" } } }, "ImportSignalCatalogResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the imported signal catalog.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the imported signal catalog.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the imported signal catalog.

" } } }, @@ -2545,11 +2630,11 @@ "InvalidSignalsException":{ "type":"structure", "members":{ + "message":{"shape":"string"}, "invalidSignals":{ "shape":"InvalidSignals", "documentation":"

The signals which caused the exception.

" - }, - "message":{"shape":"string"} + } }, "documentation":"

The request couldn't be completed because it contains signals that aren't valid.

", "exception":true @@ -2578,14 +2663,14 @@ "ListCampaignsRequest":{ "type":"structure", "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" + }, "status":{ "shape":"status", "documentation":"

Optional parameter to filter the results by the status of each created campaign in your account. The status can be one of: CREATING, WAITING_FOR_APPROVAL, RUNNING, or SUSPENDED.

" @@ -2609,10 +2694,6 @@ "type":"structure", "required":["name"], "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the decoder manifest to list information about.

" @@ -2620,6 +2701,10 @@ "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, @@ -2640,10 +2725,6 @@ "type":"structure", "required":["name"], "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the decoder manifest to list information about.

" @@ -2651,29 +2732,29 @@ "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, "ListDecoderManifestSignalsResponse":{ "type":"structure", "members":{ - "nextToken":{ - "shape":"nextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - }, "signalDecoders":{ "shape":"SignalDecoders", "documentation":"

Information about a list of signals to decode.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" } } }, "ListDecoderManifestsRequest":{ "type":"structure", "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "modelManifestArn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of a vehicle model (model manifest) associated with the decoder manifest.

" @@ -2681,19 +2762,23 @@ "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, "ListDecoderManifestsResponse":{ "type":"structure", "members":{ - "nextToken":{ - "shape":"nextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - }, "summaries":{ "shape":"decoderManifestSummaries", "documentation":"

A list of information about each decoder manifest.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" } } }, @@ -2701,17 +2786,17 @@ "type":"structure", "required":["vehicleName"], "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The ID of the vehicle to retrieve information about.

" }, "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The ID of the vehicle to retrieve information about.

" + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, @@ -2731,13 +2816,13 @@ "ListFleetsRequest":{ "type":"structure", "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, @@ -2758,10 +2843,6 @@ "type":"structure", "required":["name"], "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the vehicle model to list information about.

" @@ -2769,49 +2850,53 @@ "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, "ListModelManifestNodesResponse":{ "type":"structure", "members":{ - "nextToken":{ - "shape":"nextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - }, "nodes":{ "shape":"Nodes", "documentation":"

A list of information about nodes.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" } } }, "ListModelManifestsRequest":{ "type":"structure", "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" + "signalCatalogArn":{ + "shape":"arn", + "documentation":"

The ARN of a signal catalog. If you specify a signal catalog, only the vehicle models associated with it are returned.

" }, "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" }, - "signalCatalogArn":{ - "shape":"arn", - "documentation":"

The ARN of a signal catalog. If you specify a signal catalog, only the vehicle models associated with it are returned.

" + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, "ListModelManifestsResponse":{ "type":"structure", "members":{ - "nextToken":{ - "shape":"nextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - }, "summaries":{ "shape":"modelManifestSummaries", "documentation":"

A list of information about vehicle models.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" } } }, @@ -2819,10 +2904,6 @@ "type":"structure", "required":["name"], "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the signal catalog to list information about.

" @@ -2830,45 +2911,49 @@ "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, "ListSignalCatalogNodesResponse":{ "type":"structure", "members":{ - "nextToken":{ - "shape":"nextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - }, "nodes":{ "shape":"Nodes", "documentation":"

A list of information about nodes.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" } } }, "ListSignalCatalogsRequest":{ "type":"structure", "members":{ - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, "ListSignalCatalogsResponse":{ "type":"structure", "members":{ - "nextToken":{ - "shape":"nextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - }, "summaries":{ "shape":"signalCatalogSummaries", "documentation":"

A list of information about each signal catalog.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" } } }, @@ -2899,36 +2984,32 @@ "shape":"fleetId", "documentation":"

The ID of a fleet.

" }, - "maxResults":{ - "shape":"maxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"maxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, "ListVehiclesInFleetResponse":{ "type":"structure", "members":{ - "nextToken":{ - "shape":"nextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - }, "vehicles":{ "shape":"vehicles", "documentation":"

A list of vehicles associated with the fleet.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" } } }, "ListVehiclesRequest":{ "type":"structure", "members":{ - "maxResults":{ - "shape":"listVehiclesMaxResults", - "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" - }, "modelManifestArn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of a vehicle model (model manifest). You can use this optional parameter to list only the vehicles created from a certain vehicle model.

" @@ -2936,22 +3017,33 @@ "nextToken":{ "shape":"nextToken", "documentation":"

A pagination token for the next set of results.

If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next set of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value.

" + }, + "maxResults":{ + "shape":"listVehiclesMaxResults", + "documentation":"

The maximum number of items to return, between 1 and 100, inclusive.

" } } }, "ListVehiclesResponse":{ "type":"structure", "members":{ - "nextToken":{ - "shape":"nextToken", - "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" - }, "vehicleSummaries":{ "shape":"vehicleSummaries", "documentation":"

A list of vehicles and information about them.

" + }, + "nextToken":{ + "shape":"nextToken", + "documentation":"

The token to retrieve the next set of results, or null if there are no more results.

" } } }, + "LogType":{ + "type":"string", + "enum":[ + "OFF", + "ERROR" + ] + }, "ManifestStatus":{ "type":"string", "enum":[ @@ -2961,38 +3053,38 @@ }, "ModelManifestSummary":{ "type":"structure", - "required":[ - "creationTime", - "lastModificationTime" - ], - "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the vehicle model.

" - }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the vehicle model was created, in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "description":{ - "shape":"description", - "documentation":"

A brief description of the vehicle model.

" - }, - "lastModificationTime":{ - "shape":"timestamp", - "documentation":"

The time the vehicle model was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, + "required":[ + "creationTime", + "lastModificationTime" + ], + "members":{ "name":{ "shape":"string", "documentation":"

The name of the vehicle model.

" }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the vehicle model.

" + }, "signalCatalogArn":{ "shape":"arn", "documentation":"

The ARN of the signal catalog associated with the vehicle model.

" }, + "description":{ + "shape":"description", + "documentation":"

A brief description of the vehicle model.

" + }, "status":{ "shape":"ManifestStatus", "documentation":"

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.

" + }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the vehicle model was created, in seconds since epoch (January 1, 1970 at midnight UTC time).

" + }, + "lastModificationTime":{ + "shape":"timestamp", + "documentation":"

The time the vehicle model was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time).

" } }, "documentation":"

Information about a vehicle model (model manifest). You can use the API operation to return this information about multiple vehicle models.

" @@ -3031,21 +3123,21 @@ "type" ], "members":{ - "canInterface":{ - "shape":"CanInterface", - "documentation":"

Information about a network interface specified by the Controller Area Network (CAN) protocol.

" - }, "interfaceId":{ "shape":"InterfaceId", "documentation":"

The ID of the network interface.

" }, - "obdInterface":{ - "shape":"ObdInterface", - "documentation":"

Information about a network interface specified by the On-board diagnostic (OBD) II protocol.

" - }, "type":{ "shape":"NetworkInterfaceType", "documentation":"

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.

" + }, + "canInterface":{ + "shape":"CanInterface", + "documentation":"

Information about a network interface specified by the Controller Area Network (CAN) protocol.

" + }, + "obdInterface":{ + "shape":"ObdInterface", + "documentation":"

Information about a network interface specified by the On-board diagnostic (OBD) II protocol.

" } }, "documentation":"

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.

" @@ -3077,6 +3169,11 @@ "Node":{ "type":"structure", "members":{ + "branch":{ + "shape":"Branch", + "documentation":"

Information about a node specified as a branch.

A group of signals that are defined in a hierarchical structure.

" + }, + "sensor":{"shape":"Sensor"}, "actuator":{ "shape":"Actuator", "documentation":"

Information about a node specified as an actuator.

An actuator is a digital representation of a vehicle device.

" @@ -3084,12 +3181,7 @@ "attribute":{ "shape":"Attribute", "documentation":"

Information about a node specified as an attribute.

An attribute represents static information about a vehicle.

" - }, - "branch":{ - "shape":"Branch", - "documentation":"

Information about a node specified as a branch.

A group of signals that are defined in a hierarchical structure.

" - }, - "sensor":{"shape":"Sensor"} + } }, "documentation":"

A general abstraction of a signal. A node can be specified as an actuator, attribute, branch, or sensor.

", "union":true @@ -3097,25 +3189,25 @@ "NodeCounts":{ "type":"structure", "members":{ - "totalActuators":{ - "shape":"number", - "documentation":"

The total number of nodes in a vehicle network that represent actuators.

" - }, - "totalAttributes":{ + "totalNodes":{ "shape":"number", - "documentation":"

The total number of nodes in a vehicle network that represent attributes.

" + "documentation":"

The total number of nodes in a vehicle network.

" }, "totalBranches":{ "shape":"number", "documentation":"

The total number of nodes in a vehicle network that represent branches.

" }, - "totalNodes":{ - "shape":"number", - "documentation":"

The total number of nodes in a vehicle network.

" - }, "totalSensors":{ "shape":"number", "documentation":"

The total number of nodes in a vehicle network that represent sensors.

" + }, + "totalAttributes":{ + "shape":"number", + "documentation":"

The total number of nodes in a vehicle network that represent attributes.

" + }, + "totalActuators":{ + "shape":"number", + "documentation":"

The total number of nodes in a vehicle network that represent actuators.

" } }, "documentation":"

Information about the number of nodes and node types in a vehicle network.

" @@ -3156,7 +3248,7 @@ "type":"string", "max":150, "min":1, - "pattern":"^[a-zA-Z0-9_.]+$" + "pattern":"[a-zA-Z0-9_.]+" }, "NodePaths":{ "type":"list", @@ -3189,18 +3281,14 @@ "requestMessageId" ], "members":{ - "dtcRequestIntervalSeconds":{ - "shape":"nonNegativeInteger", - "documentation":"

The maximum number message requests per diagnostic trouble code per second.

" - }, - "hasTransmissionEcu":{ - "shape":"boolean", - "documentation":"

Whether the vehicle has a transmission control module (TCM).

" - }, "name":{ "shape":"ObdInterfaceName", "documentation":"

The name of the interface.

" }, + "requestMessageId":{ + "shape":"nonNegativeInteger", + "documentation":"

The ID of the message requesting vehicle data.

" + }, "obdStandard":{ "shape":"ObdStandard", "documentation":"

The standard OBD II PID.

" @@ -3209,13 +3297,17 @@ "shape":"nonNegativeInteger", "documentation":"

The maximum number message requests per second.

" }, - "requestMessageId":{ + "dtcRequestIntervalSeconds":{ "shape":"nonNegativeInteger", - "documentation":"

The ID of the message requesting vehicle data.

" + "documentation":"

The maximum number message requests per diagnostic trouble code per second.

" }, "useExtendedIds":{ "shape":"boolean", "documentation":"

Whether to use extended IDs in the message.

" + }, + "hasTransmissionEcu":{ + "shape":"boolean", + "documentation":"

Whether the vehicle has a transmission control module (TCM).

" } }, "documentation":"

A network interface that specifies the On-board diagnostic (OBD) II network protocol.

" @@ -3228,50 +3320,50 @@ "ObdSignal":{ "type":"structure", "required":[ - "byteLength", - "offset", - "pid", "pidResponseLength", - "scaling", "serviceMode", - "startByte" + "pid", + "scaling", + "offset", + "startByte", + "byteLength" ], "members":{ - "bitMaskLength":{ - "shape":"ObdBitmaskLength", - "documentation":"

The number of bits to mask in a message.

" + "pidResponseLength":{ + "shape":"positiveInteger", + "documentation":"

The length of the requested data.

" }, - "bitRightShift":{ + "serviceMode":{ "shape":"nonNegativeInteger", - "documentation":"

The number of positions to shift bits in the message.

" - }, - "byteLength":{ - "shape":"ObdByteLength", - "documentation":"

The length of a message.

" - }, - "offset":{ - "shape":"double", - "documentation":"

Indicates where data appears in the message.

" + "documentation":"

The mode of operation (diagnostic service) in a message.

" }, "pid":{ "shape":"nonNegativeInteger", "documentation":"

The diagnostic code used to request data from a vehicle for this signal.

" }, - "pidResponseLength":{ - "shape":"positiveInteger", - "documentation":"

The length of the requested data.

" - }, "scaling":{ "shape":"double", "documentation":"

A multiplier used to decode the message.

" }, - "serviceMode":{ - "shape":"nonNegativeInteger", - "documentation":"

The mode of operation (diagnostic service) in a message.

" + "offset":{ + "shape":"double", + "documentation":"

Indicates where data appears in the message.

" }, "startByte":{ "shape":"nonNegativeInteger", "documentation":"

Indicates the beginning of the message.

" + }, + "byteLength":{ + "shape":"ObdByteLength", + "documentation":"

The length of a message.

" + }, + "bitRightShift":{ + "shape":"nonNegativeInteger", + "documentation":"

The number of positions to shift bits in the message.

" + }, + "bitMaskLength":{ + "shape":"ObdBitmaskLength", + "documentation":"

The number of bits to mask in a message.

" } }, "documentation":"

Information about signal messages using the on-board diagnostics (OBD) II protocol in a vehicle.

" @@ -3291,47 +3383,61 @@ "max":50, "min":1 }, + "PutLoggingOptionsRequest":{ + "type":"structure", + "required":["cloudWatchLogDelivery"], + "members":{ + "cloudWatchLogDelivery":{ + "shape":"CloudWatchLogDeliveryOptions", + "documentation":"

Creates or updates the log delivery option to Amazon CloudWatch Logs.

" + } + } + }, + "PutLoggingOptionsResponse":{ + "type":"structure", + "members":{ + } + }, "RegisterAccountRequest":{ "type":"structure", - "required":[ - "iamResources", - "timestreamResources" - ], + "required":["timestreamResources"], "members":{ + "timestreamResources":{"shape":"TimestreamResources"}, "iamResources":{ "shape":"IamResources", - "documentation":"

The IAM resource that allows Amazon Web Services IoT FleetWise to send data to Amazon Timestream.

" - }, - "timestreamResources":{"shape":"TimestreamResources"} + "documentation":"

The IAM resource that allows Amazon Web Services IoT FleetWise to send data to Amazon Timestream.

", + "deprecated":true, + "deprecatedMessage":"iamResources is no longer used or needed as input" + } } }, "RegisterAccountResponse":{ "type":"structure", "required":[ - "creationTime", - "iamResources", - "lastModificationTime", "registerAccountStatus", - "timestreamResources" + "timestreamResources", + "iamResources", + "creationTime", + "lastModificationTime" ], "members":{ - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the account was registered, in seconds since epoch (January 1, 1970 at midnight UTC time).

" + "registerAccountStatus":{ + "shape":"RegistrationStatus", + "documentation":"

The status of registering your Amazon Web Services account, IAM role, and Timestream resources.

" }, + "timestreamResources":{"shape":"TimestreamResources"}, "iamResources":{ "shape":"IamResources", "documentation":"

The registered IAM resource that allows Amazon Web Services IoT FleetWise to send data to Amazon Timestream.

" }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the account was registered, in seconds since epoch (January 1, 1970 at midnight UTC time).

" + }, "lastModificationTime":{ "shape":"timestamp", "documentation":"

The time this registration was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "registerAccountStatus":{ - "shape":"RegistrationStatus", - "documentation":"

The status of registering your Amazon Web Services account, IAM role, and Timestream resources.

" - }, - "timestreamResources":{"shape":"TimestreamResources"} + } } }, "RegistrationStatus":{ @@ -3367,13 +3473,13 @@ "Sensor":{ "type":"structure", "required":[ - "dataType", - "fullyQualifiedName" + "fullyQualifiedName", + "dataType" ], "members":{ - "allowedValues":{ - "shape":"listOfStrings", - "documentation":"

A list of possible values a sensor can take.

" + "fullyQualifiedName":{ + "shape":"string", + "documentation":"

The fully qualified name of the sensor. For example, the fully qualified name of a sensor might be Vehicle.Body.Engine.Battery.

" }, "dataType":{ "shape":"NodeDataType", @@ -3383,21 +3489,21 @@ "shape":"description", "documentation":"

A brief description of a sensor.

" }, - "fullyQualifiedName":{ + "unit":{ "shape":"string", - "documentation":"

The fully qualified name of the sensor. For example, the fully qualified name of a sensor might be Vehicle.Body.Engine.Battery.

" + "documentation":"

The scientific unit of measurement for data collected by the sensor.

" }, - "max":{ - "shape":"double", - "documentation":"

The specified possible maximum value of the sensor.

" + "allowedValues":{ + "shape":"listOfStrings", + "documentation":"

A list of possible values a sensor can take.

" }, "min":{ "shape":"double", "documentation":"

The specified possible minimum value of the sensor.

" }, - "unit":{ - "shape":"string", - "documentation":"

The scientific unit of measurement for data collected by the sensor.

" + "max":{ + "shape":"double", + "documentation":"

The specified possible maximum value of the sensor.

" } }, "documentation":"

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.

" @@ -3405,6 +3511,10 @@ "SignalCatalogSummary":{ "type":"structure", "members":{ + "name":{ + "shape":"string", + "documentation":"

The name of the signal catalog.

" + }, "arn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the signal catalog.

" @@ -3416,10 +3526,6 @@ "lastModificationTime":{ "shape":"timestamp", "documentation":"

The time the signal catalog was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "name":{ - "shape":"string", - "documentation":"

The name of the signal catalog.

" } }, "documentation":"

Information about a collection of standardized signals, which can be attributes, branches, sensors, or actuators.

" @@ -3428,29 +3534,29 @@ "type":"structure", "required":[ "fullyQualifiedName", - "interfaceId", - "type" + "type", + "interfaceId" ], "members":{ - "canSignal":{ - "shape":"CanSignal", - "documentation":"

Information about signal decoder using the Controller Area Network (CAN) protocol.

" - }, "fullyQualifiedName":{ "shape":"FullyQualifiedName", "documentation":"

The fully qualified name of a signal decoder as defined in a vehicle model.

" }, + "type":{ + "shape":"SignalDecoderType", + "documentation":"

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.

" + }, "interfaceId":{ "shape":"InterfaceId", "documentation":"

The ID of a network interface that specifies what network protocol a vehicle follows.

" }, + "canSignal":{ + "shape":"CanSignal", + "documentation":"

Information about signal decoder using the Controller Area Network (CAN) protocol.

" + }, "obdSignal":{ "shape":"ObdSignal", "documentation":"

Information about signal decoder using the On-board diagnostic (OBD) II protocol.

" - }, - "type":{ - "shape":"SignalDecoderType", - "documentation":"

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.

" } }, "documentation":"

Information about a signal decoder.

" @@ -3486,6 +3592,10 @@ "type":"structure", "required":["name"], "members":{ + "name":{ + "shape":"wildcardSignalName", + "documentation":"

The name of the signal.

" + }, "maxSampleCount":{ "shape":"maxSampleCount", "documentation":"

The maximum number of samples to collect.

" @@ -3493,10 +3603,6 @@ "minimumSamplingIntervalMs":{ "shape":"uint32", "documentation":"

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.

" - }, - "name":{ - "shape":"wildcardSignalName", - "documentation":"

The name of the signal.

" } }, "documentation":"

Information about a signal.

" @@ -3586,13 +3692,13 @@ "shape":"string", "documentation":"

The quota identifier of the applied throttling rules for this request.

" }, - "retryAfterSeconds":{ - "shape":"RetryAfterSeconds", - "documentation":"

The number of seconds to wait before retrying the command.

" - }, "serviceCode":{ "shape":"string", "documentation":"

The code for the service that couldn't be completed due to throttling.

" + }, + "retryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "documentation":"

The number of seconds to wait before retrying the command.

" } }, "documentation":"

The request couldn't be completed due to throttling.

", @@ -3613,39 +3719,39 @@ "type":"string", "max":255, "min":3, - "pattern":"^[a-zA-Z0-9_.-]+$" + "pattern":"[a-zA-Z0-9_.-]+" }, "TimestreamRegistrationResponse":{ "type":"structure", "required":[ - "registrationStatus", "timestreamDatabaseName", - "timestreamTableName" + "timestreamTableName", + "registrationStatus" ], "members":{ - "errorMessage":{ - "shape":"errorMessage", - "documentation":"

A message associated with a registration error.

" + "timestreamDatabaseName":{ + "shape":"TimestreamDatabaseName", + "documentation":"

The name of the Timestream database.

" }, - "registrationStatus":{ - "shape":"RegistrationStatus", - "documentation":"

The status of registering your Amazon Timestream resources. The status can be one of REGISTRATION_SUCCESS, REGISTRATION_PENDING, REGISTRATION_FAILURE.

" + "timestreamTableName":{ + "shape":"TimestreamTableName", + "documentation":"

The name of the Timestream database table.

" }, "timestreamDatabaseArn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the Timestream database.

" }, - "timestreamDatabaseName":{ - "shape":"TimestreamDatabaseName", - "documentation":"

The name of the Timestream database.

" - }, "timestreamTableArn":{ "shape":"arn", "documentation":"

The ARN of the Timestream database table.

" }, - "timestreamTableName":{ - "shape":"TimestreamTableName", - "documentation":"

The name of the Timestream database table.

" + "registrationStatus":{ + "shape":"RegistrationStatus", + "documentation":"

The status of registering your Amazon Timestream resources. The status can be one of REGISTRATION_SUCCESS, REGISTRATION_PENDING, REGISTRATION_FAILURE.

" + }, + "errorMessage":{ + "shape":"errorMessage", + "documentation":"

A message associated with a registration error.

" } }, "documentation":"

Information about the registered Amazon Timestream resources or errors, if any.

" @@ -3672,7 +3778,7 @@ "type":"string", "max":255, "min":3, - "pattern":"^[a-zA-Z0-9_.-]+$" + "pattern":"[a-zA-Z0-9_.-]+" }, "TriggerMode":{ "type":"string", @@ -3715,25 +3821,25 @@ "UpdateCampaignRequest":{ "type":"structure", "required":[ - "action", - "name" + "name", + "action" ], "members":{ - "action":{ - "shape":"UpdateCampaignAction", - "documentation":"

Specifies how to update a campaign. The action can be one of the following:

  • APPROVE - To approve delivering a data collection scheme to vehicles.

  • SUSPEND - To suspend collecting signal data.

  • RESUME - To resume collecting signal data.

  • UPDATE - To update a campaign.

" - }, - "dataExtraDimensions":{ - "shape":"DataExtraDimensionNodePathList", - "documentation":"

A list of vehicle attributes to associate with a signal.

Default: An empty array

" + "name":{ + "shape":"campaignName", + "documentation":"

The name of the campaign to update.

" }, "description":{ "shape":"description", "documentation":"

The description of the campaign.

" }, - "name":{ - "shape":"campaignName", - "documentation":"

The name of the campaign to update.

" + "dataExtraDimensions":{ + "shape":"DataExtraDimensionNodePathList", + "documentation":"

A list of vehicle attributes to associate with a signal.

Default: An empty array

" + }, + "action":{ + "shape":"UpdateCampaignAction", + "documentation":"

Specifies how to update a campaign. The action can be one of the following:

  • APPROVE - To approve delivering a data collection scheme to vehicles.

  • SUSPEND - To suspend collecting signal data.

  • RESUME - To resume collecting signal data.

  • UPDATE - To update a campaign.

" } } }, @@ -3758,37 +3864,37 @@ "type":"structure", "required":["name"], "members":{ - "description":{ - "shape":"description", - "documentation":"

A brief description of the decoder manifest to update.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the decoder manifest to update.

" }, - "networkInterfacesToAdd":{ - "shape":"NetworkInterfaces", - "documentation":"

A list of information about the network interfaces to add to the decoder manifest.

" - }, - "networkInterfacesToRemove":{ - "shape":"InterfaceIds", - "documentation":"

A list of network interfaces to remove from the decoder manifest.

" - }, - "networkInterfacesToUpdate":{ - "shape":"NetworkInterfaces", - "documentation":"

A list of information about the network interfaces to update in the decoder manifest.

" + "description":{ + "shape":"description", + "documentation":"

A brief description of the decoder manifest to update.

" }, "signalDecodersToAdd":{ "shape":"SignalDecoders", "documentation":"

A list of information about decoding additional signals to add to the decoder manifest.

" }, + "signalDecodersToUpdate":{ + "shape":"SignalDecoders", + "documentation":"

A list of updated information about decoding signals to update in the decoder manifest.

" + }, "signalDecodersToRemove":{ "shape":"Fqns", "documentation":"

A list of signal decoders to remove from the decoder manifest.

" }, - "signalDecodersToUpdate":{ - "shape":"SignalDecoders", - "documentation":"

A list of updated information about decoding signals to update in the decoder manifest.

" + "networkInterfacesToAdd":{ + "shape":"NetworkInterfaces", + "documentation":"

A list of information about the network interfaces to add to the decoder manifest.

" + }, + "networkInterfacesToUpdate":{ + "shape":"NetworkInterfaces", + "documentation":"

A list of information about the network interfaces to update in the decoder manifest.

" + }, + "networkInterfacesToRemove":{ + "shape":"InterfaceIds", + "documentation":"

A list of network interfaces to remove from the decoder manifest.

" }, "status":{ "shape":"ManifestStatus", @@ -3799,17 +3905,17 @@ "UpdateDecoderManifestResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the updated decoder manifest.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the updated decoder manifest.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the updated decoder manifest.

" } } }, @@ -3817,26 +3923,26 @@ "type":"structure", "required":["fleetId"], "members":{ - "description":{ - "shape":"description", - "documentation":"

An updated description of the fleet.

" - }, "fleetId":{ "shape":"fleetId", "documentation":"

The ID of the fleet to update.

" + }, + "description":{ + "shape":"description", + "documentation":"

An updated description of the fleet.

" } } }, "UpdateFleetResponse":{ "type":"structure", "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the updated fleet.

" - }, "id":{ "shape":"fleetId", "documentation":"

The ID of the updated fleet.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the updated fleet.

" } } }, @@ -3851,14 +3957,14 @@ "type":"structure", "required":["name"], "members":{ - "description":{ - "shape":"description", - "documentation":"

A brief description of the vehicle model.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the vehicle model to update.

" }, + "description":{ + "shape":"description", + "documentation":"

A brief description of the vehicle model.

" + }, "nodesToAdd":{ "shape":"NodePaths", "documentation":"

A list of fullyQualifiedName of nodes, which are a general abstraction of signals, to add to the vehicle model.

" @@ -3876,17 +3982,17 @@ "UpdateModelManifestResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the updated vehicle model.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the updated vehicle model.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the updated vehicle model.

" } } }, @@ -3894,48 +4000,52 @@ "type":"structure", "required":["name"], "members":{ - "description":{ - "shape":"description", - "documentation":"

A brief description of the signal catalog to update.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the signal catalog to update.

" }, + "description":{ + "shape":"description", + "documentation":"

A brief description of the signal catalog to update.

" + }, "nodesToAdd":{ "shape":"Nodes", "documentation":"

A list of information about nodes to add to the signal catalog.

" }, - "nodesToRemove":{ - "shape":"NodePaths", - "documentation":"

A list of fullyQualifiedName of nodes to remove from the signal catalog.

" - }, "nodesToUpdate":{ "shape":"Nodes", "documentation":"

A list of information about nodes to update in the signal catalog.

" + }, + "nodesToRemove":{ + "shape":"NodePaths", + "documentation":"

A list of fullyQualifiedName of nodes to remove from the signal catalog.

" } } }, "UpdateSignalCatalogResponse":{ "type":"structure", "required":[ - "arn", - "name" + "name", + "arn" ], "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The ARN of the updated signal catalog.

" - }, "name":{ "shape":"resourceName", "documentation":"

The name of the updated signal catalog.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The ARN of the updated signal catalog.

" } } }, "UpdateVehicleError":{ "type":"structure", "members":{ + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The ID of the vehicle with the error.

" + }, "code":{ "shape":"number", "documentation":"

The relevant HTTP error code (400+).

" @@ -3943,10 +4053,6 @@ "message":{ "shape":"string", "documentation":"

A message associated with the error.

" - }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The ID of the vehicle with the error.

" } }, "documentation":"

An HTTP error resulting from updating the description for a vehicle.

" @@ -3955,25 +4061,25 @@ "type":"structure", "required":["vehicleName"], "members":{ - "attributeUpdateMode":{ - "shape":"UpdateMode", - "documentation":"

The method the specified attributes will update the existing attributes on the vehicle. UseOverwite 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.

" + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The unique ID of the vehicle to update.

" }, - "attributes":{ - "shape":"attributesMap", - "documentation":"

Static information about a vehicle in a key-value pair. For example:

\"engineType\" : \"1.3 L R2\"

" + "modelManifestArn":{ + "shape":"arn", + "documentation":"

The ARN of a vehicle model (model manifest) associated with the vehicle.

" }, "decoderManifestArn":{ "shape":"arn", "documentation":"

The ARN of the decoder manifest associated with this vehicle.

" }, - "modelManifestArn":{ - "shape":"arn", - "documentation":"

The ARN of a vehicle model (model manifest) associated with the vehicle.

" + "attributes":{ + "shape":"attributesMap", + "documentation":"

Static information about a vehicle in a key-value pair. For example:

\"engineType\" : \"1.3 L R2\"

" }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The unique ID of the vehicle to update.

" + "attributeUpdateMode":{ + "shape":"UpdateMode", + "documentation":"

The method the specified attributes will update the existing attributes on the vehicle. UseOverwite 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.

" } } }, @@ -3981,25 +4087,25 @@ "type":"structure", "required":["vehicleName"], "members":{ - "attributeUpdateMode":{ - "shape":"UpdateMode", - "documentation":"

The method the specified attributes will update the existing attributes on the vehicle. UseOverwite 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.

" + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The unique ID of the vehicle to update.

" }, - "attributes":{ - "shape":"attributesMap", - "documentation":"

Static information about a vehicle in a key-value pair. For example:

\"engineType\" : \"1.3 L R2\"

" + "modelManifestArn":{ + "shape":"arn", + "documentation":"

The ARN of the vehicle model (model manifest) associated with the vehicle to update.

" }, "decoderManifestArn":{ "shape":"arn", "documentation":"

The ARN of the signal decoder manifest associated with the vehicle to update.

" }, - "modelManifestArn":{ - "shape":"arn", - "documentation":"

The ARN of the vehicle model (model manifest) associated with the vehicle to update.

" + "attributes":{ + "shape":"attributesMap", + "documentation":"

Static information about a vehicle in a key-value pair. For example:

\"engineType\" : \"1.3 L R2\"

" }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The unique ID of the vehicle to update.

" + "attributeUpdateMode":{ + "shape":"UpdateMode", + "documentation":"

The method the specified attributes will update the existing attributes on the vehicle. UseOverwite 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.

" } }, "documentation":"

Information about the vehicle to update.

" @@ -4007,26 +4113,26 @@ "UpdateVehicleResponse":{ "type":"structure", "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The ARN of the updated vehicle.

" - }, "vehicleName":{ "shape":"vehicleName", "documentation":"

The ID of the updated vehicle.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The ARN of the updated vehicle.

" } } }, "UpdateVehicleResponseItem":{ "type":"structure", "members":{ - "arn":{ - "shape":"arn", - "documentation":"

The Amazon Resource Name (ARN) of the updated vehicle.

" - }, "vehicleName":{ "shape":"vehicleName", "documentation":"

The unique ID of the updated vehicle.

" + }, + "arn":{ + "shape":"arn", + "documentation":"

The Amazon Resource Name (ARN) of the updated vehicle.

" } }, "documentation":"

Information about the updated vehicle.

" @@ -4035,14 +4141,14 @@ "type":"structure", "required":["message"], "members":{ - "fieldList":{ - "shape":"ValidationExceptionFieldList", - "documentation":"

The list of fields that fail to satisfy the constraints specified by an Amazon Web Services service.

" - }, "message":{"shape":"string"}, "reason":{ "shape":"ValidationExceptionReason", "documentation":"

The reason the input failed to satisfy the constraints specified by an Amazon Web Services service.

" + }, + "fieldList":{ + "shape":"ValidationExceptionFieldList", + "documentation":"

The list of fields that fail to satisfy the constraints specified by an Amazon Web Services service.

" } }, "documentation":"

The input fails to satisfy the constraints specified by an Amazon Web Services service.

", @@ -4051,17 +4157,17 @@ "ValidationExceptionField":{ "type":"structure", "required":[ - "message", - "name" + "name", + "message" ], "members":{ - "message":{ - "shape":"String", - "documentation":"

A message about the validation error.

" - }, "name":{ "shape":"String", "documentation":"

The name of the parameter field with the validation error.

" + }, + "message":{ + "shape":"String", + "documentation":"

A message about the validation error.

" } }, "documentation":"

A validation error due to mismatch between the expected data type, length, or pattern of the parameter and the input.

" @@ -4103,13 +4209,13 @@ "shape":"string", "documentation":"

The name of a campaign.

" }, - "status":{ - "shape":"VehicleState", - "documentation":"

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.

" - }, "vehicleName":{ "shape":"vehicleName", "documentation":"

The unique ID of the vehicle.

" + }, + "status":{ + "shape":"VehicleState", + "documentation":"

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.

" } }, "documentation":"

Information about the state of a vehicle and how it relates to the status of a campaign.

" @@ -4121,37 +4227,37 @@ "VehicleSummary":{ "type":"structure", "required":[ + "vehicleName", "arn", - "creationTime", - "decoderManifestArn", - "lastModificationTime", "modelManifestArn", - "vehicleName" + "decoderManifestArn", + "creationTime", + "lastModificationTime" ], "members":{ + "vehicleName":{ + "shape":"vehicleName", + "documentation":"

The unique ID of the vehicle.

" + }, "arn":{ "shape":"arn", "documentation":"

The Amazon Resource Name (ARN) of the vehicle.

" }, - "creationTime":{ - "shape":"timestamp", - "documentation":"

The time the vehicle was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" + "modelManifestArn":{ + "shape":"arn", + "documentation":"

The ARN of a vehicle model (model manifest) associated with the vehicle.

" }, "decoderManifestArn":{ "shape":"arn", "documentation":"

The ARN of a decoder manifest associated with the vehicle.

" }, + "creationTime":{ + "shape":"timestamp", + "documentation":"

The time the vehicle was created in seconds since epoch (January 1, 1970 at midnight UTC time).

" + }, "lastModificationTime":{ "shape":"timestamp", "documentation":"

The time the vehicle was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

" - }, - "modelManifestArn":{ - "shape":"arn", - "documentation":"

The ARN of a vehicle model (model manifest) associated with the vehicle.

" - }, - "vehicleName":{ - "shape":"vehicleName", - "documentation":"

The unique ID of the vehicle.

" } }, "documentation":"

Information about a vehicle.

To return this information about vehicles in your account, you can use the API operation.

" @@ -4161,7 +4267,7 @@ "type":"string", "max":150, "min":1, - "pattern":"^[a-zA-Z0-9_.-]+$" + "pattern":"[a-zA-Z0-9_.-]+" }, "attributeValue":{"type":"string"}, "attributesMap":{ @@ -4174,7 +4280,7 @@ "type":"string", "max":100, "min":1, - "pattern":"^[a-zA-Z\\d\\-_:]+$" + "pattern":"[a-zA-Z\\d\\-_:]+" }, "campaignSummaries":{ "type":"list", @@ -4207,7 +4313,7 @@ "type":"string", "max":2048, "min":1, - "pattern":"^[^\\u0000-\\u001F\\u007F]+$" + "pattern":"[^\\u0000-\\u001F\\u007F]+" }, "double":{ "type":"double", @@ -4223,7 +4329,7 @@ "type":"string", "max":100, "min":1, - "pattern":"^[a-zA-Z0-9:_-]+$" + "pattern":"[a-zA-Z0-9:_-]+" }, "fleetSummaries":{ "type":"list", @@ -4287,7 +4393,7 @@ "type":"string", "max":100, "min":1, - "pattern":"^[a-zA-Z\\d\\-_:]+$" + "pattern":"[a-zA-Z\\d\\-_:]+" }, "signalCatalogSummaries":{ "type":"list", @@ -4318,7 +4424,7 @@ "type":"string", "max":100, "min":1, - "pattern":"^[a-zA-Z\\d\\-_:]+$" + "pattern":"[a-zA-Z\\d\\-_:]+" }, "vehicleSummaries":{ "type":"list", @@ -4332,7 +4438,7 @@ "type":"string", "max":150, "min":1, - "pattern":"^[\\w|*|-]+(\\.[\\w|*|-]+)*$" + "pattern":"[\\w|*|-]+(\\.[\\w|*|-]+)*" } }, "documentation":"

Amazon Web Services IoT FleetWise is in preview release and is subject to change. We recommend that you use the service only with test data, and not in production environments.

While Amazon Web Services IoT FleetWise is in preview, you must download the preview Amazon Web Services SDK and CLI to use the API operations for this service. These API operations aren't available in the public Amazon Web Services SDK or CLI. For more information, see Preview Amazon Web Services SDK and CLI in the Amazon Web Services IoT FleetWise Developer Guide.

Amazon Web Services IoT FleetWise is a fully managed service that you can use to collect, model, and transfer vehicle data to the Amazon Web Services cloud at scale. With Amazon Web Services IoT FleetWise, you can standardize all of your vehicle data models, independent of the in-vehicle communication architecture, and define data collection rules to transfer only high-value data to the cloud.

For more information, see What is Amazon Web Services IoT FleetWise? in the Amazon Web Services IoT FleetWise Developer Guide.

"