Microsoft.Devices provisioningServices 2018-01-22

Bicep resource definition

The provisioningServices 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.Devices/provisioningServices resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Devices/provisioningServices@2018-01-22' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  sku: {
    capacity: int
    name: 'S1'
  }
  etag: 'string'
  properties: {
    allocationPolicy: 'string'
    authorizationPolicies: [
      {
        keyName: 'string'
        primaryKey: 'string'
        rights: 'string'
        secondaryKey: 'string'
        keyName: 'string'
        primaryKey: 'string'
        rights: 'string'
        secondaryKey: 'string'
      }
    ]
    iotHubs: [
      {
        allocationWeight: int
        applyAllocationPolicy: bool
        connectionString: 'string'
        location: 'string'
      }
    ]
    provisioningState: 'string'
    state: 'string'
  }
}

Property values

provisioningServices

Name Description Value
name The resource name string (required)

Character limit: 3-64

Valid characters:
Alphanumerics and hyphens.

End with alphanumeric.
location The resource location. string (required)
tags The resource tags. Dictionary of tag names and values. See Tags in templates
sku Sku info for a provisioning Service. IotDpsSkuInfo (required)
etag The Etag field is not required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention. string
properties Service specific properties for a provisioning service IotDpsPropertiesDescription (required)

IotDpsPropertiesDescription

Name Description Value
allocationPolicy Allocation policy to be used by this provisioning service. 'GeoLatency'
'Hashed'
'Static'
authorizationPolicies List of authorization keys for a provisioning service. SharedAccessSignatureAuthorizationRuleAccessRightsDe...[]
iotHubs List of IoT hubs associated with this provisioning service. IotHubDefinitionDescription[]
provisioningState The ARM provisioning state of the provisioning service. string
state Current state of the provisioning service. 'Activating'
'ActivationFailed'
'Active'
'Deleted'
'Deleting'
'DeletionFailed'
'FailingOver'
'FailoverFailed'
'Resuming'
'Suspended'
'Suspending'
'Transitioning'

SharedAccessSignatureAuthorizationRuleAccessRightsDe...

Name Description Value
keyName Name of the key. string (required)
primaryKey Primary SAS key value. string
rights Rights that this key has. 'DeviceConnect'
'EnrollmentRead'
'EnrollmentWrite'
'RegistrationStatusRead'
'RegistrationStatusWrite'
'ServiceConfig' (required)
secondaryKey Secondary SAS key value. string
keyName Name of the key. string (required)
primaryKey Primary SAS key value. string
rights Rights that this key has. 'DeviceConnect'
'EnrollmentRead'
'EnrollmentWrite'
'RegistrationStatusRead'
'RegistrationStatusWrite'
'ServiceConfig' (required)
secondaryKey Secondary SAS key value. string

IotHubDefinitionDescription

Name Description Value
allocationWeight weight to apply for a given iot h. int
applyAllocationPolicy flag for applying allocationPolicy or not for a given iot hub. bool
connectionString Connection string og the IoT hub. string (required)
location ARM region of the IoT hub. string (required)

IotDpsSkuInfo

Name Description Value
capacity The number of units to provision int
name Sku name. 'S1'

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Create an IOT Hub and Ubuntu edge simulator

Deploy to Azure
This template creates an IOT Hub and Virtual Machine Ubuntu edge simulator.
Create an IoT Hub Device Provisioning Service

Deploy to Azure
This template enables you to create an IoT hub and an IoT Hub Device Provisioning Service, and link the two services together.

ARM template resource definition

The provisioningServices 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.Devices/provisioningServices resource, add the following JSON to your template.

{
  "type": "Microsoft.Devices/provisioningServices",
  "apiVersion": "2018-01-22",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "sku": {
    "capacity": "int",
    "name": "S1"
  },
  "etag": "string",
  "properties": {
    "allocationPolicy": "string",
    "authorizationPolicies": [
      {
        "keyName": "string",
        "primaryKey": "string",
        "rights": "string",
        "secondaryKey": "string",
        "keyName": "string",
        "primaryKey": "string",
        "rights": "string",
        "secondaryKey": "string"
      }
    ],
    "iotHubs": [
      {
        "allocationWeight": "int",
        "applyAllocationPolicy": "bool",
        "connectionString": "string",
        "location": "string"
      }
    ],
    "provisioningState": "string",
    "state": "string"
  }
}

Property values

provisioningServices

Name Description Value
type The resource type 'Microsoft.Devices/provisioningServices'
apiVersion The resource api version '2018-01-22'
name The resource name string (required)

Character limit: 3-64

Valid characters:
Alphanumerics and hyphens.

End with alphanumeric.
location The resource location. string (required)
tags The resource tags. Dictionary of tag names and values. See Tags in templates
sku Sku info for a provisioning Service. IotDpsSkuInfo (required)
etag The Etag field is not required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention. string
properties Service specific properties for a provisioning service IotDpsPropertiesDescription (required)

IotDpsPropertiesDescription

Name Description Value
allocationPolicy Allocation policy to be used by this provisioning service. 'GeoLatency'
'Hashed'
'Static'
authorizationPolicies List of authorization keys for a provisioning service. SharedAccessSignatureAuthorizationRuleAccessRightsDe...[]
iotHubs List of IoT hubs associated with this provisioning service. IotHubDefinitionDescription[]
provisioningState The ARM provisioning state of the provisioning service. string
state Current state of the provisioning service. 'Activating'
'ActivationFailed'
'Active'
'Deleted'
'Deleting'
'DeletionFailed'
'FailingOver'
'FailoverFailed'
'Resuming'
'Suspended'
'Suspending'
'Transitioning'

SharedAccessSignatureAuthorizationRuleAccessRightsDe...

Name Description Value
keyName Name of the key. string (required)
primaryKey Primary SAS key value. string
rights Rights that this key has. 'DeviceConnect'
'EnrollmentRead'
'EnrollmentWrite'
'RegistrationStatusRead'
'RegistrationStatusWrite'
'ServiceConfig' (required)
secondaryKey Secondary SAS key value. string
keyName Name of the key. string (required)
primaryKey Primary SAS key value. string
rights Rights that this key has. 'DeviceConnect'
'EnrollmentRead'
'EnrollmentWrite'
'RegistrationStatusRead'
'RegistrationStatusWrite'
'ServiceConfig' (required)
secondaryKey Secondary SAS key value. string

IotHubDefinitionDescription

Name Description Value
allocationWeight weight to apply for a given iot h. int
applyAllocationPolicy flag for applying allocationPolicy or not for a given iot hub. bool
connectionString Connection string og the IoT hub. string (required)
location ARM region of the IoT hub. string (required)

IotDpsSkuInfo

Name Description Value
capacity The number of units to provision int
name Sku name. 'S1'

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Create an IOT Hub and Ubuntu edge simulator

Deploy to Azure
This template creates an IOT Hub and Virtual Machine Ubuntu edge simulator.
Create an IoT Hub Device Provisioning Service

Deploy to Azure
This template enables you to create an IoT hub and an IoT Hub Device Provisioning Service, and link the two services together.

Terraform (AzAPI provider) resource definition

The provisioningServices 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.Devices/provisioningServices resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Devices/provisioningServices@2018-01-22"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      allocationPolicy = "string"
      authorizationPolicies = [
        {
          keyName = "string"
          primaryKey = "string"
          rights = "string"
          secondaryKey = "string"
          keyName = "string"
          primaryKey = "string"
          rights = "string"
          secondaryKey = "string"
        }
      ]
      iotHubs = [
        {
          allocationWeight = int
          applyAllocationPolicy = bool
          connectionString = "string"
          location = "string"
        }
      ]
      provisioningState = "string"
      state = "string"
    }
    sku = {
      capacity = int
      name = "S1"
    }
    etag = "string"
  })
}

Property values

provisioningServices

Name Description Value
type The resource type "Microsoft.Devices/provisioningServices@2018-01-22"
name The resource name string (required)

Character limit: 3-64

Valid characters:
Alphanumerics and hyphens.

End with alphanumeric.
location The resource location. string (required)
parent_id To deploy to a resource group, use the ID of that resource group. string (required)
tags The resource tags. Dictionary of tag names and values.
sku Sku info for a provisioning Service. IotDpsSkuInfo (required)
etag The Etag field is not required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention. string
properties Service specific properties for a provisioning service IotDpsPropertiesDescription (required)

IotDpsPropertiesDescription

Name Description Value
allocationPolicy Allocation policy to be used by this provisioning service. "GeoLatency"
"Hashed"
"Static"
authorizationPolicies List of authorization keys for a provisioning service. SharedAccessSignatureAuthorizationRuleAccessRightsDe...[]
iotHubs List of IoT hubs associated with this provisioning service. IotHubDefinitionDescription[]
provisioningState The ARM provisioning state of the provisioning service. string
state Current state of the provisioning service. "Activating"
"ActivationFailed"
"Active"
"Deleted"
"Deleting"
"DeletionFailed"
"FailingOver"
"FailoverFailed"
"Resuming"
"Suspended"
"Suspending"
"Transitioning"

SharedAccessSignatureAuthorizationRuleAccessRightsDe...

Name Description Value
keyName Name of the key. string (required)
primaryKey Primary SAS key value. string
rights Rights that this key has. "DeviceConnect"
"EnrollmentRead"
"EnrollmentWrite"
"RegistrationStatusRead"
"RegistrationStatusWrite"
"ServiceConfig" (required)
secondaryKey Secondary SAS key value. string
keyName Name of the key. string (required)
primaryKey Primary SAS key value. string
rights Rights that this key has. "DeviceConnect"
"EnrollmentRead"
"EnrollmentWrite"
"RegistrationStatusRead"
"RegistrationStatusWrite"
"ServiceConfig" (required)
secondaryKey Secondary SAS key value. string

IotHubDefinitionDescription

Name Description Value
allocationWeight weight to apply for a given iot h. int
applyAllocationPolicy flag for applying allocationPolicy or not for a given iot hub. bool
connectionString Connection string og the IoT hub. string (required)
location ARM region of the IoT hub. string (required)

IotDpsSkuInfo

Name Description Value
capacity The number of units to provision int
name Sku name. "S1"