Microsoft.DeviceRegistry namespaces/assets 2026-11-01

Bicep resource definition

The namespaces/assets resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DeviceRegistry/namespaces/assets resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.DeviceRegistry/namespaces/assets@2026-11-01' = {
  parent: resourceSymbolicName
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  location: 'string'
  name: 'string'
  properties: {
    assetTypeRefs: [
      'string'
    ]
    attributes: {
      {customized property}: any(...)
    }
    datasets: [
      {
        dataPoints: [
          {
            dataPointConfiguration: 'string'
            dataSource: 'string'
            name: 'string'
            typeRef: 'string'
          }
        ]
        datasetConfiguration: 'string'
        dataSource: 'string'
        destinations: [
          {
            target: 'string'
            // For remaining properties, see DatasetDestination objects
          }
        ]
        name: 'string'
        typeRef: 'string'
      }
    ]
    defaultDatasetsConfiguration: 'string'
    defaultDatasetsDestinations: [
      {
        target: 'string'
        // For remaining properties, see DatasetDestination objects
      }
    ]
    defaultEventsConfiguration: 'string'
    defaultEventsDestinations: [
      {
        target: 'string'
        // For remaining properties, see EventDestination objects
      }
    ]
    defaultManagementGroupsConfiguration: 'string'
    defaultStreamsConfiguration: 'string'
    defaultStreamsDestinations: [
      {
        target: 'string'
        // For remaining properties, see StreamDestination objects
      }
    ]
    description: 'string'
    deviceRef: {
      deviceName: 'string'
      endpointName: 'string'
    }
    discoveredAssetRefs: [
      'string'
    ]
    displayName: 'string'
    documentationUri: 'string'
    enabled: bool
    eventGroups: [
      {
        dataSource: 'string'
        defaultDestinations: [
          {
            target: 'string'
            // For remaining properties, see EventDestination objects
          }
        ]
        eventGroupConfiguration: 'string'
        events: [
          {
            dataSource: 'string'
            destinations: [
              {
                target: 'string'
                // For remaining properties, see EventDestination objects
              }
            ]
            eventConfiguration: 'string'
            name: 'string'
            typeRef: 'string'
          }
        ]
        name: 'string'
        typeRef: 'string'
      }
    ]
    externalAssetId: 'string'
    hardwareRevision: 'string'
    managementGroups: [
      {
        actions: [
          {
            actionConfiguration: 'string'
            actionType: 'string'
            name: 'string'
            targetUri: 'string'
            timeoutInSeconds: int
            topic: 'string'
            typeRef: 'string'
          }
        ]
        dataSource: 'string'
        defaultTimeoutInSeconds: int
        defaultTopic: 'string'
        managementGroupConfiguration: 'string'
        name: 'string'
        typeRef: 'string'
      }
    ]
    manufacturer: 'string'
    manufacturerUri: 'string'
    model: 'string'
    productCode: 'string'
    serialNumber: 'string'
    softwareRevision: 'string'
    streams: [
      {
        destinations: [
          {
            target: 'string'
            // For remaining properties, see StreamDestination objects
          }
        ]
        name: 'string'
        streamConfiguration: 'string'
        typeRef: 'string'
      }
    ]
  }
  tags: {
    {customized property}: 'string'
  }
}

DatasetDestination objects

Set the target property to specify the type of object.

For BrokerStateStore, use:

{
  configuration: {
    key: 'string'
  }
  target: 'BrokerStateStore'
}

For Mqtt, use:

{
  configuration: {
    qos: 'string'
    retain: 'string'
    topic: 'string'
    ttl: int
  }
  target: 'Mqtt'
}

For Storage, use:

{
  configuration: {
    path: 'string'
  }
  target: 'Storage'
}

EventDestination objects

Set the target property to specify the type of object.

For Mqtt, use:

{
  configuration: {
    qos: 'string'
    retain: 'string'
    topic: 'string'
    ttl: int
  }
  target: 'Mqtt'
}

For Storage, use:

{
  configuration: {
    path: 'string'
  }
  target: 'Storage'
}

StreamDestination objects

Set the target property to specify the type of object.

For Mqtt, use:

{
  configuration: {
    qos: 'string'
    retain: 'string'
    topic: 'string'
    ttl: int
  }
  target: 'Mqtt'
}

For Storage, use:

{
  configuration: {
    path: 'string'
  }
  target: 'Storage'
}

Property Values

Microsoft.DeviceRegistry/namespaces/assets

