

This is the new *CloudFormation Template Reference Guide*. Please update your bookmarks and links. For help getting started with CloudFormation, see the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

# AWS::IoTFleetWise::DecoderManifest
<a name="aws-resource-iotfleetwise-decodermanifest"></a>

Creates the decoder manifest associated with a model manifest. To create a decoder manifest, the following must be true:
+ Every signal decoder has a unique name.
+ Each signal decoder is associated with a network interface.
+ Each network interface has a unique ID.
+ The signal decoders are specified in the model manifest.

For more information, see [Decoder manifests](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/decoder-manifests.html) in the *AWS IoT FleetWise Developer Guide*.

**Important**  
Access to certain AWS IoT FleetWise features is currently gated. For more information, see [AWS Region and feature availability ](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/fleetwise-regions.html) in the *AWS IoT FleetWise Developer Guide*.

## Syntax
<a name="aws-resource-iotfleetwise-decodermanifest-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-resource-iotfleetwise-decodermanifest-syntax.json"></a>

```
{
  "Type" : "AWS::IoTFleetWise::DecoderManifest",
  "Properties" : {
      "[DefaultForUnmappedSignals](#cfn-iotfleetwise-decodermanifest-defaultforunmappedsignals)" : String,
      "[Description](#cfn-iotfleetwise-decodermanifest-description)" : String,
      "[ModelManifestArn](#cfn-iotfleetwise-decodermanifest-modelmanifestarn)" : String,
      "[Name](#cfn-iotfleetwise-decodermanifest-name)" : String,
      "[NetworkInterfaces](#cfn-iotfleetwise-decodermanifest-networkinterfaces)" : [ NetworkInterfacesItems, ... ],
      "[SignalDecoders](#cfn-iotfleetwise-decodermanifest-signaldecoders)" : [ SignalDecodersItems, ... ],
      "[Status](#cfn-iotfleetwise-decodermanifest-status)" : String,
      "[Tags](#cfn-iotfleetwise-decodermanifest-tags)" : [ Tag, ... ]
    }
}
```

### YAML
<a name="aws-resource-iotfleetwise-decodermanifest-syntax.yaml"></a>

```
Type: AWS::IoTFleetWise::DecoderManifest
Properties:
  [DefaultForUnmappedSignals](#cfn-iotfleetwise-decodermanifest-defaultforunmappedsignals): String
  [Description](#cfn-iotfleetwise-decodermanifest-description): String
  [ModelManifestArn](#cfn-iotfleetwise-decodermanifest-modelmanifestarn): String
  [Name](#cfn-iotfleetwise-decodermanifest-name): String
  [NetworkInterfaces](#cfn-iotfleetwise-decodermanifest-networkinterfaces): 
    - NetworkInterfacesItems
  [SignalDecoders](#cfn-iotfleetwise-decodermanifest-signaldecoders): 
    - SignalDecodersItems
  [Status](#cfn-iotfleetwise-decodermanifest-status): String
  [Tags](#cfn-iotfleetwise-decodermanifest-tags): 
    - Tag
```

## Properties
<a name="aws-resource-iotfleetwise-decodermanifest-properties"></a>

`DefaultForUnmappedSignals`  <a name="cfn-iotfleetwise-decodermanifest-defaultforunmappedsignals"></a>
Use default decoders for all unmapped signals in the model. You don't need to provide any detailed decoding information.  
*Required*: No  
*Type*: String  
*Allowed values*: `CUSTOM_DECODING`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Description`  <a name="cfn-iotfleetwise-decodermanifest-description"></a>
 A brief description of the decoder manifest.  
*Required*: No  
*Type*: String  
*Pattern*: `^[^\u0000-\u001F\u007F]+$`  
*Minimum*: `1`  
*Maximum*: `2048`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ModelManifestArn`  <a name="cfn-iotfleetwise-decodermanifest-modelmanifestarn"></a>
The Amazon Resource Name (ARN) of a vehicle model (model manifest) associated with the decoder manifest.  
*Required*: Yes  
*Type*: String  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`Name`  <a name="cfn-iotfleetwise-decodermanifest-name"></a>
The name of the decoder manifest.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z\d\-_:]+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [Replacement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement)

`NetworkInterfaces`  <a name="cfn-iotfleetwise-decodermanifest-networkinterfaces"></a>
 A list of information about available network interfaces.  
*Required*: No  
*Type*: Array of [NetworkInterfacesItems](aws-properties-iotfleetwise-decodermanifest-networkinterfacesitems.md)  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SignalDecoders`  <a name="cfn-iotfleetwise-decodermanifest-signaldecoders"></a>
 A list of information about signal decoders.   
*Required*: No  
*Type*: Array of [SignalDecodersItems](aws-properties-iotfleetwise-decodermanifest-signaldecodersitems.md)  
*Minimum*: `1`  
*Maximum*: `5000`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Status`  <a name="cfn-iotfleetwise-decodermanifest-status"></a>
 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.  
