azure-resource-manager-schemas/schemas/2021-10-15/Microsoft.Devices.Provision...

646 строки
19 KiB
JSON

{
"id": "https://schema.management.azure.com/schemas/2021-10-15/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": [
"2021-10-15"
],
"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"
},
{
"$ref": "#/definitions/provisioningServices_privateEndpointConnections_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": [
"2021-10-15"
],
"type": "string"
},
"certificate": {
"description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
"type": "string"
},
"isVerified": {
"description": "True indicates that the certificate will be created in verified state and proof of possession will not be required.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"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"
},
"provisioningServices_privateEndpointConnections": {
"description": "Microsoft.Devices/provisioningServices/privateEndpointConnections",
"properties": {
"apiVersion": {
"enum": [
"2021-10-15"
],
"type": "string"
},
"name": {
"description": "The name of the private endpoint connection",
"type": "string"
},
"properties": {
"description": "The properties of a private endpoint connection",
"oneOf": [
{
"$ref": "#/definitions/PrivateEndpointConnectionProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"Microsoft.Devices/provisioningServices/privateEndpointConnections"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"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"
}
]
},
"enableDataResidency": {
"description": "Optional.\nIndicates if the DPS instance has Data Residency enabled, removing the cross geo-pair disaster recovery.",
"oneOf": [
{
"type": "boolean"
},
{
"$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"
}
]
},
"privateEndpointConnections": {
"description": "Private endpoint connections created on this IotHub",
"oneOf": [
{
"items": {
"$ref": "#/definitions/PrivateEndpointConnection"
},
"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"
},
"publicNetworkAccess": {
"description": "Whether requests from Public Network are allowed",
"oneOf": [
{
"enum": [
"Enabled",
"Disabled"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"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 of 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 a provisioning Service.",
"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"
},
"PrivateEndpoint": {
"description": "The private endpoint property of a private endpoint connection",
"properties": {},
"type": "object"
},
"PrivateEndpointConnection": {
"description": "The private endpoint connection of a provisioning service",
"properties": {
"properties": {
"description": "The properties of a private endpoint connection",
"oneOf": [
{
"$ref": "#/definitions/PrivateEndpointConnectionProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"properties"
],
"type": "object"
},
"PrivateEndpointConnectionProperties": {
"description": "The properties of a private endpoint connection",
"properties": {
"privateEndpoint": {
"description": "The private endpoint property of a private endpoint connection",
"oneOf": [
{
"$ref": "#/definitions/PrivateEndpoint"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"privateLinkServiceConnectionState": {
"description": "The current state of a private endpoint connection",
"oneOf": [
{
"$ref": "#/definitions/PrivateLinkServiceConnectionState"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"privateLinkServiceConnectionState"
],
"type": "object"
},
"PrivateLinkServiceConnectionState": {
"description": "The current state of a private endpoint connection",
"properties": {
"actionsRequired": {
"description": "Actions required for a private endpoint connection",
"type": "string"
},
"description": {
"description": "The description for the current state of a private endpoint connection",
"type": "string"
},
"status": {
"description": "The status of a private endpoint connection",
"oneOf": [
{
"enum": [
"Pending",
"Approved",
"Rejected",
"Disconnected"
],
"type": "string"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
}
},
"required": [
"status",
"description"
],
"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": [
"2021-10-15"
],
"type": "string"
},
"certificate": {
"description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
"type": "string"
},
"isVerified": {
"description": "True indicates that the certificate will be created in verified state and proof of possession will not be required.",
"oneOf": [
{
"type": "boolean"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"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"
},
"provisioningServices_privateEndpointConnections_childResource": {
"description": "Microsoft.Devices/provisioningServices/privateEndpointConnections",
"properties": {
"apiVersion": {
"enum": [
"2021-10-15"
],
"type": "string"
},
"name": {
"description": "The name of the private endpoint connection",
"type": "string"
},
"properties": {
"description": "The properties of a private endpoint connection",
"oneOf": [
{
"$ref": "#/definitions/PrivateEndpointConnectionProperties"
},
{
"$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression"
}
]
},
"type": {
"enum": [
"privateEndpointConnections"
],
"type": "string"
}
},
"required": [
"name",
"properties",
"apiVersion",
"type"
],
"type": "object"
}
}
}