update_decoder_manifest

update_decoder_manifest(**kwargs)

Updates a decoder manifest.

A decoder manifest can only be updated when the status is DRAFT . Only ACTIVE decoder manifests can be associated with vehicles.

See also: AWS API Documentation

Request Syntax

response = client.update_decoder_manifest(
    name='string',
    description='string',
    signalDecodersToAdd=[
        {
            'fullyQualifiedName': 'string',
            'type': 'CAN_SIGNAL'|'OBD_SIGNAL',
            'interfaceId': 'string',
            'canSignal': {
                'messageId': 123,
                'isBigEndian': True|False,
                'isSigned': True|False,
                'startBit': 123,
                'offset': 123.0,
                'factor': 123.0,
                'length': 123,
                'name': 'string'
            },
            'obdSignal': {
                'pidResponseLength': 123,
                'serviceMode': 123,
                'pid': 123,
                'scaling': 123.0,
                'offset': 123.0,
                'startByte': 123,
                'byteLength': 123,
                'bitRightShift': 123,
                'bitMaskLength': 123
            }
        },
    ],
    signalDecodersToUpdate=[
        {
            'fullyQualifiedName': 'string',
            'type': 'CAN_SIGNAL'|'OBD_SIGNAL',
            'interfaceId': 'string',
            'canSignal': {
                'messageId': 123,
                'isBigEndian': True|False,
                'isSigned': True|False,
                'startBit': 123,
                'offset': 123.0,
                'factor': 123.0,
                'length': 123,
                'name': 'string'
            },
            'obdSignal': {
                'pidResponseLength': 123,
                'serviceMode': 123,
                'pid': 123,
                'scaling': 123.0,
                'offset': 123.0,
                'startByte': 123,
                'byteLength': 123,
                'bitRightShift': 123,
                'bitMaskLength': 123
            }
        },
    ],
    signalDecodersToRemove=[
        'string',
    ],
    networkInterfacesToAdd=[
        {
            'interfaceId': 'string',
            'type': 'CAN_INTERFACE'|'OBD_INTERFACE',
            'canInterface': {
                'name': 'string',
                'protocolName': 'string',
                'protocolVersion': 'string'
            },
            'obdInterface': {
                'name': 'string',
                'requestMessageId': 123,
                'obdStandard': 'string',
                'pidRequestIntervalSeconds': 123,
                'dtcRequestIntervalSeconds': 123,
                'useExtendedIds': True|False,
                'hasTransmissionEcu': True|False
            }
        },
    ],
    networkInterfacesToUpdate=[
        {
            'interfaceId': 'string',
            'type': 'CAN_INTERFACE'|'OBD_INTERFACE',
            'canInterface': {
                'name': 'string',
                'protocolName': 'string',
                'protocolVersion': 'string'
            },
            'obdInterface': {
                'name': 'string',
                'requestMessageId': 123,
                'obdStandard': 'string',
                'pidRequestIntervalSeconds': 123,
                'dtcRequestIntervalSeconds': 123,
                'useExtendedIds': True|False,
                'hasTransmissionEcu': True|False
            }
        },
    ],
    networkInterfacesToRemove=[
        'string',
    ],
    status='ACTIVE'|'DRAFT'
)
Parameters
  • name (string) --

    [REQUIRED]

    The name of the decoder manifest to update.

  • description (string) -- A brief description of the decoder manifest to update.
  • signalDecodersToAdd (list) --

    A list of information about decoding additional signals to add to the decoder manifest.

    • (dict) --

      Information about a signal decoder.

      • fullyQualifiedName (string) -- [REQUIRED]

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

      • type (string) -- [REQUIRED]

        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 (string) -- [REQUIRED]

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

      • canSignal (dict) --

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

        • messageId (integer) -- [REQUIRED]

          The ID of the message.

        • isBigEndian (boolean) -- [REQUIRED]

          Whether the byte ordering of a CAN message is big-endian.

        • isSigned (boolean) -- [REQUIRED]

          Whether the message data is specified as a signed value.

        • startBit (integer) -- [REQUIRED]

          Indicates the beginning of the CAN message.

        • offset (float) -- [REQUIRED]

          Indicates where data appears in the CAN message.

        • factor (float) -- [REQUIRED]

          A multiplier used to decode the CAN message.

        • length (integer) -- [REQUIRED]

          How many bytes of data are in the message.

        • name (string) --

          The name of the signal.

      • obdSignal (dict) --

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

        • pidResponseLength (integer) -- [REQUIRED]

          The length of the requested data.

        • serviceMode (integer) -- [REQUIRED]

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

        • pid (integer) -- [REQUIRED]

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

        • scaling (float) -- [REQUIRED]

          A multiplier used to decode the message.

        • offset (float) -- [REQUIRED]

          Indicates where data appears in the message.

        • startByte (integer) -- [REQUIRED]

          Indicates the beginning of the message.

        • byteLength (integer) -- [REQUIRED]

          The length of a message.

        • bitRightShift (integer) --

          The number of positions to shift bits in the message.

        • bitMaskLength (integer) --

          The number of bits to mask in a message.

  • signalDecodersToUpdate (list) --

    A list of updated information about decoding signals to update in the decoder manifest.

    • (dict) --

      Information about a signal decoder.

      • fullyQualifiedName (string) -- [REQUIRED]

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

      • type (string) -- [REQUIRED]

        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 (string) -- [REQUIRED]

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

      • canSignal (dict) --

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

        • messageId (integer) -- [REQUIRED]

          The ID of the message.

        • isBigEndian (boolean) -- [REQUIRED]

          Whether the byte ordering of a CAN message is big-endian.

        • isSigned (boolean) -- [REQUIRED]

          Whether the message data is specified as a signed value.

        • startBit (integer) -- [REQUIRED]

          Indicates the beginning of the CAN message.

        • offset (float) -- [REQUIRED]

          Indicates where data appears in the CAN message.

        • factor (float) -- [REQUIRED]

          A multiplier used to decode the CAN message.

        • length (integer) -- [REQUIRED]

          How many bytes of data are in the message.

        • name (string) --

          The name of the signal.

      • obdSignal (dict) --

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

        • pidResponseLength (integer) -- [REQUIRED]

          The length of the requested data.

        • serviceMode (integer) -- [REQUIRED]

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

        • pid (integer) -- [REQUIRED]

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

        • scaling (float) -- [REQUIRED]

          A multiplier used to decode the message.

        • offset (float) -- [REQUIRED]

          Indicates where data appears in the message.

        • startByte (integer) -- [REQUIRED]

          Indicates the beginning of the message.

        • byteLength (integer) -- [REQUIRED]

          The length of a message.

        • bitRightShift (integer) --

          The number of positions to shift bits in the message.

        • bitMaskLength (integer) --

          The number of bits to mask in a message.

  • signalDecodersToRemove (list) --

    A list of signal decoders to remove from the decoder manifest.

    • (string) --
  • networkInterfacesToAdd (list) --

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

    • (dict) --

      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.

      • interfaceId (string) -- [REQUIRED]

        The ID of the network interface.

      • type (string) -- [REQUIRED]

        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 (dict) --

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

        • name (string) -- [REQUIRED]

          The unique name of the interface.

        • protocolName (string) --

          The name of the communication protocol for the interface.

        • protocolVersion (string) --

          The version of the communication protocol for the interface.

      • obdInterface (dict) --

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

        • name (string) -- [REQUIRED]

          The name of the interface.

        • requestMessageId (integer) -- [REQUIRED]

          The ID of the message requesting vehicle data.

        • obdStandard (string) --

          The standard OBD II PID.

        • pidRequestIntervalSeconds (integer) --

          The maximum number message requests per second.

        • dtcRequestIntervalSeconds (integer) --

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

        • useExtendedIds (boolean) --

          Whether to use extended IDs in the message.

        • hasTransmissionEcu (boolean) --

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

  • networkInterfacesToUpdate (list) --

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

    • (dict) --

      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.

      • interfaceId (string) -- [REQUIRED]

        The ID of the network interface.

      • type (string) -- [REQUIRED]

        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 (dict) --

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

        • name (string) -- [REQUIRED]

          The unique name of the interface.

        • protocolName (string) --

          The name of the communication protocol for the interface.

        • protocolVersion (string) --

          The version of the communication protocol for the interface.

      • obdInterface (dict) --

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

        • name (string) -- [REQUIRED]

          The name of the interface.

        • requestMessageId (integer) -- [REQUIRED]

          The ID of the message requesting vehicle data.

        • obdStandard (string) --

          The standard OBD II PID.

        • pidRequestIntervalSeconds (integer) --

          The maximum number message requests per second.

        • dtcRequestIntervalSeconds (integer) --

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

        • useExtendedIds (boolean) --

          Whether to use extended IDs in the message.

        • hasTransmissionEcu (boolean) --

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

  • networkInterfacesToRemove (list) --

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

    • (string) --
  • status (string) -- The state of the decoder manifest. If the status is ACTIVE , the decoder manifest can't be edited. If the status is DRAFT , you can edit the decoder manifest.
Return type

dict

Returns

Response Syntax

{
    'name': 'string',
    'arn': 'string'
}

Response Structure

  • (dict) --

    • name (string) --

      The name of the updated decoder manifest.

    • arn (string) --

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

Exceptions

  • IoTFleetWise.Client.exceptions.ResourceNotFoundException
  • IoTFleetWise.Client.exceptions.InternalServerException
  • IoTFleetWise.Client.exceptions.ConflictException
  • IoTFleetWise.Client.exceptions.LimitExceededException
  • IoTFleetWise.Client.exceptions.DecoderManifestValidationException
  • IoTFleetWise.Client.exceptions.ThrottlingException
  • IoTFleetWise.Client.exceptions.ValidationException
  • IoTFleetWise.Client.exceptions.AccessDeniedException