Name Description Value
extendedLocation The extended location. ExtendedLocation (required)
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Min length = 3
Max length = 63
Pattern = ^[a-z0-9][a-z0-9-]*[a-z0-9]$ (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: namespaces
properties The resource-specific properties for this resource. NamespaceAssetProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates

BrokerStateStoreDestinationConfiguration

Name Description Value
key The MQTT broker state store destination key. string (required)

DatasetBrokerStateStoreDestination

Name Description Value
configuration The MQTT broker state store destination configuration. BrokerStateStoreDestinationConfiguration (required)
target Target destination. 'BrokerStateStore' (required)

DatasetDestination

Name Description Value
target Set to 'BrokerStateStore' for type DatasetBrokerStateStoreDestination. Set to 'Mqtt' for type DatasetMqttDestination. Set to 'Storage' for type DatasetStorageDestination. 'BrokerStateStore'
'Mqtt'
'Storage' (required)

DatasetMqttDestination

Name Description Value
configuration The MQTT destination configuration. MqttDestinationConfiguration (required)
target Target destination. 'Mqtt' (required)

DatasetStorageDestination

Name Description Value
configuration The storage destination configuration. StorageDestinationConfiguration (required)
target Target destination. 'Storage' (required)

DeviceRef

Name Description Value
deviceName Name of the device resource string (required)
endpointName The name of endpoint to use string (required)

EventDestination

Name Description Value
target Set to 'Mqtt' for type EventMqttDestination. Set to 'Storage' for type EventStorageDestination. 'Mqtt'
'Storage' (required)

EventMqttDestination

Name Description Value
configuration The MQTT destination configuration. MqttDestinationConfiguration (required)
target Target destination. 'Mqtt' (required)

EventStorageDestination

Name Description Value
configuration The storage destination configuration. StorageDestinationConfiguration (required)
target Target destination. 'Storage' (required)

ExtendedLocation

Name Description Value
name The extended location name. string (required)
type The extended location type. string (required)

ManagementAction

Name Description Value
actionConfiguration Stringified JSON that contains connector-specific configuration for the action. string
actionType The type of the action. 'Call'
'Read'
'Write'
name Name of the action. string (required)
targetUri The target URI on which a client can invoke the specific action. string (required)
timeoutInSeconds Response timeout for the action. int
topic The MQTT topic path on which a client will receive the request for the action. string
typeRef URI or type definition ID. string

ManagementGroup

Name Description Value
actions Array of actions that are part of the management group. Each action can have an individual configuration. ManagementAction[]
dataSource Reference to a data source for a given management group. string
defaultTimeoutInSeconds Default response timeout for all actions that are part of the management group. int
defaultTopic Default MQTT topic path on which a client will receive the request for all actions that are part of the management group. string
managementGroupConfiguration Stringified JSON that contains connector-specific configuration for the management group. string
name Name of the management group. string (required)
typeRef URI or type definition ID. string

MqttDestinationConfiguration

Name Description Value
qos The MQTT QoS setting. Defaults to QoS 1. 'Qos0'
'Qos1'
retain When set to 'Keep', messages published to an MQTT broker will have the retain flag set. Default: 'Never'. 'Keep'
'Never'
topic The MQTT topic. string (required)
ttl The MQTT TTL setting. int

NamespaceAssetProperties

Name Description Value
assetTypeRefs URIs or type definition IDs. string[]
attributes A set of key-value pairs that contain custom attributes set by the customer. NamespaceAssetPropertiesAttributes
datasets Array of datasets that are part of the asset. Each dataset describes the data points that make up the set. NamespaceDataset[]
defaultDatasetsConfiguration Stringified JSON that contains connector-specific default configuration for all datasets. Each dataset can have its own configuration that overrides the default settings here. string
defaultDatasetsDestinations Default destinations for a dataset. DatasetDestination[]
defaultEventsConfiguration Stringified JSON that contains connector-specific default configuration for all events. Each event can have its own configuration that overrides the default settings here. string
defaultEventsDestinations Default destinations for an event. EventDestination[]
defaultManagementGroupsConfiguration Stringified JSON that contains connector-specific default configuration for all management groups. Each management group can have its own configuration that overrides the default settings here. string
defaultStreamsConfiguration Stringified JSON that contains connector-specific default configuration for all streams. Each stream can have its own configuration that overrides the default settings here. string
defaultStreamsDestinations Default destinations for a stream. StreamDestination[]
description Human-readable description of the asset. string
deviceRef Reference to the device that provides data for this asset. Must provide device name & endpoint on the device to use. DeviceRef (required)
discoveredAssetRefs Reference to a list of discovered assets. Populated only if the asset has been created from discovery flow. Discovered asset names must be provided. string[]
displayName Human-readable display name. string
documentationUri Asset documentation reference. string
enabled Enabled/disabled status of the asset. bool
eventGroups Array of event groups that are part of the asset. Each event group can have per-event group configuration. NamespaceEventGroup[]
externalAssetId Asset ID provided by the customer. string
hardwareRevision Asset hardware revision number. string
managementGroups Array of management groups that are part of the asset. Each management group can have a per-group configuration. ManagementGroup[]
manufacturer Asset manufacturer. string
manufacturerUri Asset manufacturer URI. string
model Asset model. string
productCode Asset product code. string
serialNumber Asset serial number. string
softwareRevision Asset software revision number. string
streams Array of streams that are part of the asset. Each stream can have a per-stream configuration. NamespaceStream[]

NamespaceAssetPropertiesAttributes

Name Description Value

NamespaceDataset

Name Description Value
dataPoints Array of data points that are part of the dataset. Each data point can have per-data point configuration. NamespaceDatasetDataPoint[]
datasetConfiguration Stringified JSON that contains connector-specific JSON string that describes configuration for the specific dataset. string
dataSource Reference to a data source for a given dataset. string
destinations Destinations for a dataset. DatasetDestination[]
name Name of the dataset. string (required)
typeRef URI or type definition ID. string

NamespaceDatasetDataPoint

Name Description Value
dataPointConfiguration Stringified JSON that contains connector-specific configuration for the data point. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize. string
dataSource The address of the source of the data in the asset (e.g. URL) so that a client can access the data source on the asset. string (required)
name The name of the data point. string (required)
typeRef URI or type definition ID. string

NamespaceEvent

Name Description Value
dataSource Reference to a data source for a given event. string
destinations Destinations for an event. EventDestination[]
eventConfiguration Stringified JSON that contains connector-specific configuration for the event. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize. string
name The name of the event. string (required)
typeRef URI or type definition ID. string

NamespaceEventGroup

Name Description Value
dataSource The address of the notifier of the event group in the asset (e.g. URL) so that a client can access the event group on the asset. string
defaultDestinations Destinations for events. Default destinations when destinations is not defined at the event level. EventDestination[]
eventGroupConfiguration Stringified JSON that contains connector-specific configuration for the event group. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize. string
events Array of events that are part of the event group. NamespaceEvent[]
name The name of the event group. string (required)
typeRef URI or type definition ID. string

NamespaceStream

Name Description Value
destinations Destinations for a stream. StreamDestination[]
name Name of the stream definition. string (required)
streamConfiguration Stringified JSON that contains connector-specific configuration for the specific stream. string
typeRef URI or type definition ID. string

StorageDestinationConfiguration

Name Description Value
path The storage destination path. string (required)

StreamDestination

Name Description Value
target Set to 'Mqtt' for type StreamMqttDestination. Set to 'Storage' for type StreamStorageDestination. 'Mqtt'
'Storage' (required)

StreamMqttDestination

Name Description Value
configuration The MQTT destination configuration. MqttDestinationConfiguration (required)
target Target destination. 'Mqtt' (required)

StreamStorageDestination

Name Description Value
configuration The storage destination configuration. StorageDestinationConfiguration (required)
target Target destination. 'Storage' (required)

TrackedResourceTags

Name Description Value

ARM template resource definition

The namespaces/assets resource type can be deployed with operations that target:

Usage Examples

Resource format

To create a Microsoft.DeviceRegistry/namespaces/assets resource, add the following JSON to your template.

{
  "type": "Microsoft.DeviceRegistry/namespaces/assets",
  "apiVersion": "2026-11-01",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "location": "string",
  "properties": {
    "assetTypeRefs": [ "string" ],
    "attributes": {
      "{customized property}": {}
    },
    "datasets": [
      {
        "dataPoints": [
          {
            "dataPointConfiguration": "string",
            "dataSource": "string",
            "name": "string",
            "typeRef": "string"
          }
        ],
        "datasetConfiguration": "string",
        "dataSource": "string",
        "destinations": [ {
          "target": "string"
          // For remaining properties, see DatasetDestination objects
        } ],
        "name": "string",
        "typeRef": "string"
      }
    ],
    "defaultDatasetsConfiguration": "string",
    "defaultDatasetsDestinations": [ {
      "target": "string"
      // For remaining properties, see DatasetDestination objects
    } ],
    "defaultEventsConfiguration": "string",
    "defaultEventsDestinations": [ {
      "target": "string"
      // For remaining properties, see EventDestination objects
    } ],
    "defaultManagementGroupsConfiguration": "string",
    "defaultStreamsConfiguration": "string",
    "defaultStreamsDestinations": [ {
      "target": "string"
      // For remaining properties, see StreamDestination objects
    } ],
    "description": "string",
    "deviceRef": {
      "deviceName": "string",
      "endpointName": "string"
    },
    "discoveredAssetRefs": [ "string" ],
    "displayName": "string",
    "documentationUri": "string",
    "enabled": "bool",
    "eventGroups": [
      {
        "dataSource": "string",
        "defaultDestinations": [ {
          "target": "string"
          // For remaining properties, see EventDestination objects
        } ],
        "eventGroupConfiguration": "string",
        "events": [
          {
            "dataSource": "string",
            "destinations": [ {
              "target": "string"
              // For remaining properties, see EventDestination objects
            } ],
            "eventConfiguration": "string",
            "name": "string",
            "typeRef": "string"
          }
        ],
        "name": "string",
        "typeRef": "string"
      }
    ],
    "externalAssetId": "string",
    "hardwareRevision": "string",
    "managementGroups": [
      {
        "actions": [
          {
            "actionConfiguration": "string",
            "actionType": "string",
            "name": "string",
            "targetUri": "string",
            "timeoutInSeconds": "int",
            "topic": "string",
            "typeRef": "string"
          }
        ],
        "dataSource": "string",
        "defaultTimeoutInSeconds": "int",
        "defaultTopic": "string",
        "managementGroupConfiguration": "string",
        "name": "string",
        "typeRef": "string"
      }
    ],
    "manufacturer": "string",
    "manufacturerUri": "string",
    "model": "string",
    "productCode": "string",
    "serialNumber": "string",
    "softwareRevision": "string",
    "streams": [
      {
        "destinations": [ {
          "target": "string"
          // For remaining properties, see StreamDestination objects
        } ],
        "name": "string",
        "streamConfiguration": "string",
        "typeRef": "string"
      }
    ]
  },
  "tags": {
    "{customized property}": "string"
  }
}

DatasetDestination objects

Set the target property to specify the type of object.

For BrokerStateStore, use:

{
  "configuration": {
    "key": "string"
  },
  "target": "BrokerStateStore"
}

For Mqtt, use:

{
  "configuration": {
    "qos": "string",
    "retain": "string",
    "topic": "string",
    "ttl": "int"
  },
  "target": "Mqtt"
}

For Storage, use:

{
  "configuration": {
    "path": "string"
  },
  "target": "Storage"
}

EventDestination objects

Set the target property to specify the type of object.

For Mqtt, use:

{
  "configuration": {
    "qos": "string",
    "retain": "string",
    "topic": "string",
    "ttl": "int"
  },
  "target": "Mqtt"
}

For Storage, use:

{
  "configuration": {
    "path": "string"
  },
  "target": "Storage"
}

StreamDestination objects

Set the target property to specify the type of object.

For Mqtt, use:

{
  "configuration": {
    "qos": "string",
    "retain": "string",
    "topic": "string",
    "ttl": "int"
  },
  "target": "Mqtt"
}

For Storage, use:

{
  "configuration": {
    "path": "string"
  },
  "target": "Storage"
}

Property Values

Microsoft.DeviceRegistry/namespaces/assets

Name Description Value
apiVersion The api version '2026-11-01'
extendedLocation The extended location. ExtendedLocation (required)
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Min length = 3
Max length = 63
Pattern = ^[a-z0-9][a-z0-9-]*[a-z0-9]$ (required)
properties The resource-specific properties for this resource. NamespaceAssetProperties
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.DeviceRegistry/namespaces/assets'

BrokerStateStoreDestinationConfiguration

Name Description Value
key The MQTT broker state store destination key. string (required)

DatasetBrokerStateStoreDestination

Name Description Value
configuration The MQTT broker state store destination configuration. BrokerStateStoreDestinationConfiguration (required)
target Target destination. 'BrokerStateStore' (required)

DatasetDestination

Name Description Value
target Set to 'BrokerStateStore' for type DatasetBrokerStateStoreDestination. Set to 'Mqtt' for type DatasetMqttDestination. Set to 'Storage' for type DatasetStorageDestination. 'BrokerStateStore'
'Mqtt'
'Storage' (required)

DatasetMqttDestination

Name Description Value
configuration The MQTT destination configuration. MqttDestinationConfiguration (required)
target Target destination. 'Mqtt' (required)

DatasetStorageDestination

Name Description Value
configuration The storage destination configuration. StorageDestinationConfiguration (required)
target Target destination. 'Storage' (required)

DeviceRef

Name Description Value
deviceName Name of the device resource string (required)
endpointName The name of endpoint to use string (required)

EventDestination

Name Description Value
target Set to 'Mqtt' for type EventMqttDestination. Set to 'Storage' for type EventStorageDestination. 'Mqtt'
'Storage' (required)

EventMqttDestination

Name Description Value
configuration The MQTT destination configuration. MqttDestinationConfiguration (required)
target Target destination. 'Mqtt' (required)

EventStorageDestination

Name Description Value
configuration The storage destination configuration. StorageDestinationConfiguration (required)
target Target destination. 'Storage' (required)

ExtendedLocation

Name Description Value
name The extended location name. string (required)
type The extended location type. string (required)

ManagementAction

Name Description Value
actionConfiguration Stringified JSON that contains connector-specific configuration for the action. string
actionType The type of the action. 'Call'
'Read'
'Write'
name Name of the action. string (required)
targetUri The target URI on which a client can invoke the specific action. string (required)
timeoutInSeconds Response timeout for the action. int
topic The MQTT topic path on which a client will receive the request for the action. string
typeRef URI or type definition ID. string

ManagementGroup

Name Description Value
actions Array of actions that are part of the management group. Each action can have an individual configuration. ManagementAction[]
dataSource Reference to a data source for a given management group. string
defaultTimeoutInSeconds Default response timeout for all actions that are part of the management group. int
defaultTopic Default MQTT topic path on which a client will receive the request for all actions that are part of the management group. string
managementGroupConfiguration Stringified JSON that contains connector-specific configuration for the management group. string
name Name of the management group. string (required)
typeRef URI or type definition ID. string

MqttDestinationConfiguration

Name Description Value
qos The MQTT QoS setting. Defaults to QoS 1. 'Qos0'
'Qos1'
retain When set to 'Keep', messages published to an MQTT broker will have the retain flag set. Default: 'Never'. 'Keep'
'Never'
topic The MQTT topic. string (required)
ttl The MQTT TTL setting. int

NamespaceAssetProperties

Name Description Value
assetTypeRefs URIs or type definition IDs. string[]
attributes A set of key-value pairs that contain custom attributes set by the customer. NamespaceAssetPropertiesAttributes
datasets Array of datasets that are part of the asset. Each dataset describes the data points that make up the set. NamespaceDataset[]
defaultDatasetsConfiguration Stringified JSON that contains connector-specific default configuration for all datasets. Each dataset can have its own configuration that overrides the default settings here. string
defaultDatasetsDestinations Default destinations for a dataset. DatasetDestination[]
defaultEventsConfiguration Stringified JSON that contains connector-specific default configuration for all events. Each event can have its own configuration that overrides the default settings here. string
defaultEventsDestinations Default destinations for an event. EventDestination[]
defaultManagementGroupsConfiguration Stringified JSON that contains connector-specific default configuration for all management groups. Each management group can have its own configuration that overrides the default settings here. string
defaultStreamsConfiguration Stringified JSON that contains connector-specific default configuration for all streams. Each stream can have its own configuration that overrides the default settings here. string
defaultStreamsDestinations Default destinations for a stream. StreamDestination[]
description Human-readable description of the asset. string
deviceRef Reference to the device that provides data for this asset. Must provide device name & endpoint on the device to use. DeviceRef (required)
discoveredAssetRefs Reference to a list of discovered assets. Populated only if the asset has been created from discovery flow. Discovered asset names must be provided. string[]
displayName Human-readable display name. string
documentationUri Asset documentation reference. string
enabled Enabled/disabled status of the asset. bool
eventGroups Array of event groups that are part of the asset. Each event group can have per-event group configuration. NamespaceEventGroup[]
externalAssetId Asset ID provided by the customer. string
hardwareRevision Asset hardware revision number. string
managementGroups Array of management groups that are part of the asset. Each management group can have a per-group configuration. ManagementGroup[]
manufacturer Asset manufacturer. string
manufacturerUri Asset manufacturer URI. string
model Asset model. string
productCode Asset product code. string
serialNumber Asset serial number. string
softwareRevision Asset software revision number. string
streams Array of streams that are part of the asset. Each stream can have a per-stream configuration. NamespaceStream[]

NamespaceAssetPropertiesAttributes

Name Description Value

NamespaceDataset

Name Description Value
dataPoints Array of data points that are part of the dataset. Each data point can have per-data point configuration. NamespaceDatasetDataPoint[]
datasetConfiguration Stringified JSON that contains connector-specific JSON string that describes configuration for the specific dataset. string
dataSource Reference to a data source for a given dataset. string
destinations Destinations for a dataset. DatasetDestination[]
name Name of the dataset. string (required)
typeRef URI or type definition ID. string

NamespaceDatasetDataPoint

Name Description Value
dataPointConfiguration Stringified JSON that contains connector-specific configuration for the data point. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize. string
dataSource The address of the source of the data in the asset (e.g. URL) so that a client can access the data source on the asset. string (required)
name The name of the data point. string (required)
typeRef URI or type definition ID. string

NamespaceEvent

Name Description Value
dataSource Reference to a data source for a given event. string
destinations Destinations for an event. EventDestination[]
eventConfiguration Stringified JSON that contains connector-specific configuration for the event. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize. string
name The name of the event. string (required)
typeRef URI or type definition ID. string

NamespaceEventGroup

Name Description Value
dataSource The address of the notifier of the event group in the asset (e.g. URL) so that a client can access the event group on the asset. string
defaultDestinations Destinations for events. Default destinations when destinations is not defined at the event level. EventDestination[]
eventGroupConfiguration Stringified JSON that contains connector-specific configuration for the event group. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize. string
events Array of events that are part of the event group. NamespaceEvent[]
name The name of the event group. string (required)
typeRef URI or type definition ID. string

NamespaceStream

Name Description Value
destinations Destinations for a stream. StreamDestination[]
name Name of the stream definition. string (required)
streamConfiguration Stringified JSON that contains connector-specific configuration for the specific stream. string
typeRef URI or type definition ID. string

StorageDestinationConfiguration

Name Description Value
path The storage destination path. string (required)

StreamDestination

Name Description Value
target Set to 'Mqtt' for type StreamMqttDestination. Set to 'Storage' for type StreamStorageDestination. 'Mqtt'
'Storage' (required)

StreamMqttDestination

Name Description Value
configuration The MQTT destination configuration. MqttDestinationConfiguration (required)
target Target destination. 'Mqtt' (required)

StreamStorageDestination

Name Description Value
configuration The storage destination configuration. StorageDestinationConfiguration (required)
target Target destination. 'Storage' (required)

TrackedResourceTags

Name Description Value

Terraform (AzAPI provider) resource definition

The namespaces/assets resource type can be deployed with operations that target:

  • Resource groups For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.DeviceRegistry/namespaces/assets resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DeviceRegistry/namespaces/assets@2026-11-01"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      assetTypeRefs = [
        "string"
      ]
      attributes = {
        {customized property} = ?
      }
      datasets = [
        {
          dataPoints = [
            {
              dataPointConfiguration = "string"
              dataSource = "string"
              name = "string"
              typeRef = "string"
            }
          ]
          datasetConfiguration = "string"
          dataSource = "string"
          destinations = [
            {
              target = "string"
              // For remaining properties, see DatasetDestination objects
            }
          ]
          name = "string"
          typeRef = "string"
        }
      ]
      defaultDatasetsConfiguration = "string"
      defaultDatasetsDestinations = [
        {
          target = "string"
          // For remaining properties, see DatasetDestination objects
        }
      ]
      defaultEventsConfiguration = "string"
      defaultEventsDestinations = [
        {
          target = "string"
          // For remaining properties, see EventDestination objects
        }
      ]
      defaultManagementGroupsConfiguration = "string"
      defaultStreamsConfiguration = "string"
      defaultStreamsDestinations = [
        {
          target = "string"
          // For remaining properties, see StreamDestination objects
        }
      ]
      description = "string"
      deviceRef = {
        deviceName = "string"
        endpointName = "string"
      }
      discoveredAssetRefs = [
        "string"
      ]
      displayName = "string"
      documentationUri = "string"
      enabled = bool
      eventGroups = [
        {
          dataSource = "string"
          defaultDestinations = [
            {
              target = "string"
              // For remaining properties, see EventDestination objects
            }
          ]
          eventGroupConfiguration = "string"
          events = [
            {
              dataSource = "string"
              destinations = [
                {
                  target = "string"
                  // For remaining properties, see EventDestination objects
                }
              ]
              eventConfiguration = "string"
              name = "string"
              typeRef = "string"
            }
          ]
          name = "string"
          typeRef = "string"
        }
      ]
      externalAssetId = "string"
      hardwareRevision = "string"
      managementGroups = [
        {
          actions = [
            {
              actionConfiguration = "string"
              actionType = "string"
              name = "string"
              targetUri = "string"
              timeoutInSeconds = int
              topic = "string"
              typeRef = "string"
            }
          ]
          dataSource = "string"
          defaultTimeoutInSeconds = int
          defaultTopic = "string"
          managementGroupConfiguration = "string"
          name = "string"
          typeRef = "string"
        }
      ]
      manufacturer = "string"
      manufacturerUri = "string"
      model = "string"
      productCode = "string"
      serialNumber = "string"
      softwareRevision = "string"
      streams = [
        {
          destinations = [
            {
              target = "string"
              // For remaining properties, see StreamDestination objects
            }
          ]
          name = "string"
          streamConfiguration = "string"
          typeRef = "string"
        }
      ]
    }
  }
}

DatasetDestination objects

Set the target property to specify the type of object.

For BrokerStateStore, use:

{
  configuration = {
    key = "string"
  }
  target = "BrokerStateStore"
}

For Mqtt, use:

{
  configuration = {
    qos = "string"
    retain = "string"
    topic = "string"
    ttl = int
  }
  target = "Mqtt"
}

For Storage, use:

{
  configuration = {
    path = "string"
  }
  target = "Storage"
}

EventDestination objects

Set the target property to specify the type of object.

For Mqtt, use:

{
  configuration = {
    qos = "string"
    retain = "string"
    topic = "string"
    ttl = int
  }
  target = "Mqtt"
}

For Storage, use:

{
  configuration = {
    path = "string"
  }
  target = "Storage"
}

StreamDestination objects

Set the target property to specify the type of object.

For Mqtt, use:

{
  configuration = {
    qos = "string"
    retain = "string"
    topic = "string"
    ttl = int
  }
  target = "Mqtt"
}

For Storage, use:

{
  configuration = {
    path = "string"
  }
  target = "Storage"
}

Property Values

Microsoft.DeviceRegistry/namespaces/assets

Name Description Value
extendedLocation The extended location. ExtendedLocation (required)
location The geo-location where the resource lives string (required)
name The resource name string

Constraints:
Min length = 3
Max length = 63
Pattern = ^[a-z0-9][a-z0-9-]*[a-z0-9]$ (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: namespaces
properties The resource-specific properties for this resource. NamespaceAssetProperties
tags Resource tags Dictionary of tag names and values.
type The resource type "Microsoft.DeviceRegistry/namespaces/assets@2026-11-01"

BrokerStateStoreDestinationConfiguration

Name Description Value
key The MQTT broker state store destination key. string (required)

DatasetBrokerStateStoreDestination

Name Description Value
configuration The MQTT broker state store destination configuration. BrokerStateStoreDestinationConfiguration (required)
target Target destination. 'BrokerStateStore' (required)

DatasetDestination

Name Description Value
target Set to 'BrokerStateStore' for type DatasetBrokerStateStoreDestination. Set to 'Mqtt' for type DatasetMqttDestination. Set to 'Storage' for type DatasetStorageDestination. 'BrokerStateStore'
'Mqtt'
'Storage' (required)

DatasetMqttDestination

Name Description Value
configuration The MQTT destination configuration. MqttDestinationConfiguration (required)
target Target destination. 'Mqtt' (required)

DatasetStorageDestination

Name Description Value
configuration The storage destination configuration. StorageDestinationConfiguration (required)
target Target destination. 'Storage' (required)

DeviceRef

Name Description Value
deviceName Name of the device resource string (required)
endpointName The name of endpoint to use string (required)

EventDestination

Name Description Value
target Set to 'Mqtt' for type EventMqttDestination. Set to 'Storage' for type EventStorageDestination. 'Mqtt'
'Storage' (required)

EventMqttDestination

Name Description Value
configuration The MQTT destination configuration. MqttDestinationConfiguration (required)
target Target destination. 'Mqtt' (required)

EventStorageDestination

Name Description Value
configuration The storage destination configuration. StorageDestinationConfiguration (required)
target Target destination. 'Storage' (required)

ExtendedLocation

Name Description Value
name The extended location name. string (required)
type The extended location type. string (required)

ManagementAction

Name Description Value
actionConfiguration Stringified JSON that contains connector-specific configuration for the action. string
actionType The type of the action. 'Call'
'Read'
'Write'
name Name of the action. string (required)
targetUri The target URI on which a client can invoke the specific action. string (required)
timeoutInSeconds Response timeout for the action. int
topic The MQTT topic path on which a client will receive the request for the action. string
typeRef URI or type definition ID. string

ManagementGroup

Name Description Value
actions Array of actions that are part of the management group. Each action can have an individual configuration. ManagementAction[]
dataSource Reference to a data source for a given management group. string
defaultTimeoutInSeconds Default response timeout for all actions that are part of the management group. int
defaultTopic Default MQTT topic path on which a client will receive the request for all actions that are part of the management group. string
managementGroupConfiguration Stringified JSON that contains connector-specific configuration for the management group. string
name Name of the management group. string (required)
typeRef URI or type definition ID. string

MqttDestinationConfiguration

Name Description Value
qos The MQTT QoS setting. Defaults to QoS 1. 'Qos0'
'Qos1'
retain When set to 'Keep', messages published to an MQTT broker will have the retain flag set. Default: 'Never'. 'Keep'
'Never'
topic The MQTT topic. string (required)
ttl The MQTT TTL setting. int

NamespaceAssetProperties

Name Description Value
assetTypeRefs URIs or type definition IDs. string[]
attributes A set of key-value pairs that contain custom attributes set by the customer. NamespaceAssetPropertiesAttributes
datasets Array of datasets that are part of the asset. Each dataset describes the data points that make up the set. NamespaceDataset[]
defaultDatasetsConfiguration Stringified JSON that contains connector-specific default configuration for all datasets. Each dataset can have its own configuration that overrides the default settings here. string
defaultDatasetsDestinations Default destinations for a dataset. DatasetDestination[]
defaultEventsConfiguration Stringified JSON that contains connector-specific default configuration for all events. Each event can have its own configuration that overrides the default settings here. string
defaultEventsDestinations Default destinations for an event. EventDestination[]
defaultManagementGroupsConfiguration Stringified JSON that contains connector-specific default configuration for all management groups. Each management group can have its own configuration that overrides the default settings here. string
defaultStreamsConfiguration Stringified JSON that contains connector-specific default configuration for all streams. Each stream can have its own configuration that overrides the default settings here. string
defaultStreamsDestinations Default destinations for a stream. StreamDestination[]
description Human-readable description of the asset. string
deviceRef Reference to the device that provides data for this asset. Must provide device name & endpoint on the device to use. DeviceRef (required)
discoveredAssetRefs Reference to a list of discovered assets. Populated only if the asset has been created from discovery flow. Discovered asset names must be provided. string[]
displayName Human-readable display name. string
documentationUri Asset documentation reference. string
enabled Enabled/disabled status of the asset. bool
eventGroups Array of event groups that are part of the asset. Each event group can have per-event group configuration. NamespaceEventGroup[]
externalAssetId Asset ID provided by the customer. string
hardwareRevision Asset hardware revision number. string
managementGroups Array of management groups that are part of the asset. Each management group can have a per-group configuration. ManagementGroup[]
manufacturer Asset manufacturer. string
manufacturerUri Asset manufacturer URI. string
model Asset model. string
productCode Asset product code. string
serialNumber Asset serial number. string
softwareRevision Asset software revision number. string
streams Array of streams that are part of the asset. Each stream can have a per-stream configuration. NamespaceStream[]

NamespaceAssetPropertiesAttributes

Name Description Value

NamespaceDataset

Name Description Value
dataPoints Array of data points that are part of the dataset. Each data point can have per-data point configuration. NamespaceDatasetDataPoint[]
datasetConfiguration Stringified JSON that contains connector-specific JSON string that describes configuration for the specific dataset. string
dataSource Reference to a data source for a given dataset. string
destinations Destinations for a dataset. DatasetDestination[]
name Name of the dataset. string (required)
typeRef URI or type definition ID. string

NamespaceDatasetDataPoint

Name Description Value
dataPointConfiguration Stringified JSON that contains connector-specific configuration for the data point. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize. string
dataSource The address of the source of the data in the asset (e.g. URL) so that a client can access the data source on the asset. string (required)
name The name of the data point. string (required)
typeRef URI or type definition ID. string

NamespaceEvent

Name Description Value
dataSource Reference to a data source for a given event. string
destinations Destinations for an event. EventDestination[]
eventConfiguration Stringified JSON that contains connector-specific configuration for the event. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize. string
name The name of the event. string (required)
typeRef URI or type definition ID. string

NamespaceEventGroup

Name Description Value
dataSource The address of the notifier of the event group in the asset (e.g. URL) so that a client can access the event group on the asset. string
defaultDestinations Destinations for events. Default destinations when destinations is not defined at the event level. EventDestination[]
eventGroupConfiguration Stringified JSON that contains connector-specific configuration for the event group. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize. string
events Array of events that are part of the event group. NamespaceEvent[]
name The name of the event group. string (required)
typeRef URI or type definition ID. string

NamespaceStream

Name Description Value
destinations Destinations for a stream. StreamDestination[]
name Name of the stream definition. string (required)
streamConfiguration Stringified JSON that contains connector-specific configuration for the specific stream. string
typeRef URI or type definition ID. string

StorageDestinationConfiguration

Name Description Value
path The storage destination path. string (required)

StreamDestination

Name Description Value
target Set to 'Mqtt' for type StreamMqttDestination. Set to 'Storage' for type StreamStorageDestination. 'Mqtt'
'Storage' (required)

StreamMqttDestination

Name Description Value
configuration The MQTT destination configuration. MqttDestinationConfiguration (required)
target Target destination. 'Mqtt' (required)

StreamStorageDestination

Name Description Value
configuration The storage destination configuration. StorageDestinationConfiguration (required)
target Target destination. 'Storage' (required)

TrackedResourceTags

Name Description Value