1085 строки
38 KiB
JSON
1085 строки
38 KiB
JSON
{
|
|
"id": "https://schema.management.azure.com/schemas/2018-12-01-preview/Microsoft.Devices.json#",
|
|
"title": "Microsoft.Devices",
|
|
"description": "Microsoft Devices Resource Types",
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"resourceDefinitions": {
|
|
"IotHubs": {
|
|
"description": "Microsoft.Devices/IotHubs",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2018-12-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"etag": {
|
|
"description": "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.",
|
|
"type": "string"
|
|
},
|
|
"location": {
|
|
"description": "The resource location.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the IoT hub.",
|
|
"type": "string"
|
|
},
|
|
"properties": {
|
|
"description": "IotHub properties",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/IotHubProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"resources": {
|
|
"items": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/IotHubs_certificates_childResource"
|
|
}
|
|
]
|
|
},
|
|
"type": "array"
|
|
},
|
|
"sku": {
|
|
"description": "IotHub SKU info",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/IotHubSkuInfo"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"tags": {
|
|
"description": "The resource tags.",
|
|
"oneOf": [
|
|
{
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
},
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"Microsoft.Devices/IotHubs"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"properties",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"IotHubs_certificates": {
|
|
"description": "Microsoft.Devices/IotHubs/certificates",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2018-12-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"certificate": {
|
|
"description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the certificate",
|
|
"oneOf": [
|
|
{
|
|
"pattern": "^[A-Za-z0-9-._]{1,64}$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"Microsoft.Devices/IotHubs/certificates"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"IotHubs_eventHubEndpoints_ConsumerGroups": {
|
|
"description": "Microsoft.Devices/IotHubs/eventHubEndpoints/ConsumerGroups",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2018-12-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the consumer group to add.",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"Microsoft.Devices/IotHubs/eventHubEndpoints/ConsumerGroups"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
}
|
|
},
|
|
"definitions": {
|
|
"CloudToDeviceProperties": {
|
|
"description": "The IoT hub cloud-to-device messaging properties.",
|
|
"properties": {
|
|
"defaultTtlAsIso8601": {
|
|
"description": "The default time to live for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
|
|
"type": "string"
|
|
},
|
|
"feedback": {
|
|
"description": "The properties of the feedback queue for cloud-to-device messages.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/FeedbackProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"maxDeliveryCount": {
|
|
"description": "The max delivery count for cloud-to-device messages in the device queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
|
|
"oneOf": [
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"EventHubProperties": {
|
|
"description": "The properties of the provisioned Event Hub-compatible endpoint used by the IoT hub.",
|
|
"properties": {
|
|
"partitionCount": {
|
|
"description": "The number of partitions for receiving device-to-cloud messages in the Event Hub-compatible endpoint. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages.",
|
|
"oneOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"retentionTimeInDays": {
|
|
"description": "The retention time for device-to-cloud messages in days. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#device-to-cloud-messages",
|
|
"oneOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"FallbackRouteProperties": {
|
|
"description": "The properties of the fallback route. IoT Hub uses these properties when it routes messages to the fallback endpoint.",
|
|
"properties": {
|
|
"condition": {
|
|
"description": "The condition which is evaluated in order to apply the fallback route. If the condition is not provided it will evaluate to true by default. For grammar, See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
|
|
"type": "string"
|
|
},
|
|
"endpointNames": {
|
|
"description": "The list of endpoints to which the messages that satisfy the condition are routed to. Currently only 1 endpoint is allowed.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"isEnabled": {
|
|
"description": "Used to specify whether the fallback route is enabled.",
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"description": "The source to which the routing rule is to be applied to. For example, DeviceMessages",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Invalid",
|
|
"DeviceMessages",
|
|
"TwinChangeEvents",
|
|
"DeviceLifecycleEvents",
|
|
"DeviceJobLifecycleEvents"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"source",
|
|
"endpointNames",
|
|
"isEnabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"FeedbackProperties": {
|
|
"description": "The properties of the feedback queue for cloud-to-device messages.",
|
|
"properties": {
|
|
"lockDurationAsIso8601": {
|
|
"description": "The lock duration for the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
|
|
"type": "string"
|
|
},
|
|
"maxDeliveryCount": {
|
|
"description": "The number of times the IoT hub attempts to deliver a message on the feedback queue. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
|
|
"oneOf": [
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"ttlAsIso8601": {
|
|
"description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging#cloud-to-device-messages.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"IotHubLocationDescription": {
|
|
"description": "Public representation of one of the locations where a resource is provisioned.",
|
|
"properties": {
|
|
"location": {
|
|
"description": "Azure Geo Regions",
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"description": "Specific Role assigned to this location",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"primary",
|
|
"secondary"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"IotHubProperties": {
|
|
"description": "The properties of an IoT hub.",
|
|
"properties": {
|
|
"authorizationPolicies": {
|
|
"description": "The shared access policies you can use to secure a connection to the IoT hub.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/definitions/SharedAccessSignatureAuthorizationRule"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"cloudToDevice": {
|
|
"description": "The IoT hub cloud-to-device messaging properties.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/CloudToDeviceProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"comments": {
|
|
"description": "IoT hub comments.",
|
|
"type": "string"
|
|
},
|
|
"deviceStreams": {
|
|
"description": "The device streams properties of iothub.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/IotHubPropertiesDeviceStreams"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"enableFileUploadNotifications": {
|
|
"description": "If True, file upload notifications are enabled.",
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"eventHubEndpoints": {
|
|
"description": "The Event Hub-compatible endpoint properties. The only possible keys to this dictionary is events. This key has to be present in the dictionary while making create or update calls for the IoT hub.",
|
|
"oneOf": [
|
|
{
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/EventHubProperties"
|
|
},
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"features": {
|
|
"description": "The capabilities and features enabled for the IoT hub.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"None",
|
|
"DeviceManagement"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"ipFilterRules": {
|
|
"description": "The IP filter rules.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/definitions/IpFilterRule"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"locations": {
|
|
"description": "Primary and secondary location for iot hub",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/definitions/IotHubLocationDescription"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"messagingEndpoints": {
|
|
"description": "The messaging endpoint properties for the file upload notification queue.",
|
|
"oneOf": [
|
|
{
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/MessagingEndpointProperties"
|
|
},
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"routing": {
|
|
"description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/RoutingProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"storageEndpoints": {
|
|
"description": "The list of Azure Storage endpoints where you can upload files. Currently you can configure only one Azure Storage account and that MUST have its key as $default. Specifying more than one storage account causes an error to be thrown. Not specifying a value for this property when the enableFileUploadNotifications property is set to True, causes an error to be thrown.",
|
|
"oneOf": [
|
|
{
|
|
"additionalProperties": {
|
|
"$ref": "#/definitions/StorageEndpointProperties"
|
|
},
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"IotHubPropertiesDeviceStreams": {
|
|
"description": "The device streams properties of iothub.",
|
|
"properties": {
|
|
"streamingEndpoints": {
|
|
"description": "List of Device Streams Endpoints.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"IotHubSkuInfo": {
|
|
"description": "Information about the SKU of the IoT hub.",
|
|
"properties": {
|
|
"capacity": {
|
|
"description": "The number of provisioned IoT Hub units. See: https://docs.microsoft.com/azure/azure-subscription-service-limits#iot-hub-limits.",
|
|
"oneOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"description": "The name of the SKU.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"F1",
|
|
"S1",
|
|
"S2",
|
|
"S3",
|
|
"B1",
|
|
"B2",
|
|
"B3"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"IotHubs_certificates_childResource": {
|
|
"description": "Microsoft.Devices/IotHubs/certificates",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2018-12-01-preview"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"certificate": {
|
|
"description": "base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name of the certificate",
|
|
"oneOf": [
|
|
{
|
|
"pattern": "^[A-Za-z0-9-._]{1,64}$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"certificates"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"IpFilterRule": {
|
|
"description": "The IP filter rules for the IoT hub.",
|
|
"properties": {
|
|
"action": {
|
|
"description": "The desired action for requests captured by this rule.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Accept",
|
|
"Reject"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"filterName": {
|
|
"description": "The name of the IP filter rule.",
|
|
"type": "string"
|
|
},
|
|
"ipMask": {
|
|
"description": "A string that contains the IP address range in CIDR notation for the rule.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"filterName",
|
|
"action",
|
|
"ipMask"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MessagingEndpointProperties": {
|
|
"description": "The properties of the messaging endpoints used by this IoT hub.",
|
|
"properties": {
|
|
"lockDurationAsIso8601": {
|
|
"description": "The lock duration. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
|
|
"type": "string"
|
|
},
|
|
"maxDeliveryCount": {
|
|
"description": "The number of times the IoT hub attempts to deliver a message. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
|
|
"oneOf": [
|
|
{
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"ttlAsIso8601": {
|
|
"description": "The period of time for which a message is available to consume before it is expired by the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"RouteProperties": {
|
|
"description": "The properties of a routing rule that your IoT hub uses to route messages to endpoints.",
|
|
"properties": {
|
|
"condition": {
|
|
"description": "The condition that is evaluated to apply the routing rule. If no condition is provided, it evaluates to true by default. For grammar, see: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-query-language",
|
|
"type": "string"
|
|
},
|
|
"endpointNames": {
|
|
"description": "The list of endpoints to which messages that satisfy the condition are routed. Currently only one endpoint is allowed.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"isEnabled": {
|
|
"description": "Used to specify whether a route is enabled.",
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"description": "The name of the route. The name can only include alphanumeric characters, periods, underscores, hyphens, has a maximum length of 64 characters, and must be unique.",
|
|
"oneOf": [
|
|
{
|
|
"pattern": "^[A-Za-z0-9-._]{1,64}$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"source": {
|
|
"description": "The source that the routing rule is to be applied to, such as DeviceMessages.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Invalid",
|
|
"DeviceMessages",
|
|
"TwinChangeEvents",
|
|
"DeviceLifecycleEvents",
|
|
"DeviceJobLifecycleEvents"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"source",
|
|
"endpointNames",
|
|
"isEnabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"RoutingEndpoints": {
|
|
"description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.",
|
|
"properties": {
|
|
"eventHubs": {
|
|
"description": "The list of Event Hubs endpoints that IoT hub routes messages to, based on the routing rules. This list does not include the built-in Event Hubs endpoint.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/definitions/RoutingEventHubProperties"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"serviceBusQueues": {
|
|
"description": "The list of Service Bus queue endpoints that IoT hub routes the messages to, based on the routing rules.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/definitions/RoutingServiceBusQueueEndpointProperties"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"serviceBusTopics": {
|
|
"description": "The list of Service Bus topic endpoints that the IoT hub routes the messages to, based on the routing rules.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/definitions/RoutingServiceBusTopicEndpointProperties"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"storageContainers": {
|
|
"description": "The list of storage container endpoints that IoT hub routes messages to, based on the routing rules.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/definitions/RoutingStorageContainerProperties"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"RoutingEventHubProperties": {
|
|
"description": "The properties related to an event hub endpoint.",
|
|
"properties": {
|
|
"connectionString": {
|
|
"description": "The connection string of the event hub endpoint. ",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
|
|
"oneOf": [
|
|
{
|
|
"pattern": "^[A-Za-z0-9-._]{1,64}$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"resourceGroup": {
|
|
"description": "The name of the resource group of the event hub endpoint.",
|
|
"type": "string"
|
|
},
|
|
"subscriptionId": {
|
|
"description": "The subscription identifier of the event hub endpoint.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"connectionString",
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"RoutingProperties": {
|
|
"description": "The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging",
|
|
"properties": {
|
|
"endpoints": {
|
|
"description": "The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/RoutingEndpoints"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"fallbackRoute": {
|
|
"description": "The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/FallbackRouteProperties"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"routes": {
|
|
"description": "The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/definitions/RouteProperties"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"RoutingServiceBusQueueEndpointProperties": {
|
|
"description": "The properties related to service bus queue endpoint types.",
|
|
"properties": {
|
|
"connectionString": {
|
|
"description": "The connection string of the service bus queue endpoint.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual queue name.",
|
|
"oneOf": [
|
|
{
|
|
"pattern": "^[A-Za-z0-9-._]{1,64}$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"resourceGroup": {
|
|
"description": "The name of the resource group of the service bus queue endpoint.",
|
|
"type": "string"
|
|
},
|
|
"subscriptionId": {
|
|
"description": "The subscription identifier of the service bus queue endpoint.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"connectionString",
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"RoutingServiceBusTopicEndpointProperties": {
|
|
"description": "The properties related to service bus topic endpoint types.",
|
|
"properties": {
|
|
"connectionString": {
|
|
"description": "The connection string of the service bus topic endpoint.",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types. The name need not be the same as the actual topic name.",
|
|
"oneOf": [
|
|
{
|
|
"pattern": "^[A-Za-z0-9-._]{1,64}$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"resourceGroup": {
|
|
"description": "The name of the resource group of the service bus topic endpoint.",
|
|
"type": "string"
|
|
},
|
|
"subscriptionId": {
|
|
"description": "The subscription identifier of the service bus topic endpoint.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"connectionString",
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"RoutingStorageContainerProperties": {
|
|
"description": "The properties related to a storage container endpoint.",
|
|
"properties": {
|
|
"batchFrequencyInSeconds": {
|
|
"description": "Time interval at which blobs are written to storage. Value should be between 60 and 720 seconds. Default value is 300 seconds.",
|
|
"oneOf": [
|
|
{
|
|
"maximum": 720,
|
|
"minimum": 60,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"connectionString": {
|
|
"description": "The connection string of the storage account.",
|
|
"type": "string"
|
|
},
|
|
"containerName": {
|
|
"description": "The name of storage container in the storage account.",
|
|
"type": "string"
|
|
},
|
|
"encoding": {
|
|
"description": "Encoding that is used to serialize messages to blobs. Supported values are 'avro', 'avrodeflate', and 'JSON'. Default value is 'avro'.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Avro",
|
|
"AvroDeflate",
|
|
"JSON"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"fileNameFormat": {
|
|
"description": "File name format for the blob. Default format is {iothub}/{partition}/{YYYY}/{MM}/{DD}/{HH}/{mm}. All parameters are mandatory but can be reordered.",
|
|
"type": "string"
|
|
},
|
|
"maxChunkSizeInBytes": {
|
|
"description": "Maximum number of bytes for each blob written to storage. Value should be between 10485760(10MB) and 524288000(500MB). Default value is 314572800(300MB).",
|
|
"oneOf": [
|
|
{
|
|
"maximum": 524288000,
|
|
"minimum": 10485760,
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"description": "The name that identifies this endpoint. The name can only include alphanumeric characters, periods, underscores, hyphens and has a maximum length of 64 characters. The following names are reserved: events, fileNotifications, $default. Endpoint names must be unique across endpoint types.",
|
|
"oneOf": [
|
|
{
|
|
"pattern": "^[A-Za-z0-9-._]{1,64}$",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"resourceGroup": {
|
|
"description": "The name of the resource group of the storage account.",
|
|
"type": "string"
|
|
},
|
|
"subscriptionId": {
|
|
"description": "The subscription identifier of the storage account.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"connectionString",
|
|
"name",
|
|
"containerName"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SharedAccessSignatureAuthorizationRule": {
|
|
"description": "The properties of an IoT hub shared access policy.",
|
|
"properties": {
|
|
"keyName": {
|
|
"description": "The name of the shared access policy.",
|
|
"type": "string"
|
|
},
|
|
"primaryKey": {
|
|
"description": "The primary key.",
|
|
"type": "string"
|
|
},
|
|
"rights": {
|
|
"description": "The permissions assigned to the shared access policy.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"RegistryRead",
|
|
"RegistryWrite",
|
|
"ServiceConnect",
|
|
"DeviceConnect",
|
|
"RegistryRead, RegistryWrite",
|
|
"RegistryRead, ServiceConnect",
|
|
"RegistryRead, DeviceConnect",
|
|
"RegistryWrite, ServiceConnect",
|
|
"RegistryWrite, DeviceConnect",
|
|
"ServiceConnect, DeviceConnect",
|
|
"RegistryRead, RegistryWrite, ServiceConnect",
|
|
"RegistryRead, RegistryWrite, DeviceConnect",
|
|
"RegistryRead, ServiceConnect, DeviceConnect",
|
|
"RegistryWrite, ServiceConnect, DeviceConnect",
|
|
"RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"secondaryKey": {
|
|
"description": "The secondary key.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"keyName",
|
|
"rights"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"StorageEndpointProperties": {
|
|
"description": "The properties of the Azure Storage endpoint for file upload.",
|
|
"properties": {
|
|
"connectionString": {
|
|
"description": "The connection string for the Azure Storage account to which files are uploaded.",
|
|
"type": "string"
|
|
},
|
|
"containerName": {
|
|
"description": "The name of the root container where you upload files. The container need not exist but should be creatable using the connectionString specified.",
|
|
"type": "string"
|
|
},
|
|
"sasTtlAsIso8601": {
|
|
"description": "The period of time for which the SAS URI generated by IoT Hub for file upload is valid. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-file-upload#file-upload-notification-configuration-options.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"connectionString",
|
|
"containerName"
|
|
],
|
|
"type": "object"
|
|
}
|
|
}
|
|
} |