*Required*: No  
*Type*: String  
*Allowed values*: `ACTIVE | DRAFT`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Tags`  <a name="cfn-iotfleetwise-decodermanifest-tags"></a>
 Metadata that can be used to manage the decoder manifest.  
*Required*: No  
*Type*: Array of [Tag](aws-properties-iotfleetwise-decodermanifest-tag.md)  
*Minimum*: `0`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

## Return values
<a name="aws-resource-iotfleetwise-decodermanifest-return-values"></a>

### Ref
<a name="aws-resource-iotfleetwise-decodermanifest-return-values-ref"></a>

When you pass the logical ID of this resource to the intrinsic `Ref` function, `Ref` returns the Name.

For more information about using the `Ref` function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-ref.html).

### Fn::GetAtt
<a name="aws-resource-iotfleetwise-decodermanifest-return-values-fn--getatt"></a>

The `Fn::GetAtt` intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the `Fn::GetAtt` intrinsic function, see [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/intrinsic-function-reference-getatt.html).

#### 
<a name="aws-resource-iotfleetwise-decodermanifest-return-values-fn--getatt-fn--getatt"></a>

`Arn`  <a name="Arn-fn::getatt"></a>
The Amazon Resource Name (ARN) of the decoder manifest.

`CreationTime`  <a name="CreationTime-fn::getatt"></a>
The time the decoder manifest was created in seconds since epoch (January 1, 1970 at midnight UTC time).

`LastModificationTime`  <a name="LastModificationTime-fn::getatt"></a>
The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).

# AWS::IoTFleetWise::DecoderManifest CanInterface
<a name="aws-properties-iotfleetwise-decodermanifest-caninterface"></a>

A single controller area network (CAN) device interface.

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-caninterface-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-caninterface-syntax.json"></a>

```
{
  "[Name](#cfn-iotfleetwise-decodermanifest-caninterface-name)" : String,
  "[ProtocolName](#cfn-iotfleetwise-decodermanifest-caninterface-protocolname)" : String,
  "[ProtocolVersion](#cfn-iotfleetwise-decodermanifest-caninterface-protocolversion)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-caninterface-syntax.yaml"></a>

```
  [Name](#cfn-iotfleetwise-decodermanifest-caninterface-name): String
  [ProtocolName](#cfn-iotfleetwise-decodermanifest-caninterface-protocolname): String
  [ProtocolVersion](#cfn-iotfleetwise-decodermanifest-caninterface-protocolversion): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-caninterface-properties"></a>

`Name`  <a name="cfn-iotfleetwise-decodermanifest-caninterface-name"></a>
The unique name of the interface.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProtocolName`  <a name="cfn-iotfleetwise-decodermanifest-caninterface-protocolname"></a>
 The name of the communication protocol for the interface.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ProtocolVersion`  <a name="cfn-iotfleetwise-decodermanifest-caninterface-protocolversion"></a>
 The version of the communication protocol for the interface.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest CanNetworkInterface
<a name="aws-properties-iotfleetwise-decodermanifest-cannetworkinterface"></a>

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 [ListDecoderManifestNetworkInterfaces](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_ListDecoderManifestNetworkInterfaces.html) in the *AWS IoT FleetWise API Reference*.

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-cannetworkinterface-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-cannetworkinterface-syntax.json"></a>

```
{
  "[CanInterface](#cfn-iotfleetwise-decodermanifest-cannetworkinterface-caninterface)" : CanInterface,
  "[InterfaceId](#cfn-iotfleetwise-decodermanifest-cannetworkinterface-interfaceid)" : String,
  "[Type](#cfn-iotfleetwise-decodermanifest-cannetworkinterface-type)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-cannetworkinterface-syntax.yaml"></a>

```
  [CanInterface](#cfn-iotfleetwise-decodermanifest-cannetworkinterface-caninterface): 
    CanInterface
  [InterfaceId](#cfn-iotfleetwise-decodermanifest-cannetworkinterface-interfaceid): String
  [Type](#cfn-iotfleetwise-decodermanifest-cannetworkinterface-type): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-cannetworkinterface-properties"></a>

`CanInterface`  <a name="cfn-iotfleetwise-decodermanifest-cannetworkinterface-caninterface"></a>
Information about a network interface specified by the Controller Area Network (CAN) protocol.  
*Required*: Yes  
*Type*: [CanInterface](aws-properties-iotfleetwise-decodermanifest-caninterface.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InterfaceId`  <a name="cfn-iotfleetwise-decodermanifest-cannetworkinterface-interfaceid"></a>
The ID of the network interface.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-iotfleetwise-decodermanifest-cannetworkinterface-type"></a>
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.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `CAN_INTERFACE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest CanSignal
<a name="aws-properties-iotfleetwise-decodermanifest-cansignal"></a>

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

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-cansignal-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-cansignal-syntax.json"></a>

```
{
  "[Factor](#cfn-iotfleetwise-decodermanifest-cansignal-factor)" : String,
  "[IsBigEndian](#cfn-iotfleetwise-decodermanifest-cansignal-isbigendian)" : String,
  "[IsSigned](#cfn-iotfleetwise-decodermanifest-cansignal-issigned)" : String,
  "[Length](#cfn-iotfleetwise-decodermanifest-cansignal-length)" : String,
  "[MessageId](#cfn-iotfleetwise-decodermanifest-cansignal-messageid)" : String,
  "[Name](#cfn-iotfleetwise-decodermanifest-cansignal-name)" : String,
  "[Offset](#cfn-iotfleetwise-decodermanifest-cansignal-offset)" : String,
  "[SignalValueType](#cfn-iotfleetwise-decodermanifest-cansignal-signalvaluetype)" : String,
  "[StartBit](#cfn-iotfleetwise-decodermanifest-cansignal-startbit)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-cansignal-syntax.yaml"></a>

```
  [Factor](#cfn-iotfleetwise-decodermanifest-cansignal-factor): String
  [IsBigEndian](#cfn-iotfleetwise-decodermanifest-cansignal-isbigendian): String
  [IsSigned](#cfn-iotfleetwise-decodermanifest-cansignal-issigned): String
  [Length](#cfn-iotfleetwise-decodermanifest-cansignal-length): String
  [MessageId](#cfn-iotfleetwise-decodermanifest-cansignal-messageid): String
  [Name](#cfn-iotfleetwise-decodermanifest-cansignal-name): String
  [Offset](#cfn-iotfleetwise-decodermanifest-cansignal-offset): String
  [SignalValueType](#cfn-iotfleetwise-decodermanifest-cansignal-signalvaluetype): String
  [StartBit](#cfn-iotfleetwise-decodermanifest-cansignal-startbit): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-cansignal-properties"></a>

`Factor`  <a name="cfn-iotfleetwise-decodermanifest-cansignal-factor"></a>
A multiplier used to decode the CAN message.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IsBigEndian`  <a name="cfn-iotfleetwise-decodermanifest-cansignal-isbigendian"></a>
Whether the byte ordering of a CAN message is big-endian.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IsSigned`  <a name="cfn-iotfleetwise-decodermanifest-cansignal-issigned"></a>
Whether the message data is specified as a signed value.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Length`  <a name="cfn-iotfleetwise-decodermanifest-cansignal-length"></a>
How many bytes of data are in the message.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`MessageId`  <a name="cfn-iotfleetwise-decodermanifest-cansignal-messageid"></a>
The ID of the message.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-iotfleetwise-decodermanifest-cansignal-name"></a>
 The name of the signal.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Offset`  <a name="cfn-iotfleetwise-decodermanifest-cansignal-offset"></a>
The offset used to calculate the signal value. Combined with factor, the calculation is `value = raw_value * factor + offset`.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SignalValueType`  <a name="cfn-iotfleetwise-decodermanifest-cansignal-signalvaluetype"></a>
The value type of the signal. The default value is `INTEGER`.  
*Required*: No  
*Type*: String  
*Allowed values*: `INTEGER | FLOATING_POINT`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StartBit`  <a name="cfn-iotfleetwise-decodermanifest-cansignal-startbit"></a>
Indicates the beginning of the CAN message.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest CanSignalDecoder
<a name="aws-properties-iotfleetwise-decodermanifest-cansignaldecoder"></a>

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

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-cansignaldecoder-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-cansignaldecoder-syntax.json"></a>

```
{
  "[CanSignal](#cfn-iotfleetwise-decodermanifest-cansignaldecoder-cansignal)" : CanSignal,
  "[FullyQualifiedName](#cfn-iotfleetwise-decodermanifest-cansignaldecoder-fullyqualifiedname)" : String,
  "[InterfaceId](#cfn-iotfleetwise-decodermanifest-cansignaldecoder-interfaceid)" : String,
  "[Type](#cfn-iotfleetwise-decodermanifest-cansignaldecoder-type)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-cansignaldecoder-syntax.yaml"></a>

```
  [CanSignal](#cfn-iotfleetwise-decodermanifest-cansignaldecoder-cansignal): 
    CanSignal
  [FullyQualifiedName](#cfn-iotfleetwise-decodermanifest-cansignaldecoder-fullyqualifiedname): String
  [InterfaceId](#cfn-iotfleetwise-decodermanifest-cansignaldecoder-interfaceid): String
  [Type](#cfn-iotfleetwise-decodermanifest-cansignaldecoder-type): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-cansignaldecoder-properties"></a>

`CanSignal`  <a name="cfn-iotfleetwise-decodermanifest-cansignaldecoder-cansignal"></a>
Information about a single controller area network (CAN) signal and the messages it receives and transmits.  
*Required*: Yes  
*Type*: [CanSignal](aws-properties-iotfleetwise-decodermanifest-cansignal.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FullyQualifiedName`  <a name="cfn-iotfleetwise-decodermanifest-cansignaldecoder-fullyqualifiedname"></a>
The fully qualified name of a signal decoder as defined in a vehicle model.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `150`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InterfaceId`  <a name="cfn-iotfleetwise-decodermanifest-cansignaldecoder-interfaceid"></a>
The ID of a network interface that specifies what network protocol a vehicle follows.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-iotfleetwise-decodermanifest-cansignaldecoder-type"></a>
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.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `CAN_SIGNAL`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest CustomDecodingInterface
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodinginterface"></a>

Represents a custom network interface as defined by the customer.

**Important**  
AWS IoT FleetWise will no longer be open to new customers starting April 30, 2026. If you would like to use AWS IoT FleetWise, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [AWS IoT FleetWise availability change](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/iotfleetwise-availability-change.html).

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodinginterface-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodinginterface-syntax.json"></a>

```
{
  "[Name](#cfn-iotfleetwise-decodermanifest-customdecodinginterface-name)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodinginterface-syntax.yaml"></a>

```
  [Name](#cfn-iotfleetwise-decodermanifest-customdecodinginterface-name): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodinginterface-properties"></a>

`Name`  <a name="cfn-iotfleetwise-decodermanifest-customdecodinginterface-name"></a>
The name of the interface.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^[a-zA-Z\d\-_:]+$`  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest CustomDecodingNetworkInterface
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingnetworkinterface"></a>

Represents a custom network interface as defined by the customer.

**Important**  
AWS IoT FleetWise will no longer be open to new customers starting April 30, 2026. If you would like to use AWS IoT FleetWise, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [AWS IoT FleetWise availability change](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/iotfleetwise-availability-change.html).

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingnetworkinterface-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingnetworkinterface-syntax.json"></a>

```
{
  "[CustomDecodingInterface](#cfn-iotfleetwise-decodermanifest-customdecodingnetworkinterface-customdecodinginterface)" : CustomDecodingInterface,
  "[InterfaceId](#cfn-iotfleetwise-decodermanifest-customdecodingnetworkinterface-interfaceid)" : String,
  "[Type](#cfn-iotfleetwise-decodermanifest-customdecodingnetworkinterface-type)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingnetworkinterface-syntax.yaml"></a>

```
  [CustomDecodingInterface](#cfn-iotfleetwise-decodermanifest-customdecodingnetworkinterface-customdecodinginterface): 
    CustomDecodingInterface
  [InterfaceId](#cfn-iotfleetwise-decodermanifest-customdecodingnetworkinterface-interfaceid): String
  [Type](#cfn-iotfleetwise-decodermanifest-customdecodingnetworkinterface-type): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingnetworkinterface-properties"></a>

`CustomDecodingInterface`  <a name="cfn-iotfleetwise-decodermanifest-customdecodingnetworkinterface-customdecodinginterface"></a>
Represents a custom network interface as defined by the customer.  
*Required*: Yes  
*Type*: [CustomDecodingInterface](aws-properties-iotfleetwise-decodermanifest-customdecodinginterface.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InterfaceId`  <a name="cfn-iotfleetwise-decodermanifest-customdecodingnetworkinterface-interfaceid"></a>
The ID of a network interface that specifies what network protocol a vehicle follows.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-iotfleetwise-decodermanifest-customdecodingnetworkinterface-type"></a>
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.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `CUSTOM_DECODING_INTERFACE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest CustomDecodingSignal
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingsignal"></a>

Information about signals using a custom decoding protocol as defined by the customer.

**Important**  
AWS IoT FleetWise will no longer be open to new customers starting April 30, 2026. If you would like to use AWS IoT FleetWise, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [AWS IoT FleetWise availability change](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/iotfleetwise-availability-change.html).

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingsignal-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingsignal-syntax.json"></a>

```
{
  "[Id](#cfn-iotfleetwise-decodermanifest-customdecodingsignal-id)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingsignal-syntax.yaml"></a>

```
  [Id](#cfn-iotfleetwise-decodermanifest-customdecodingsignal-id): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingsignal-properties"></a>

`Id`  <a name="cfn-iotfleetwise-decodermanifest-customdecodingsignal-id"></a>
The ID of the signal.  
*Required*: Yes  
*Type*: String  
*Pattern*: `^(?!.*\.\.)[a-zA-Z0-9_\-#:.]+$`  
*Minimum*: `1`  
*Maximum*: `150`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest CustomDecodingSignalDecoder
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingsignaldecoder"></a>

A list of information about signal decoders.

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingsignaldecoder-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingsignaldecoder-syntax.json"></a>

```
{
  "[CustomDecodingSignal](#cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-customdecodingsignal)" : CustomDecodingSignal,
  "[FullyQualifiedName](#cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-fullyqualifiedname)" : String,
  "[InterfaceId](#cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-interfaceid)" : String,
  "[Type](#cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-type)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingsignaldecoder-syntax.yaml"></a>

```
  [CustomDecodingSignal](#cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-customdecodingsignal): 
    CustomDecodingSignal
  [FullyQualifiedName](#cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-fullyqualifiedname): String
  [InterfaceId](#cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-interfaceid): String
  [Type](#cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-type): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-customdecodingsignaldecoder-properties"></a>

`CustomDecodingSignal`  <a name="cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-customdecodingsignal"></a>
Information about signals using a custom decoding protocol as defined by the customer.  
AWS IoT FleetWise will no longer be open to new customers starting April 30, 2026. If you would like to use AWS IoT FleetWise, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [AWS IoT FleetWise availability change](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/iotfleetwise-availability-change.html).
*Required*: Yes  
*Type*: [CustomDecodingSignal](aws-properties-iotfleetwise-decodermanifest-customdecodingsignal.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`FullyQualifiedName`  <a name="cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-fullyqualifiedname"></a>
The fully qualified name of a signal decoder as defined in a vehicle model.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `150`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InterfaceId`  <a name="cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-interfaceid"></a>
The ID of a network interface that specifies what network protocol a vehicle follows.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-iotfleetwise-decodermanifest-customdecodingsignaldecoder-type"></a>
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.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `CUSTOM_DECODING_SIGNAL`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest NetworkInterfacesItems
<a name="aws-properties-iotfleetwise-decodermanifest-networkinterfacesitems"></a>

 A list of information about available network interfaces. 

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-networkinterfacesitems-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-networkinterfacesitems-syntax.json"></a>

```
{
  "[CanNetworkInterface](#cfn-iotfleetwise-decodermanifest-networkinterfacesitems-cannetworkinterface)" : CanNetworkInterface,
  "[CustomDecodingNetworkInterface](#cfn-iotfleetwise-decodermanifest-networkinterfacesitems-customdecodingnetworkinterface)" : CustomDecodingNetworkInterface,
  "[ObdNetworkInterface](#cfn-iotfleetwise-decodermanifest-networkinterfacesitems-obdnetworkinterface)" : ObdNetworkInterface
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-networkinterfacesitems-syntax.yaml"></a>

```
  [CanNetworkInterface](#cfn-iotfleetwise-decodermanifest-networkinterfacesitems-cannetworkinterface): 
    CanNetworkInterface
  [CustomDecodingNetworkInterface](#cfn-iotfleetwise-decodermanifest-networkinterfacesitems-customdecodingnetworkinterface): 
    CustomDecodingNetworkInterface
  [ObdNetworkInterface](#cfn-iotfleetwise-decodermanifest-networkinterfacesitems-obdnetworkinterface): 
    ObdNetworkInterface
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-networkinterfacesitems-properties"></a>

`CanNetworkInterface`  <a name="cfn-iotfleetwise-decodermanifest-networkinterfacesitems-cannetworkinterface"></a>
A single controller area network (CAN) device interface.  
*Required*: No  
*Type*: [CanNetworkInterface](aws-properties-iotfleetwise-decodermanifest-cannetworkinterface.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomDecodingNetworkInterface`  <a name="cfn-iotfleetwise-decodermanifest-networkinterfacesitems-customdecodingnetworkinterface"></a>
Represents a custom network interface as defined by the customer.  
AWS IoT FleetWise will no longer be open to new customers starting April 30, 2026. If you would like to use AWS IoT FleetWise, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [AWS IoT FleetWise availability change](https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/iotfleetwise-availability-change.html).
*Required*: No  
*Type*: [CustomDecodingNetworkInterface](aws-properties-iotfleetwise-decodermanifest-customdecodingnetworkinterface.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ObdNetworkInterface`  <a name="cfn-iotfleetwise-decodermanifest-networkinterfacesitems-obdnetworkinterface"></a>
A network interface that specifies the on-board diagnostic (OBD) II network protocol.  
*Required*: No  
*Type*: [ObdNetworkInterface](aws-properties-iotfleetwise-decodermanifest-obdnetworkinterface.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest ObdInterface
<a name="aws-properties-iotfleetwise-decodermanifest-obdinterface"></a>

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

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-obdinterface-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-obdinterface-syntax.json"></a>

```
{
  "[DtcRequestIntervalSeconds](#cfn-iotfleetwise-decodermanifest-obdinterface-dtcrequestintervalseconds)" : String,
  "[HasTransmissionEcu](#cfn-iotfleetwise-decodermanifest-obdinterface-hastransmissionecu)" : String,
  "[Name](#cfn-iotfleetwise-decodermanifest-obdinterface-name)" : String,
  "[ObdStandard](#cfn-iotfleetwise-decodermanifest-obdinterface-obdstandard)" : String,
  "[PidRequestIntervalSeconds](#cfn-iotfleetwise-decodermanifest-obdinterface-pidrequestintervalseconds)" : String,
  "[RequestMessageId](#cfn-iotfleetwise-decodermanifest-obdinterface-requestmessageid)" : String,
  "[UseExtendedIds](#cfn-iotfleetwise-decodermanifest-obdinterface-useextendedids)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-obdinterface-syntax.yaml"></a>

```
  [DtcRequestIntervalSeconds](#cfn-iotfleetwise-decodermanifest-obdinterface-dtcrequestintervalseconds): String
  [HasTransmissionEcu](#cfn-iotfleetwise-decodermanifest-obdinterface-hastransmissionecu): String
  [Name](#cfn-iotfleetwise-decodermanifest-obdinterface-name): String
  [ObdStandard](#cfn-iotfleetwise-decodermanifest-obdinterface-obdstandard): String
  [PidRequestIntervalSeconds](#cfn-iotfleetwise-decodermanifest-obdinterface-pidrequestintervalseconds): String
  [RequestMessageId](#cfn-iotfleetwise-decodermanifest-obdinterface-requestmessageid): String
  [UseExtendedIds](#cfn-iotfleetwise-decodermanifest-obdinterface-useextendedids): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-obdinterface-properties"></a>

`DtcRequestIntervalSeconds`  <a name="cfn-iotfleetwise-decodermanifest-obdinterface-dtcrequestintervalseconds"></a>
 The maximum number message requests per diagnostic trouble code per second.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`HasTransmissionEcu`  <a name="cfn-iotfleetwise-decodermanifest-obdinterface-hastransmissionecu"></a>
 Whether the vehicle has a transmission control module (TCM).  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Name`  <a name="cfn-iotfleetwise-decodermanifest-obdinterface-name"></a>
The name of the interface.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `100`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ObdStandard`  <a name="cfn-iotfleetwise-decodermanifest-obdinterface-obdstandard"></a>
 The standard OBD II PID.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PidRequestIntervalSeconds`  <a name="cfn-iotfleetwise-decodermanifest-obdinterface-pidrequestintervalseconds"></a>
 The maximum number message requests per second.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`RequestMessageId`  <a name="cfn-iotfleetwise-decodermanifest-obdinterface-requestmessageid"></a>
The ID of the message requesting vehicle data.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`UseExtendedIds`  <a name="cfn-iotfleetwise-decodermanifest-obdinterface-useextendedids"></a>
 Whether to use extended IDs in the message.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest ObdNetworkInterface
<a name="aws-properties-iotfleetwise-decodermanifest-obdnetworkinterface"></a>

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

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-obdnetworkinterface-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-obdnetworkinterface-syntax.json"></a>

```
{
  "[InterfaceId](#cfn-iotfleetwise-decodermanifest-obdnetworkinterface-interfaceid)" : String,
  "[ObdInterface](#cfn-iotfleetwise-decodermanifest-obdnetworkinterface-obdinterface)" : ObdInterface,
  "[Type](#cfn-iotfleetwise-decodermanifest-obdnetworkinterface-type)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-obdnetworkinterface-syntax.yaml"></a>

```
  [InterfaceId](#cfn-iotfleetwise-decodermanifest-obdnetworkinterface-interfaceid): String
  [ObdInterface](#cfn-iotfleetwise-decodermanifest-obdnetworkinterface-obdinterface): 
    ObdInterface
  [Type](#cfn-iotfleetwise-decodermanifest-obdnetworkinterface-type): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-obdnetworkinterface-properties"></a>

`InterfaceId`  <a name="cfn-iotfleetwise-decodermanifest-obdnetworkinterface-interfaceid"></a>
The ID of the network interface.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ObdInterface`  <a name="cfn-iotfleetwise-decodermanifest-obdnetworkinterface-obdinterface"></a>
 Information about a network interface specified by the On-board diagnostic (OBD) II protocol.  
*Required*: Yes  
*Type*: [ObdInterface](aws-properties-iotfleetwise-decodermanifest-obdinterface.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-iotfleetwise-decodermanifest-obdnetworkinterface-type"></a>
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.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `OBD_INTERFACE`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest ObdSignal
<a name="aws-properties-iotfleetwise-decodermanifest-obdsignal"></a>

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

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-obdsignal-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-obdsignal-syntax.json"></a>

```
{
  "[BitMaskLength](#cfn-iotfleetwise-decodermanifest-obdsignal-bitmasklength)" : String,
  "[BitRightShift](#cfn-iotfleetwise-decodermanifest-obdsignal-bitrightshift)" : String,
  "[ByteLength](#cfn-iotfleetwise-decodermanifest-obdsignal-bytelength)" : String,
  "[IsSigned](#cfn-iotfleetwise-decodermanifest-obdsignal-issigned)" : String,
  "[Offset](#cfn-iotfleetwise-decodermanifest-obdsignal-offset)" : String,
  "[Pid](#cfn-iotfleetwise-decodermanifest-obdsignal-pid)" : String,
  "[PidResponseLength](#cfn-iotfleetwise-decodermanifest-obdsignal-pidresponselength)" : String,
  "[Scaling](#cfn-iotfleetwise-decodermanifest-obdsignal-scaling)" : String,
  "[ServiceMode](#cfn-iotfleetwise-decodermanifest-obdsignal-servicemode)" : String,
  "[SignalValueType](#cfn-iotfleetwise-decodermanifest-obdsignal-signalvaluetype)" : String,
  "[StartByte](#cfn-iotfleetwise-decodermanifest-obdsignal-startbyte)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-obdsignal-syntax.yaml"></a>

```
  [BitMaskLength](#cfn-iotfleetwise-decodermanifest-obdsignal-bitmasklength): String
  [BitRightShift](#cfn-iotfleetwise-decodermanifest-obdsignal-bitrightshift): String
  [ByteLength](#cfn-iotfleetwise-decodermanifest-obdsignal-bytelength): String
  [IsSigned](#cfn-iotfleetwise-decodermanifest-obdsignal-issigned): String
  [Offset](#cfn-iotfleetwise-decodermanifest-obdsignal-offset): String
  [Pid](#cfn-iotfleetwise-decodermanifest-obdsignal-pid): String
  [PidResponseLength](#cfn-iotfleetwise-decodermanifest-obdsignal-pidresponselength): String
  [Scaling](#cfn-iotfleetwise-decodermanifest-obdsignal-scaling): String
  [ServiceMode](#cfn-iotfleetwise-decodermanifest-obdsignal-servicemode): String
  [SignalValueType](#cfn-iotfleetwise-decodermanifest-obdsignal-signalvaluetype): String
  [StartByte](#cfn-iotfleetwise-decodermanifest-obdsignal-startbyte): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-obdsignal-properties"></a>

`BitMaskLength`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-bitmasklength"></a>
 The number of bits to mask in a message.  
*Required*: No  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `8`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`BitRightShift`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-bitrightshift"></a>
 The number of positions to shift bits in the message.  
*Required*: No  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ByteLength`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-bytelength"></a>
The length of a message.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `8`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`IsSigned`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-issigned"></a>
Determines whether the message is signed (`true`) or not (`false`). If it's signed, the message can represent both positive and negative numbers. The `isSigned` parameter only applies to the `INTEGER` raw signal type, and it doesn't affect the `FLOATING_POINT` raw signal type. The default value is `false`.  
*Required*: No  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Offset`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-offset"></a>
The offset used to calculate the signal value. Combined with scaling, the calculation is `value = raw_value * scaling + offset`.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Pid`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-pid"></a>
The diagnostic code used to request data from a vehicle for this signal.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`PidResponseLength`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-pidresponselength"></a>
The length of the requested data.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Scaling`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-scaling"></a>
A multiplier used to decode the message.  
*Required*: Yes  
*Type*: String  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ServiceMode`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-servicemode"></a>
The mode of operation (diagnostic service) in a message.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`SignalValueType`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-signalvaluetype"></a>
The value type of the signal. The default value is `INTEGER`.  
*Required*: No  
*Type*: String  
*Allowed values*: `INTEGER | FLOATING_POINT`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`StartByte`  <a name="cfn-iotfleetwise-decodermanifest-obdsignal-startbyte"></a>
Indicates the beginning of the message.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `2147483647`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest ObdSignalDecoder
<a name="aws-properties-iotfleetwise-decodermanifest-obdsignaldecoder"></a>

A list of information about signal decoders. 

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-obdsignaldecoder-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-obdsignaldecoder-syntax.json"></a>

```
{
  "[FullyQualifiedName](#cfn-iotfleetwise-decodermanifest-obdsignaldecoder-fullyqualifiedname)" : String,
  "[InterfaceId](#cfn-iotfleetwise-decodermanifest-obdsignaldecoder-interfaceid)" : String,
  "[ObdSignal](#cfn-iotfleetwise-decodermanifest-obdsignaldecoder-obdsignal)" : ObdSignal,
  "[Type](#cfn-iotfleetwise-decodermanifest-obdsignaldecoder-type)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-obdsignaldecoder-syntax.yaml"></a>

```
  [FullyQualifiedName](#cfn-iotfleetwise-decodermanifest-obdsignaldecoder-fullyqualifiedname): String
  [InterfaceId](#cfn-iotfleetwise-decodermanifest-obdsignaldecoder-interfaceid): String
  [ObdSignal](#cfn-iotfleetwise-decodermanifest-obdsignaldecoder-obdsignal): 
    ObdSignal
  [Type](#cfn-iotfleetwise-decodermanifest-obdsignaldecoder-type): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-obdsignaldecoder-properties"></a>

`FullyQualifiedName`  <a name="cfn-iotfleetwise-decodermanifest-obdsignaldecoder-fullyqualifiedname"></a>
The fully qualified name of a signal decoder as defined in a vehicle model.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `150`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`InterfaceId`  <a name="cfn-iotfleetwise-decodermanifest-obdsignaldecoder-interfaceid"></a>
The ID of a network interface that specifies what network protocol a vehicle follows.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `50`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ObdSignal`  <a name="cfn-iotfleetwise-decodermanifest-obdsignaldecoder-obdsignal"></a>
Information about signal messages using the on-board diagnostics (OBD) II protocol in a vehicle.  
*Required*: Yes  
*Type*: [ObdSignal](aws-properties-iotfleetwise-decodermanifest-obdsignal.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Type`  <a name="cfn-iotfleetwise-decodermanifest-obdsignaldecoder-type"></a>
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.  
*Required*: Yes  
*Type*: String  
*Allowed values*: `OBD_SIGNAL`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest SignalDecodersItems
<a name="aws-properties-iotfleetwise-decodermanifest-signaldecodersitems"></a>

Information about a signal decoder.

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-signaldecodersitems-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-signaldecodersitems-syntax.json"></a>

```
{
  "[CanSignalDecoder](#cfn-iotfleetwise-decodermanifest-signaldecodersitems-cansignaldecoder)" : CanSignalDecoder,
  "[CustomDecodingSignalDecoder](#cfn-iotfleetwise-decodermanifest-signaldecodersitems-customdecodingsignaldecoder)" : CustomDecodingSignalDecoder,
  "[ObdSignalDecoder](#cfn-iotfleetwise-decodermanifest-signaldecodersitems-obdsignaldecoder)" : ObdSignalDecoder
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-signaldecodersitems-syntax.yaml"></a>

```
  [CanSignalDecoder](#cfn-iotfleetwise-decodermanifest-signaldecodersitems-cansignaldecoder): 
    CanSignalDecoder
  [CustomDecodingSignalDecoder](#cfn-iotfleetwise-decodermanifest-signaldecodersitems-customdecodingsignaldecoder): 
    CustomDecodingSignalDecoder
  [ObdSignalDecoder](#cfn-iotfleetwise-decodermanifest-signaldecodersitems-obdsignaldecoder): 
    ObdSignalDecoder
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-signaldecodersitems-properties"></a>

`CanSignalDecoder`  <a name="cfn-iotfleetwise-decodermanifest-signaldecodersitems-cansignaldecoder"></a>
Information about signal decoder using the Controller Area Network (CAN) protocol.  
*Required*: No  
*Type*: [CanSignalDecoder](aws-properties-iotfleetwise-decodermanifest-cansignaldecoder.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`CustomDecodingSignalDecoder`  <a name="cfn-iotfleetwise-decodermanifest-signaldecodersitems-customdecodingsignaldecoder"></a>
Information about a [custom signal decoder](https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CustomDecodingSignal.html).  
*Required*: No  
*Type*: [CustomDecodingSignalDecoder](aws-properties-iotfleetwise-decodermanifest-customdecodingsignaldecoder.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`ObdSignalDecoder`  <a name="cfn-iotfleetwise-decodermanifest-signaldecodersitems-obdsignaldecoder"></a>
Information about signal decoder using the on-board diagnostic (OBD) II protocol.  
*Required*: No  
*Type*: [ObdSignalDecoder](aws-properties-iotfleetwise-decodermanifest-obdsignaldecoder.md)  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

# AWS::IoTFleetWise::DecoderManifest Tag
<a name="aws-properties-iotfleetwise-decodermanifest-tag"></a>

A set of key/value pairs that are used to manage the resource.

## Syntax
<a name="aws-properties-iotfleetwise-decodermanifest-tag-syntax"></a>

To declare this entity in your CloudFormation template, use the following syntax:

### JSON
<a name="aws-properties-iotfleetwise-decodermanifest-tag-syntax.json"></a>

```
{
  "[Key](#cfn-iotfleetwise-decodermanifest-tag-key)" : String,
  "[Value](#cfn-iotfleetwise-decodermanifest-tag-value)" : String
}
```

### YAML
<a name="aws-properties-iotfleetwise-decodermanifest-tag-syntax.yaml"></a>

```
  [Key](#cfn-iotfleetwise-decodermanifest-tag-key): String
  [Value](#cfn-iotfleetwise-decodermanifest-tag-value): String
```

## Properties
<a name="aws-properties-iotfleetwise-decodermanifest-tag-properties"></a>

`Key`  <a name="cfn-iotfleetwise-decodermanifest-tag-key"></a>
The tag's key.  
*Required*: Yes  
*Type*: String  
*Minimum*: `1`  
*Maximum*: `128`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)

`Value`  <a name="cfn-iotfleetwise-decodermanifest-tag-value"></a>
The tag's value.  
*Required*: Yes  
*Type*: String  
*Minimum*: `0`  
*Maximum*: `256`  
*Update requires*: [No interruption](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt)