412 строки
12 KiB
JSON
412 строки
12 KiB
JSON
{
|
|
"id": "https://schema.management.azure.com/schemas/2020-01-01/Microsoft.Devices.Provisioning.json#",
|
|
"title": "Microsoft.Devices",
|
|
"description": "Microsoft Devices Resource Types",
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"resourceDefinitions": {
|
|
"provisioningServices": {
|
|
"description": "Microsoft.Devices/provisioningServices",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2020-01-01"
|
|
],
|
|
"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": "Name of provisioning service to create or update.",
|
|
"type": "string"
|
|
},
|
|
"properties": {
|
|
"description": "Service specific properties for a provisioning service",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/IotDpsPropertiesDescription"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"resources": {
|
|
"items": {
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/provisioningServices_certificates_childResource"
|
|
}
|
|
]
|
|
},
|
|
"type": "array"
|
|
},
|
|
"sku": {
|
|
"description": "Sku info for a provisioning Service.",
|
|
"oneOf": [
|
|
{
|
|
"$ref": "#/definitions/IotDpsSkuInfo"
|
|
},
|
|
{
|
|
"$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/provisioningServices"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"properties",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"provisioningServices_certificates": {
|
|
"description": "Microsoft.Devices/provisioningServices/certificates",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2020-01-01"
|
|
],
|
|
"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 create or update.",
|
|
"maxLength": 256,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"Microsoft.Devices/provisioningServices/certificates"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
}
|
|
},
|
|
"definitions": {
|
|
"IotDpsPropertiesDescription": {
|
|
"description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope",
|
|
"properties": {
|
|
"allocationPolicy": {
|
|
"description": "Allocation policy to be used by this provisioning service.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Hashed",
|
|
"GeoLatency",
|
|
"Static"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"authorizationPolicies": {
|
|
"description": "List of authorization keys for a provisioning service.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"iotHubs": {
|
|
"description": "List of IoT hubs associated with this provisioning service.",
|
|
"oneOf": [
|
|
{
|
|
"items": {
|
|
"$ref": "#/definitions/IotHubDefinitionDescription"
|
|
},
|
|
"type": "array"
|
|
},
|
|
{
|
|
"$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"
|
|
}
|
|
]
|
|
},
|
|
"provisioningState": {
|
|
"description": "The ARM provisioning state of the provisioning service.",
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"description": "Current state of the provisioning service.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"Activating",
|
|
"Active",
|
|
"Deleting",
|
|
"Deleted",
|
|
"ActivationFailed",
|
|
"DeletionFailed",
|
|
"Transitioning",
|
|
"Suspending",
|
|
"Suspended",
|
|
"Resuming",
|
|
"FailingOver",
|
|
"FailoverFailed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"IotDpsSkuInfo": {
|
|
"description": "List of possible provisioning service SKUs.",
|
|
"properties": {
|
|
"capacity": {
|
|
"description": "The number of units to provision",
|
|
"oneOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"description": "Sku name.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"S1"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"IotHubDefinitionDescription": {
|
|
"description": "Description of the IoT hub.",
|
|
"properties": {
|
|
"allocationWeight": {
|
|
"description": "weight to apply for a given iot h.",
|
|
"oneOf": [
|
|
{
|
|
"type": "integer"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"applyAllocationPolicy": {
|
|
"description": "flag for applying allocationPolicy or not for a given iot hub.",
|
|
"oneOf": [
|
|
{
|
|
"type": "boolean"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"connectionString": {
|
|
"description": "Connection string og the IoT hub.",
|
|
"type": "string"
|
|
},
|
|
"location": {
|
|
"description": "ARM region of the IoT hub.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"connectionString",
|
|
"location"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"IpFilterRule": {
|
|
"description": "The IP filter rules for the IoT dps.",
|
|
"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"
|
|
},
|
|
"target": {
|
|
"description": "Target for requests captured by this rule.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"all",
|
|
"serviceApi",
|
|
"deviceApi"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"filterName",
|
|
"action",
|
|
"ipMask"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SharedAccessSignatureAuthorizationRuleAccessRightsDescription": {
|
|
"description": "Description of the shared access key.",
|
|
"properties": {
|
|
"keyName": {
|
|
"description": "Name of the key.",
|
|
"type": "string"
|
|
},
|
|
"primaryKey": {
|
|
"description": "Primary SAS key value.",
|
|
"type": "string"
|
|
},
|
|
"rights": {
|
|
"description": "Rights that this key has.",
|
|
"oneOf": [
|
|
{
|
|
"enum": [
|
|
"ServiceConfig",
|
|
"EnrollmentRead",
|
|
"EnrollmentWrite",
|
|
"DeviceConnect",
|
|
"RegistrationStatusRead",
|
|
"RegistrationStatusWrite"
|
|
],
|
|
"type": "string"
|
|
},
|
|
{
|
|
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
|
|
}
|
|
]
|
|
},
|
|
"secondaryKey": {
|
|
"description": "Secondary SAS key value.",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"keyName",
|
|
"rights"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"provisioningServices_certificates_childResource": {
|
|
"description": "Microsoft.Devices/provisioningServices/certificates",
|
|
"properties": {
|
|
"apiVersion": {
|
|
"enum": [
|
|
"2020-01-01"
|
|
],
|
|
"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 create or update.",
|
|
"maxLength": 256,
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"certificates"
|
|
],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"apiVersion",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
}
|
|
}
|
|
} |