From bbd0d99632fcf1865370c6a9f715ec603e33f2f1 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 09:44:07 -0700 Subject: [PATCH 01/32] Add 2026-06-01-preview API version with adrLinkState, deviceRegistryNamespaces, and disableLocalAuth Introduces the 2026-06-01-preview API version for Microsoft.Devices/DeviceProvisioningServices, adding three read/write properties on IotDpsPropertiesDescription: - adrLinkState (read-only): linking state with the new AdrLinkingState enum (Linking, Linked, LinkingFailed, NamespaceDeleted) - deviceRegistryNamespaces (read-only): Record of linked Device Registry namespaces keyed by resource ID - disableLocalAuth: disables non-Azure-RBAC authentication methods Includes regenerated swagger and 29 example payloads. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../ProvisioningServiceDescription.tsp | 2 + .../DPSCertificateCreateOrUpdate.json | 35 + .../DPSCheckNameAvailability.json | 20 + .../2026-06-01-preview/DPSCreate.json | 77 + ...eateOrUpdatePrivateEndpointConnection.json | 55 + .../DPSCreateWithNamespace.json | 101 + .../DPSCreate_DisableLocalAuthFalse.json | 84 + .../DPSCreate_DisableLocalAuthTrue.json | 87 + .../2026-06-01-preview/DPSDelete.json | 22 + .../DPSDeleteCertificate.json | 16 + .../DPSDeletePrivateEndpointConnection.json | 53 + .../DPSGenerateVerificationCode.json | 29 + .../examples/2026-06-01-preview/DPSGet.json | 57 + .../2026-06-01-preview/DPSGetCertificate.json | 30 + .../DPSGetCertificates.json | 33 + .../2026-06-01-preview/DPSGetKey.json | 21 + .../DPSGetOperationResult.json | 19 + .../DPSGetPrivateEndpointConnection.json | 30 + .../DPSGetPrivateLinkResources.json | 29 + .../2026-06-01-preview/DPSGetValidSku.json | 21 + .../DPSListByResourceGroup.json | 85 + .../DPSListBySubscription.json | 84 + .../2026-06-01-preview/DPSListKeys.json | 30 + .../DPSListPrivateEndpointConnections.json | 31 + .../DPSListPrivateLinkResources.json | 32 + .../2026-06-01-preview/DPSOperations.json | 295 ++ .../examples/2026-06-01-preview/DPSPatch.json | 57 + .../DPSPatch_DisableLocalAuth.json | 50 + .../2026-06-01-preview/DPSUpdate.json | 105 + .../DPSVerifyCertificate.json | 34 + .../DeviceProvisioningServices/main.tsp | 5 + .../DeviceProvisioningServices/models.tsp | 51 + .../DPSCertificateCreateOrUpdate.json | 35 + .../examples/DPSCheckNameAvailability.json | 20 + .../examples/DPSCreate.json | 77 + ...eateOrUpdatePrivateEndpointConnection.json | 55 + .../examples/DPSCreateWithNamespace.json | 101 + .../DPSCreate_DisableLocalAuthFalse.json | 84 + .../DPSCreate_DisableLocalAuthTrue.json | 87 + .../examples/DPSDelete.json | 22 + .../examples/DPSDeleteCertificate.json | 16 + .../DPSDeletePrivateEndpointConnection.json | 53 + .../examples/DPSGenerateVerificationCode.json | 29 + .../2026-06-01-preview/examples/DPSGet.json | 57 + .../examples/DPSGetCertificate.json | 30 + .../examples/DPSGetCertificates.json | 33 + .../examples/DPSGetKey.json | 21 + .../examples/DPSGetOperationResult.json | 19 + .../DPSGetPrivateEndpointConnection.json | 30 + .../examples/DPSGetPrivateLinkResources.json | 29 + .../examples/DPSGetValidSku.json | 21 + .../examples/DPSListByResourceGroup.json | 85 + .../examples/DPSListBySubscription.json | 84 + .../examples/DPSListKeys.json | 30 + .../DPSListPrivateEndpointConnections.json | 31 + .../examples/DPSListPrivateLinkResources.json | 32 + .../examples/DPSOperations.json | 295 ++ .../2026-06-01-preview/examples/DPSPatch.json | 57 + .../examples/DPSPatch_DisableLocalAuth.json | 50 + .../examples/DPSUpdate.json | 105 + .../examples/DPSVerifyCertificate.json | 34 + .../preview/2026-06-01-preview/iotdps.json | 2772 +++++++++++++++++ .../DeviceProvisioningServices/readme.md | 11 +- 63 files changed, 6084 insertions(+), 1 deletion(-) create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCertificateCreateOrUpdate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCheckNameAvailability.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateOrUpdatePrivateEndpointConnection.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate_DisableLocalAuthFalse.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate_DisableLocalAuthTrue.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDelete.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDeleteCertificate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDeletePrivateEndpointConnection.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGenerateVerificationCode.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetCertificate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetCertificates.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetKey.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetOperationResult.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetPrivateEndpointConnection.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetPrivateLinkResources.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetValidSku.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListByResourceGroup.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListBySubscription.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListKeys.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListPrivateEndpointConnections.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListPrivateLinkResources.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSOperations.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSUpdate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSVerifyCertificate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCertificateCreateOrUpdate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCheckNameAvailability.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate_DisableLocalAuthFalse.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate_DisableLocalAuthTrue.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDelete.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDeleteCertificate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDeletePrivateEndpointConnection.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGenerateVerificationCode.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetCertificate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetCertificates.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetKey.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetOperationResult.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetPrivateEndpointConnection.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetPrivateLinkResources.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetValidSku.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListByResourceGroup.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListBySubscription.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListKeys.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListPrivateEndpointConnections.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListPrivateLinkResources.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSOperations.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSUpdate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSVerifyCertificate.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/ProvisioningServiceDescription.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/ProvisioningServiceDescription.tsp index ca39393d1b2a..9bb73442564f 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/ProvisioningServiceDescription.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/ProvisioningServiceDescription.tsp @@ -2,12 +2,14 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; import "@typespec/openapi"; import "@typespec/rest"; +import "@typespec/versioning"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; using TypeSpec.OpenAPI; +using TypeSpec.Versioning; namespace Microsoft.Devices; /** diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCertificateCreateOrUpdate.json new file mode 100644 index 000000000000..4458caee78ef --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCertificateCreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "certificateDescription": { + "properties": { + "certificate": "MA==" + } + }, + "certificateName": "cert", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "properties": { + "certificate": "MA==", + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "isVerified": false, + "subject": "CN=testdevice1", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + } + } + } + }, + "operationId": "DpsCertificate_CreateOrUpdate", + "title": "DPSCreateOrUpdateCertificate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCheckNameAvailability.json new file mode 100644 index 000000000000..7277d35e5971 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "arguments": { + "name": "test213123" + }, + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "message": "name is valid", + "nameAvailable": true, + "reason": "Invalid" + } + } + }, + "operationId": "IotDpsResource_CheckProvisioningServiceNameAvailability", + "title": "DPSCheckName" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate.json new file mode 100644 index 000000000000..e4d7348274c7 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "location": "East US", + "properties": { + "enableDataResidency": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSCreate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateOrUpdatePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateOrUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..d3b94a58ae71 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateOrUpdatePrivateEndpointConnection.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "description": "Approved by johndoe@contoso.com", + "status": "Approved" + } + } + }, + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None", + "status": "Approved" + } + } + } + }, + "201": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None", + "status": "Approved" + } + } + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdatePrivateEndpointConnection", + "title": "PrivateEndpointConnection_CreateOrUpdate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json new file mode 100644 index 000000000000..c76463e523aa --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "location": "East US", + "properties": { + "enableDataResidency": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "deviceRegistryNamespace": { + "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "UserAssigned", + "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" + } + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} + } + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "deviceRegistryNamespace": { + "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "UserAssigned", + "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" + } + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} + } + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSCreateWithNamespace" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate_DisableLocalAuthFalse.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate_DisableLocalAuthFalse.json new file mode 100644 index 000000000000..d23b164faa6d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate_DisableLocalAuthFalse.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "location": "East US", + "properties": { + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": { + "key1": "value1" + } + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": false + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "key1": "value1" + } + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": false + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "key1": "value1" + } + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSCreate_DisableLocalAuthFalse" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate_DisableLocalAuthTrue.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate_DisableLocalAuthTrue.json new file mode 100644 index 000000000000..c237c30d3917 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate_DisableLocalAuthTrue.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "location": "East US", + "properties": { + "publicNetworkAccess": "Enabled", + "disableLocalAuth": true + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": true + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": true + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "key1": "value1", + "key2": "value2" + } + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSCreate_DisableLocalAuthTrue" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDelete.json new file mode 100644 index 000000000000..996c1199bd47 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDelete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Retry-After": "15" + } + }, + "204": {}, + "404": {} + }, + "operationId": "IotDpsResource_Delete", + "title": "DPSDelete" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDeleteCertificate.json new file mode 100644 index 000000000000..4a1dc34da671 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDeleteCertificate.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "If-Match": "AAAAAAAADGk=", + "api-version": "2026-06-01-preview", + "certificateName": "cert", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "DpsCertificate_Delete", + "title": "DPSDeleteCertificate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDeletePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..0b886c2d4128 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSDeletePrivateEndpointConnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Deleted", + "actionsRequired": "None", + "status": "Disconnected" + } + } + } + }, + "202": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Deleted", + "actionsRequired": "None", + "status": "Disconnected" + } + } + }, + "headers": { + "Azure-AsyncOperation": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Retry-After": "15" + } + }, + "204": {} + }, + "operationId": "IotDpsResource_DeletePrivateEndpointConnection", + "title": "PrivateEndpointConnection_Delete" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGenerateVerificationCode.json new file mode 100644 index 000000000000..8cd5c77b895f --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGenerateVerificationCode.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "If-Match": "AAAAAAAADGk=", + "api-version": "2026-06-01-preview", + "certificateName": "cert", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "properties": { + "certificate": "MA==", + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "isVerified": false, + "subject": "CN=andbucdevice1", + "thumbprint": "##############################", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT", + "verificationCode": "##################################" + } + } + } + }, + "operationId": "DpsCertificate_GenerateVerificationCode", + "title": "DPSGenerateVerificationCode" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json new file mode 100644 index 000000000000..e8bcf5cd3425 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": true, + "adrLinkState": "Linked", + "deviceRegistryNamespaces": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace": { + "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "SystemAssigned" + } + } + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_Get", + "title": "DPSGet" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetCertificate.json new file mode 100644 index 000000000000..4fadebcb4523 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetCertificate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "certificateName": "cert", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "properties": { + "certificate": "MA==", + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "isVerified": false, + "subject": "CN=testdevice1", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + } + } + } + }, + "operationId": "DpsCertificate_Get", + "title": "DPSGetCertificate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetCertificates.json new file mode 100644 index 000000000000..a2775c1aed98 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetCertificates.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "properties": { + "certificate": "MA==", + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "isVerified": false, + "subject": "CN=testdevice1", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + } + } + ] + } + } + }, + "operationId": "DpsCertificate_List", + "title": "DPSGetCertificates" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetKey.json new file mode 100644 index 000000000000..f42802ecdbf9 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetKey.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "keyName": "testKey", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "keyName": "testKey", + "primaryKey": "##################################", + "rights": "RegistrationStatusWrite", + "secondaryKey": "################################" + } + } + }, + "operationId": "IotDpsResource_ListKeysForKeyName", + "title": "DPSGetKey" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetOperationResult.json new file mode 100644 index 000000000000..c0d37d900210 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetOperationResult.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "operationId": "MTY5OTNmZDctODI5Yy00N2E2LTkxNDQtMDU1NGIyYzY1ZjRl", + "api-version": "2026-06-01-preview", + "asyncinfo": "1508265712453", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "status": "Succeeded" + } + } + }, + "operationId": "IotDpsResource_GetOperationResult", + "title": "DPSGetOperationResult" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetPrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..6e318d6551a9 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Please approve my request!", + "actionsRequired": "None", + "status": "Pending" + } + } + } + } + }, + "operationId": "IotDpsResource_GetPrivateEndpointConnection", + "title": "PrivateEndpointConnection_Get" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetPrivateLinkResources.json new file mode 100644 index 000000000000..4d01d4121b09 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetPrivateLinkResources.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "groupId": "iotDps", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "iotDps", + "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps", + "properties": { + "groupId": "iotDps", + "requiredMembers": [ + "iotDps" + ], + "requiredZoneNames": [ + "privatelink.azure-devices-provisioning.net" + ] + } + } + } + }, + "operationId": "IotDpsResource_GetPrivateLinkResources", + "title": "PrivateLinkResources_List" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetValidSku.json new file mode 100644 index 000000000000..9da2fa2642b5 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGetValidSku.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "S1" + } + ] + } + } + }, + "operationId": "IotDpsResource_listValidSkus", + "title": "DPSGetValidSku" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListByResourceGroup.json new file mode 100644 index 000000000000..9d4f1d6c5dae --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListByResourceGroup.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + }, + { + "name": "mySecondProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "01341f2b-d497-4117-b5c1-1f1d50b25444", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity2": { + "clientId": "8cd6d250-17dd-4c1b-9847-225237b94c55", + "principalId": "8785a11f-848a-4d5d-a55b-e381b9e15512" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + ] + } + } + }, + "operationId": "IotDpsResource_ListByResourceGroup", + "title": "DPSListByResourceGroup" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListBySubscription.json new file mode 100644 index 000000000000..d012b048125d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListBySubscription.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + }, + { + "name": "mySecondProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "01341f2b-d497-4117-b5c1-1f1d50b25444", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity2": { + "clientId": "8cd6d250-17dd-4c1b-9847-225237b94c55", + "principalId": "8785a11f-848a-4d5d-a55b-e381b9e15512" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + ] + } + } + }, + "operationId": "IotDpsResource_ListBySubscription", + "title": "DPSListBySubscription" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListKeys.json new file mode 100644 index 000000000000..2e5714d5af76 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListKeys.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "key1", + "primaryKey": "#####################################", + "rights": "ServiceConfig", + "secondaryKey": "###################################" + }, + { + "keyName": "key2", + "primaryKey": "#######################################", + "rights": "ServiceConfig", + "secondaryKey": "####################################=" + } + ] + } + } + }, + "operationId": "IotDpsResource_ListKeys", + "title": "DPSListKeys" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListPrivateEndpointConnections.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListPrivateEndpointConnections.json new file mode 100644 index 000000000000..6023da362c2c --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListPrivateEndpointConnections.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": [ + { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Please approve my request!", + "actionsRequired": "None", + "status": "Pending" + } + } + } + ] + } + }, + "operationId": "IotDpsResource_ListPrivateEndpointConnections", + "title": "PrivateEndpointConnections_List" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListPrivateLinkResources.json new file mode 100644 index 000000000000..545f043c1ea9 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListPrivateLinkResources.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "iotDps", + "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps", + "properties": { + "groupId": "iotDps", + "requiredMembers": [ + "iotDps" + ], + "requiredZoneNames": [ + "privatelink.azure-devices-provisioning.net" + ] + } + } + ] + } + } + }, + "operationId": "IotDpsResource_ListPrivateLinkResources", + "title": "PrivateLinkResources_List" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSOperations.json new file mode 100644 index 000000000000..4bbc1c61cab9 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSOperations.json @@ -0,0 +1,295 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Devices/register/action", + "display": { + "operation": "Register Resource Provider", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read", + "display": { + "operation": "Get Diagnostic Setting", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write", + "display": { + "operation": "Set Diagnostic Setting", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/IotHubs/metricDefinitions/read", + "display": { + "operation": "Read IotHub service metric definitions", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/IotHubs/logDefinitions/read", + "display": { + "operation": "Read IotHub service log definitions", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/operations/Read", + "display": { + "operation": "Get All ResourceProvider Operations", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/checkNameAvailability/Action", + "display": { + "operation": "Check If IotHub name is available", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/usages/Read", + "display": { + "operation": "Get Subscription Usages", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Read", + "display": { + "operation": "Get IotHub(s)", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Write", + "display": { + "operation": "Create or update IotHub Resource", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Delete", + "display": { + "operation": "Delete IotHub Resource", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubStats/Read", + "display": { + "operation": "Get IotHub Statistics", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/skus/Read", + "display": { + "operation": "Get valid IotHub Skus", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/listkeys/Action", + "display": { + "operation": "Get all IotHub Keys", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action", + "display": { + "operation": "Get IotHub Key for the given name", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write", + "display": { + "operation": "Create EventHub Consumer Group", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read", + "display": { + "operation": "Get EventHub Consumer Group(s)", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete", + "display": { + "operation": "Delete EventHub Consumer Group", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/exportDevices/Action", + "display": { + "operation": "Export Devices", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/importDevices/Action", + "display": { + "operation": "Import Devices", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/jobs/Read", + "display": { + "operation": "Get the Job(s) on IotHub", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read", + "display": { + "operation": "Get Quota Metrics", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action", + "display": { + "operation": "Routing Rule Test All", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action", + "display": { + "operation": "Routing Rule Test Route", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read", + "display": { + "operation": "Get Endpoint Health", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read", + "display": { + "operation": "Get Diagnostic Setting", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write", + "display": { + "operation": "Set Diagnostic Setting", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read", + "display": { + "operation": "Read DPS service metric definitions", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read", + "display": { + "operation": "Read DPS service log definitions", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action", + "display": { + "operation": "Check If Provisioning Service name is available", + "provider": "Microsoft Devices", + "resource": "ProvisioningServives" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Read", + "display": { + "operation": "Get Provisioning Service resource", + "provider": "Microsoft Devices", + "resource": "ProvisioningServices" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Write", + "display": { + "operation": "Create Provisioning Service resource", + "provider": "Microsoft Devices", + "resource": "ProvisioningServices" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Delete", + "display": { + "operation": "Delete Provisioning Service resource", + "provider": "Microsoft Devices", + "resource": "ProvisioningServices" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/skus/Read", + "display": { + "operation": "Delete Provisioning Service resource", + "provider": "Microsoft Devices", + "resource": "ProvisioningServices" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/listkeys/Action", + "display": { + "operation": "get security related metadata", + "provider": "Microsoft Devices", + "resource": "ProvisioningServices" + } + } + ] + } + } + }, + "operationId": "Operations_List", + "title": "DPSOperations" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch.json new file mode 100644 index 000000000000..d870e0bc67ab --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "type": "Microsoft.Devices/ProvisioningServices", + "ProvisioningServiceTags": { + "tags": { + "foo": "bar" + } + }, + "api-version": "2026-06-01-preview", + "location": "East US", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "foo": "bar" + } + } + } + }, + "operationId": "IotDpsResource_Update", + "title": "DPSPatch" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json new file mode 100644 index 000000000000..d7b20b04bbd0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "type": "Microsoft.Devices/ProvisioningServices", + "ProvisioningServiceTags": { + "tags": { + "foo": "bar" + }, + "properties": { + "disableLocalAuth": true + } + }, + "api-version": "2026-06-01-preview", + "location": "East US", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": true + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "foo": "bar" + } + } + } + }, + "operationId": "IotDpsResource_Update", + "title": "DPSPatch_DisableLocalAuth" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSUpdate.json new file mode 100644 index 000000000000..c24be871df55 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSUpdate.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": {} + } + }, + "location": "East US", + "properties": { + "enableDataResidency": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSUpdate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSVerifyCertificate.json new file mode 100644 index 000000000000..b681c0fa2fe5 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSVerifyCertificate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "If-Match": "AAAAAAAADGk=", + "api-version": "2026-06-01-preview", + "certificateName": "cert", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "request": { + "certificate": "#####################################" + } + }, + "responses": { + "200": { + "body": { + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpTQ=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", + "properties": { + "certificate": "MA==", + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "isVerified": true, + "subject": "CN=andbucdevice1", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + } + } + } + }, + "operationId": "DpsCertificate_VerifyCertificate", + "title": "DPSVerifyCertificate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/main.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/main.tsp index d79b210ab74e..d0c1fe244477 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/main.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/main.tsp @@ -44,6 +44,11 @@ enum Versions { * The 2025-02-01-preview API version. */ v2025_02_01_preview: "2025-02-01-preview", + + /** + * The 2026-06-01-preview API version. + */ + v2026_06_01_preview: "2026-06-01-preview", } /** diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 58137af74493..fd152634afe3 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -2,8 +2,10 @@ import "@typespec/rest"; import "@typespec/http"; import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; +import "@typespec/versioning"; using Azure.ResourceManager.Foundations; +using TypeSpec.Versioning; namespace Microsoft.Devices; @@ -355,6 +357,21 @@ model IotDpsPropertiesDescription { */ deviceRegistryNamespace?: DeviceRegistryNamespaceDescription; + /** + * The Device Registry namespaces linked to the provisioning service, keyed by namespace resource ID. + */ + #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "Dictionary of namespace entries keyed by resource ID" + @visibility(Lifecycle.Read) + @added(Versions.v2026_06_01_preview) + deviceRegistryNamespaces?: Record; + + /** + * The ADR linking state of the provisioning service. + */ + @visibility(Lifecycle.Read) + @added(Versions.v2026_06_01_preview) + adrLinkState?: AdrLinkingState; + /** * Allocation policy to be used by this provisioning service. */ @@ -394,6 +411,12 @@ model IotDpsPropertiesDescription { * Portal endpoint to enable CORS for this provisioning service. */ portalOperationsHostName?: string; + + /** + * Disables all authentication methods other than Azure RBAC + */ + @added(Versions.v2026_06_01_preview) + disableLocalAuth?: boolean; } /** @@ -892,3 +915,31 @@ model CertificateBodyDescription { */ isVerified?: boolean; } + +/** + * The state of ADR linking for a provisioning service. + */ +@added(Versions.v2026_06_01_preview) +union AdrLinkingState { + string, + + /** + * The linking process is in progress. + */ + Linking: "Linking", + + /** + * The provisioning service is linked to a Device Registry namespace. + */ + Linked: "Linked", + + /** + * The linking process has failed. + */ + LinkingFailed: "LinkingFailed", + + /** + * The linked Device Registry namespace has been deleted. + */ + NamespaceDeleted: "NamespaceDeleted", +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCertificateCreateOrUpdate.json new file mode 100644 index 000000000000..4458caee78ef --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCertificateCreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "certificateDescription": { + "properties": { + "certificate": "MA==" + } + }, + "certificateName": "cert", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "properties": { + "certificate": "MA==", + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "isVerified": false, + "subject": "CN=testdevice1", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + } + } + } + }, + "operationId": "DpsCertificate_CreateOrUpdate", + "title": "DPSCreateOrUpdateCertificate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCheckNameAvailability.json new file mode 100644 index 000000000000..7277d35e5971 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "arguments": { + "name": "test213123" + }, + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "message": "name is valid", + "nameAvailable": true, + "reason": "Invalid" + } + } + }, + "operationId": "IotDpsResource_CheckProvisioningServiceNameAvailability", + "title": "DPSCheckName" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate.json new file mode 100644 index 000000000000..e4d7348274c7 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "location": "East US", + "properties": { + "enableDataResidency": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSCreate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..d3b94a58ae71 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "privateEndpointConnection": { + "properties": { + "privateLinkServiceConnectionState": { + "description": "Approved by johndoe@contoso.com", + "status": "Approved" + } + } + }, + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None", + "status": "Approved" + } + } + } + }, + "201": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Approved by johndoe@contoso.com", + "actionsRequired": "None", + "status": "Approved" + } + } + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdatePrivateEndpointConnection", + "title": "PrivateEndpointConnection_CreateOrUpdate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json new file mode 100644 index 000000000000..c76463e523aa --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "location": "East US", + "properties": { + "enableDataResidency": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "deviceRegistryNamespace": { + "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "UserAssigned", + "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" + } + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} + } + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "deviceRegistryNamespace": { + "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "UserAssigned", + "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" + } + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} + } + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSCreateWithNamespace" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate_DisableLocalAuthFalse.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate_DisableLocalAuthFalse.json new file mode 100644 index 000000000000..d23b164faa6d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate_DisableLocalAuthFalse.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "location": "East US", + "properties": { + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": { + "key1": "value1" + } + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": false + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "key1": "value1" + } + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": false + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "key1": "value1" + } + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSCreate_DisableLocalAuthFalse" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate_DisableLocalAuthTrue.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate_DisableLocalAuthTrue.json new file mode 100644 index 000000000000..c237c30d3917 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate_DisableLocalAuthTrue.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "location": "East US", + "properties": { + "publicNetworkAccess": "Enabled", + "disableLocalAuth": true + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": true + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "key1": "value1", + "key2": "value2" + } + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": true + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "key1": "value1", + "key2": "value2" + } + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSCreate_DisableLocalAuthTrue" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDelete.json new file mode 100644 index 000000000000..996c1199bd47 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDelete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Retry-After": "15" + } + }, + "204": {}, + "404": {} + }, + "operationId": "IotDpsResource_Delete", + "title": "DPSDelete" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDeleteCertificate.json new file mode 100644 index 000000000000..4a1dc34da671 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDeleteCertificate.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "If-Match": "AAAAAAAADGk=", + "api-version": "2026-06-01-preview", + "certificateName": "cert", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": {}, + "204": {} + }, + "operationId": "DpsCertificate_Delete", + "title": "DPSDeleteCertificate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDeletePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..0b886c2d4128 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSDeletePrivateEndpointConnection.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Deleted", + "actionsRequired": "None", + "status": "Disconnected" + } + } + } + }, + "202": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Deleted", + "actionsRequired": "None", + "status": "Disconnected" + } + } + }, + "headers": { + "Azure-AsyncOperation": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Location": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/operationResults/YWUzNDFkMzQtZmM5OS00MmUyLWEzNDMtZGJkMDIxZjlmZjgzOzdmYzBiMzhmLTc2NmItNDM5NS05OWQ1LTVmOGEzNzg4MWQzNA==?api-version=2015-03-15", + "Retry-After": "15" + } + }, + "204": {} + }, + "operationId": "IotDpsResource_DeletePrivateEndpointConnection", + "title": "PrivateEndpointConnection_Delete" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGenerateVerificationCode.json new file mode 100644 index 000000000000..8cd5c77b895f --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGenerateVerificationCode.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "If-Match": "AAAAAAAADGk=", + "api-version": "2026-06-01-preview", + "certificateName": "cert", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "properties": { + "certificate": "MA==", + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "isVerified": false, + "subject": "CN=andbucdevice1", + "thumbprint": "##############################", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT", + "verificationCode": "##################################" + } + } + } + }, + "operationId": "DpsCertificate_GenerateVerificationCode", + "title": "DPSGenerateVerificationCode" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json new file mode 100644 index 000000000000..e8bcf5cd3425 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": true, + "adrLinkState": "Linked", + "deviceRegistryNamespaces": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace": { + "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "SystemAssigned" + } + } + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_Get", + "title": "DPSGet" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetCertificate.json new file mode 100644 index 000000000000..4fadebcb4523 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetCertificate.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "certificateName": "cert", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "properties": { + "certificate": "MA==", + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "isVerified": false, + "subject": "CN=testdevice1", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + } + } + } + }, + "operationId": "DpsCertificate_Get", + "title": "DPSGetCertificate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetCertificates.json new file mode 100644 index 000000000000..a2775c1aed98 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetCertificates.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpNs=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert", + "properties": { + "certificate": "MA==", + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "isVerified": false, + "subject": "CN=testdevice1", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "updated": "Thu, 12 Oct 2017 19:23:50 GMT" + } + } + ] + } + } + }, + "operationId": "DpsCertificate_List", + "title": "DPSGetCertificates" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetKey.json new file mode 100644 index 000000000000..f42802ecdbf9 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetKey.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "keyName": "testKey", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "keyName": "testKey", + "primaryKey": "##################################", + "rights": "RegistrationStatusWrite", + "secondaryKey": "################################" + } + } + }, + "operationId": "IotDpsResource_ListKeysForKeyName", + "title": "DPSGetKey" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetOperationResult.json new file mode 100644 index 000000000000..c0d37d900210 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetOperationResult.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "operationId": "MTY5OTNmZDctODI5Yy00N2E2LTkxNDQtMDU1NGIyYzY1ZjRl", + "api-version": "2026-06-01-preview", + "asyncinfo": "1508265712453", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "status": "Succeeded" + } + } + }, + "operationId": "IotDpsResource_GetOperationResult", + "title": "DPSGetOperationResult" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetPrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..6e318d6551a9 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "privateEndpointConnectionName": "myPrivateEndpointConnection", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Please approve my request!", + "actionsRequired": "None", + "status": "Pending" + } + } + } + } + }, + "operationId": "IotDpsResource_GetPrivateEndpointConnection", + "title": "PrivateEndpointConnection_Get" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetPrivateLinkResources.json new file mode 100644 index 000000000000..4d01d4121b09 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetPrivateLinkResources.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "groupId": "iotDps", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "iotDps", + "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps", + "properties": { + "groupId": "iotDps", + "requiredMembers": [ + "iotDps" + ], + "requiredZoneNames": [ + "privatelink.azure-devices-provisioning.net" + ] + } + } + } + }, + "operationId": "IotDpsResource_GetPrivateLinkResources", + "title": "PrivateLinkResources_List" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetValidSku.json new file mode 100644 index 000000000000..9da2fa2642b5 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGetValidSku.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "S1" + } + ] + } + } + }, + "operationId": "IotDpsResource_listValidSkus", + "title": "DPSGetValidSku" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListByResourceGroup.json new file mode 100644 index 000000000000..9d4f1d6c5dae --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListByResourceGroup.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + }, + { + "name": "mySecondProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "01341f2b-d497-4117-b5c1-1f1d50b25444", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity2": { + "clientId": "8cd6d250-17dd-4c1b-9847-225237b94c55", + "principalId": "8785a11f-848a-4d5d-a55b-e381b9e15512" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + ] + } + } + }, + "operationId": "IotDpsResource_ListByResourceGroup", + "title": "DPSListByResourceGroup" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListBySubscription.json new file mode 100644 index 000000000000..d012b048125d --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListBySubscription.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + }, + { + "name": "mySecondProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "01341f2b-d497-4117-b5c1-1f1d50b25444", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity2": { + "clientId": "8cd6d250-17dd-4c1b-9847-225237b94c55", + "principalId": "8785a11f-848a-4d5d-a55b-e381b9e15512" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + ] + } + } + }, + "operationId": "IotDpsResource_ListBySubscription", + "title": "DPSListBySubscription" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListKeys.json new file mode 100644 index 000000000000..2e5714d5af76 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListKeys.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "keyName": "key1", + "primaryKey": "#####################################", + "rights": "ServiceConfig", + "secondaryKey": "###################################" + }, + { + "keyName": "key2", + "primaryKey": "#######################################", + "rights": "ServiceConfig", + "secondaryKey": "####################################=" + } + ] + } + } + }, + "operationId": "IotDpsResource_ListKeys", + "title": "DPSListKeys" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListPrivateEndpointConnections.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListPrivateEndpointConnections.json new file mode 100644 index 000000000000..6023da362c2c --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListPrivateEndpointConnections.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": [ + { + "name": "myPrivateEndpointConnection", + "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection", + "properties": { + "privateEndpoint": { + "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "description": "Please approve my request!", + "actionsRequired": "None", + "status": "Pending" + } + } + } + ] + } + }, + "operationId": "IotDpsResource_ListPrivateEndpointConnections", + "title": "PrivateEndpointConnections_List" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListPrivateLinkResources.json new file mode 100644 index 000000000000..545f043c1ea9 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListPrivateLinkResources.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "resourceGroupName": "myResourceGroup", + "resourceName": "myFirstProvisioningService", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "iotDps", + "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps", + "properties": { + "groupId": "iotDps", + "requiredMembers": [ + "iotDps" + ], + "requiredZoneNames": [ + "privatelink.azure-devices-provisioning.net" + ] + } + } + ] + } + } + }, + "operationId": "IotDpsResource_ListPrivateLinkResources", + "title": "PrivateLinkResources_List" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSOperations.json new file mode 100644 index 000000000000..4bbc1c61cab9 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSOperations.json @@ -0,0 +1,295 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Devices/register/action", + "display": { + "operation": "Register Resource Provider", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read", + "display": { + "operation": "Get Diagnostic Setting", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write", + "display": { + "operation": "Set Diagnostic Setting", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/IotHubs/metricDefinitions/read", + "display": { + "operation": "Read IotHub service metric definitions", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/IotHubs/logDefinitions/read", + "display": { + "operation": "Read IotHub service log definitions", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/operations/Read", + "display": { + "operation": "Get All ResourceProvider Operations", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/checkNameAvailability/Action", + "display": { + "operation": "Check If IotHub name is available", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/usages/Read", + "display": { + "operation": "Get Subscription Usages", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Read", + "display": { + "operation": "Get IotHub(s)", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Write", + "display": { + "operation": "Create or update IotHub Resource", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/Delete", + "display": { + "operation": "Delete IotHub Resource", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubStats/Read", + "display": { + "operation": "Get IotHub Statistics", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/skus/Read", + "display": { + "operation": "Get valid IotHub Skus", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/listkeys/Action", + "display": { + "operation": "Get all IotHub Keys", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action", + "display": { + "operation": "Get IotHub Key for the given name", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write", + "display": { + "operation": "Create EventHub Consumer Group", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read", + "display": { + "operation": "Get EventHub Consumer Group(s)", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete", + "display": { + "operation": "Delete EventHub Consumer Group", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/exportDevices/Action", + "display": { + "operation": "Export Devices", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/importDevices/Action", + "display": { + "operation": "Import Devices", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/jobs/Read", + "display": { + "operation": "Get the Job(s) on IotHub", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read", + "display": { + "operation": "Get Quota Metrics", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action", + "display": { + "operation": "Routing Rule Test All", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action", + "display": { + "operation": "Routing Rule Test Route", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read", + "display": { + "operation": "Get Endpoint Health", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read", + "display": { + "operation": "Get Diagnostic Setting", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write", + "display": { + "operation": "Set Diagnostic Setting", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read", + "display": { + "operation": "Read DPS service metric definitions", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read", + "display": { + "operation": "Read DPS service log definitions", + "provider": "Microsoft Devices", + "resource": "IotHubs" + } + }, + { + "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action", + "display": { + "operation": "Check If Provisioning Service name is available", + "provider": "Microsoft Devices", + "resource": "ProvisioningServives" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Read", + "display": { + "operation": "Get Provisioning Service resource", + "provider": "Microsoft Devices", + "resource": "ProvisioningServices" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Write", + "display": { + "operation": "Create Provisioning Service resource", + "provider": "Microsoft Devices", + "resource": "ProvisioningServices" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/Delete", + "display": { + "operation": "Delete Provisioning Service resource", + "provider": "Microsoft Devices", + "resource": "ProvisioningServices" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/skus/Read", + "display": { + "operation": "Delete Provisioning Service resource", + "provider": "Microsoft Devices", + "resource": "ProvisioningServices" + } + }, + { + "name": "Microsoft.Devices/provisioningServices/listkeys/Action", + "display": { + "operation": "get security related metadata", + "provider": "Microsoft Devices", + "resource": "ProvisioningServices" + } + } + ] + } + } + }, + "operationId": "Operations_List", + "title": "DPSOperations" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch.json new file mode 100644 index 000000000000..d870e0bc67ab --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "type": "Microsoft.Devices/ProvisioningServices", + "ProvisioningServiceTags": { + "tags": { + "foo": "bar" + } + }, + "api-version": "2026-06-01-preview", + "location": "East US", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "foo": "bar" + } + } + } + }, + "operationId": "IotDpsResource_Update", + "title": "DPSPatch" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json new file mode 100644 index 000000000000..d7b20b04bbd0 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "type": "Microsoft.Devices/ProvisioningServices", + "ProvisioningServiceTags": { + "tags": { + "foo": "bar" + }, + "properties": { + "disableLocalAuth": true + } + }, + "api-version": "2026-06-01-preview", + "location": "East US", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": true + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": { + "foo": "bar" + } + } + } + }, + "operationId": "IotDpsResource_Update", + "title": "DPSPatch_DisableLocalAuth" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSUpdate.json new file mode 100644 index 000000000000..c24be871df55 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSUpdate.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": {} + } + }, + "location": "East US", + "properties": { + "enableDataResidency": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active" + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSUpdate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSVerifyCertificate.json new file mode 100644 index 000000000000..b681c0fa2fe5 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSVerifyCertificate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "If-Match": "AAAAAAAADGk=", + "api-version": "2026-06-01-preview", + "certificateName": "cert", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0", + "request": { + "certificate": "#####################################" + } + }, + "responses": { + "200": { + "body": { + "name": "cert", + "type": "Microsoft.Devices/ProvisioningServices/Certificates", + "etag": "AAAAAAExpTQ=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", + "properties": { + "certificate": "MA==", + "created": "Thu, 12 Oct 2017 19:23:50 GMT", + "expiry": "Sat, 31 Dec 2039 23:59:59 GMT", + "isVerified": true, + "subject": "CN=andbucdevice1", + "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25", + "updated": "Thu, 12 Oct 2017 19:26:56 GMT" + } + } + } + }, + "operationId": "DpsCertificate_VerifyCertificate", + "title": "DPSVerifyCertificate" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json new file mode 100644 index 000000000000..ea2f9a32f3dd --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -0,0 +1,2772 @@ +{ + "swagger": "2.0", + "info": { + "title": "iotDpsClient", + "version": "2026-06-01-preview", + "description": "API for using the Azure IoT Hub Device Provisioning Service features.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "CertificateResponses" + }, + { + "name": "ProvisioningServiceDescriptions" + }, + { + "name": "GroupIdInformations" + }, + { + "name": "PrivateEndpointConnections" + } + ], + "paths": { + "/providers/Microsoft.Devices/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" + ], + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSOperations": { + "$ref": "./examples/DPSOperations.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability": { + "post": { + "operationId": "IotDpsResource_CheckProvisioningServiceNameAvailability", + "summary": "Check if a provisioning service name is available.", + "description": "Check if a provisioning service name is available. This will validate if the name is syntactically valid and if the name is usable", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "arguments", + "in": "body", + "description": "The request body", + "required": true, + "schema": { + "$ref": "#/definitions/OperationInputs" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/NameAvailabilityInfo" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSCheckName": { + "$ref": "./examples/DPSCheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices": { + "get": { + "operationId": "IotDpsResource_ListBySubscription", + "tags": [ + "ProvisioningServiceDescriptions" + ], + "description": "List all the provisioning services for a given subscription id.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescriptionListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSListBySubscription": { + "$ref": "./examples/DPSListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices": { + "get": { + "operationId": "IotDpsResource_ListByResourceGroup", + "tags": [ + "ProvisioningServiceDescriptions" + ], + "description": "Get a list of all provisioning services in the given resource group.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescriptionListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSListByResourceGroup": { + "$ref": "./examples/DPSListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}": { + "get": { + "operationId": "IotDpsResource_Get", + "tags": [ + "ProvisioningServiceDescriptions" + ], + "description": "Get the metadata of the provisioning service without SAS keys.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSGet": { + "$ref": "./examples/DPSGet.json" + } + } + }, + "put": { + "operationId": "IotDpsResource_CreateOrUpdate", + "tags": [ + "ProvisioningServiceDescriptions" + ], + "description": "Create or update the metadata of the provisioning service. The usual pattern to modify a property is to retrieve the provisioning service metadata and security metadata, and then combine them with the modified values in a new body to update the provisioning service.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "iotDpsDescription", + "in": "body", + "description": "Description of the provisioning service to create or update.", + "required": true, + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + } + ], + "responses": { + "200": { + "description": "Resource 'ProvisioningServiceDescription' update operation succeeded", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "201": { + "description": "Resource 'ProvisioningServiceDescription' create operation succeeded", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSCreate": { + "$ref": "./examples/DPSCreate.json" + }, + "DPSCreateWithNamespace": { + "$ref": "./examples/DPSCreateWithNamespace.json" + }, + "DPSCreate_DisableLocalAuthFalse": { + "$ref": "./examples/DPSCreate_DisableLocalAuthFalse.json" + }, + "DPSCreate_DisableLocalAuthTrue": { + "$ref": "./examples/DPSCreate_DisableLocalAuthTrue.json" + }, + "DPSUpdate": { + "$ref": "./examples/DPSUpdate.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "IotDpsResource_Update", + "tags": [ + "ProvisioningServiceDescriptions" + ], + "description": "Update an existing provisioning service's tags. to update other fields use the CreateOrUpdate method", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "ProvisioningServiceTags", + "in": "body", + "description": "Updated tag information to set into the provisioning service instance.", + "required": true, + "schema": { + "$ref": "#/definitions/TagsResource" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProvisioningServiceDescription" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DPSPatch": { + "$ref": "./examples/DPSPatch.json" + }, + "DPSPatch_DisableLocalAuth": { + "$ref": "./examples/DPSPatch_DisableLocalAuth.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "IotDpsResource_Delete", + "tags": [ + "ProvisioningServiceDescriptions" + ], + "description": "Deletes the Provisioning Service.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "404": { + "description": "The Azure resource is not found" + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSDelete": { + "$ref": "./examples/DPSDelete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates": { + "get": { + "operationId": "DpsCertificate_List", + "tags": [ + "CertificateResponses" + ], + "description": "Get all the certificates tied to the provisioning service.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CertificateListDescription" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSGetCertificates": { + "$ref": "./examples/DPSGetCertificates.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}": { + "get": { + "operationId": "DpsCertificate_Get", + "tags": [ + "CertificateResponses" + ], + "description": "Get the certificate from the provisioning service.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the certificate to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag of the certificate.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSGetCertificate": { + "$ref": "./examples/DPSGetCertificate.json" + } + } + }, + "put": { + "operationId": "DpsCertificate_CreateOrUpdate", + "tags": [ + "CertificateResponses" + ], + "description": "Add new certificate or update an existing certificate.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the certificate to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate.", + "required": false, + "type": "string", + "x-ms-client-name": "ifMatch" + }, + { + "name": "certificateDescription", + "in": "body", + "description": "The certificate body.", + "required": true, + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + } + ], + "responses": { + "200": { + "description": "Resource 'CertificateResponse' update operation succeeded", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSCreateOrUpdateCertificate": { + "$ref": "./examples/DPSCertificateCreateOrUpdate.json" + } + } + }, + "delete": { + "operationId": "DpsCertificate_Delete", + "tags": [ + "CertificateResponses" + ], + "description": "Deletes the specified certificate associated with the Provisioning Service", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the certificate to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag of the certificate", + "required": true, + "type": "string", + "x-ms-client-name": "ifMatch" + }, + { + "name": "certificate.name", + "in": "query", + "description": "This is optional, and it is the Common Name of the certificate.", + "required": false, + "type": "string" + }, + { + "name": "certificate.rawBytes", + "in": "query", + "description": "Raw data within the certificate.", + "required": false, + "type": "string", + "format": "byte", + "x-ms-client-name": "certificateRawBytes" + }, + { + "name": "certificate.isVerified", + "in": "query", + "description": "Indicates if certificate has been verified by owner of the private key.", + "required": false, + "type": "boolean", + "x-ms-client-name": "certificateIsVerified" + }, + { + "name": "certificate.purpose", + "in": "query", + "description": "A description that mentions the purpose of the certificate.", + "required": false, + "type": "string", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true, + "values": [ + { + "name": "clientAuthentication", + "value": "clientAuthentication" + }, + { + "name": "serverAuthentication", + "value": "serverAuthentication" + } + ] + }, + "x-ms-client-name": "certificatePurpose" + }, + { + "name": "certificate.created", + "in": "query", + "description": "Time the certificate is created.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-client-name": "certificateCreated" + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "description": "Certificate last updated time.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-client-name": "certificateLastUpdated" + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "description": "Indicates if the certificate contains a private key.", + "required": false, + "type": "boolean", + "x-ms-client-name": "certificateHasPrivateKey" + }, + { + "name": "certificate.nonce", + "in": "query", + "description": "Random number generated to indicate Proof of Possession.", + "required": false, + "type": "string", + "x-ms-client-name": "certificateNonce" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSDeleteCertificate": { + "$ref": "./examples/DPSDeleteCertificate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode": { + "post": { + "operationId": "DpsCertificate_GenerateVerificationCode", + "tags": [ + "CertificateResponses" + ], + "description": "Generate verification code for Proof of Possession.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the certificate to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate.", + "required": true, + "type": "string", + "x-ms-client-name": "ifMatch" + }, + { + "name": "certificate.name", + "in": "query", + "description": "Common Name for the certificate.", + "required": false, + "type": "string" + }, + { + "name": "certificate.rawBytes", + "in": "query", + "description": "Raw data of certificate.", + "required": false, + "type": "string", + "format": "byte", + "x-ms-client-name": "certificateRawBytes" + }, + { + "name": "certificate.isVerified", + "in": "query", + "description": "Indicates if the certificate has been verified by owner of the private key.", + "required": false, + "type": "boolean", + "x-ms-client-name": "certificateIsVerified" + }, + { + "name": "certificate.purpose", + "in": "query", + "description": "Description mentioning the purpose of the certificate.", + "required": false, + "type": "string", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true, + "values": [ + { + "name": "clientAuthentication", + "value": "clientAuthentication" + }, + { + "name": "serverAuthentication", + "value": "serverAuthentication" + } + ] + }, + "x-ms-client-name": "certificatePurpose" + }, + { + "name": "certificate.created", + "in": "query", + "description": "Time the certificate is created.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-client-name": "certificateCreated" + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "description": "Certificate last updated time.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-client-name": "certificateLastUpdated" + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "description": "Indicates if the certificate contains private key.", + "required": false, + "type": "boolean", + "x-ms-client-name": "certificateHasPrivateKey" + }, + { + "name": "certificate.nonce", + "in": "query", + "description": "Random number generated to indicate Proof of Possession.", + "required": false, + "type": "string", + "x-ms-client-name": "certificateNonce" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/VerificationCodeResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSGenerateVerificationCode": { + "$ref": "./examples/DPSGenerateVerificationCode.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify": { + "post": { + "operationId": "DpsCertificate_VerifyCertificate", + "tags": [ + "CertificateResponses" + ], + "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "certificateName", + "in": "path", + "description": "Name of the certificate to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "If-Match", + "in": "header", + "description": "ETag of the certificate.", + "required": true, + "type": "string", + "x-ms-client-name": "ifMatch" + }, + { + "name": "certificate.name", + "in": "query", + "description": "Common Name for the certificate.", + "required": false, + "type": "string" + }, + { + "name": "certificate.rawBytes", + "in": "query", + "description": "Raw data of certificate.", + "required": false, + "type": "string", + "format": "byte", + "x-ms-client-name": "certificateRawBytes" + }, + { + "name": "certificate.isVerified", + "in": "query", + "description": "Indicates if the certificate has been verified by owner of the private key.", + "required": false, + "type": "boolean", + "x-ms-client-name": "certificateIsVerified" + }, + { + "name": "certificate.purpose", + "in": "query", + "description": "Describe the purpose of the certificate.", + "required": false, + "type": "string", + "enum": [ + "clientAuthentication", + "serverAuthentication" + ], + "x-ms-enum": { + "name": "CertificatePurpose", + "modelAsString": true, + "values": [ + { + "name": "clientAuthentication", + "value": "clientAuthentication" + }, + { + "name": "serverAuthentication", + "value": "serverAuthentication" + } + ] + }, + "x-ms-client-name": "certificatePurpose" + }, + { + "name": "certificate.created", + "in": "query", + "description": "Time the certificate is created.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-client-name": "certificateCreated" + }, + { + "name": "certificate.lastUpdated", + "in": "query", + "description": "Certificate last updated time.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-client-name": "certificateLastUpdated" + }, + { + "name": "certificate.hasPrivateKey", + "in": "query", + "description": "Indicates if the certificate contains private key.", + "required": false, + "type": "boolean", + "x-ms-client-name": "certificateHasPrivateKey" + }, + { + "name": "certificate.nonce", + "in": "query", + "description": "Random number generated to indicate Proof of Possession.", + "required": false, + "type": "string", + "x-ms-client-name": "certificateNonce" + }, + { + "name": "request", + "in": "body", + "description": "The name of the certificate", + "required": true, + "schema": { + "$ref": "#/definitions/VerificationCodeRequest" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CertificateResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSVerifyCertificate": { + "$ref": "./examples/DPSVerifyCertificate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys": { + "post": { + "operationId": "IotDpsResource_ListKeysForKeyName", + "tags": [ + "ProvisioningServiceDescriptions" + ], + "description": "List primary and secondary keys for a specific key name", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "keyName", + "in": "path", + "description": "Logical key name to get key-values for.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSGetKey": { + "$ref": "./examples/DPSGetKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys": { + "post": { + "operationId": "IotDpsResource_ListKeys", + "tags": [ + "ProvisioningServiceDescriptions" + ], + "description": "List the primary and secondary keys for a provisioning service.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSListKeys": { + "$ref": "./examples/DPSListKeys.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}": { + "get": { + "operationId": "IotDpsResource_GetOperationResult", + "description": "Gets the status of a long running operation, such as create, update or delete a provisioning service.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "operationId", + "in": "path", + "description": "Operation id corresponding to long running operation. Use this to poll for the status.", + "required": true, + "type": "string" + }, + { + "name": "asyncinfo", + "in": "query", + "description": "Async header used to poll on the status of the operation, obtained while creating the long running operation.", + "required": true, + "type": "string", + "default": "true" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AsyncOperationResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSGetOperationResult": { + "$ref": "./examples/DPSGetOperationResult.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections": { + "get": { + "operationId": "IotDpsResource_ListPrivateEndpointConnections", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List private endpoint connection properties", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionsList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_List": { + "$ref": "./examples/DPSListPrivateEndpointConnections.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "operationId": "IotDpsResource_GetPrivateEndpointConnection", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Get private endpoint connection properties", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_Get": { + "$ref": "./examples/DPSGetPrivateEndpointConnection.json" + } + } + }, + "put": { + "operationId": "IotDpsResource_CreateOrUpdatePrivateEndpointConnection", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Create or update the status of a private endpoint connection with the specified name", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnection", + "in": "body", + "description": "The private endpoint connection with updated properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Resource 'PrivateEndpointConnection' update operation succeeded", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Resource 'PrivateEndpointConnection' create operation succeeded", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_CreateOrUpdate": { + "$ref": "./examples/DPSCreateOrUpdatePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "IotDpsResource_DeletePrivateEndpointConnection", + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Delete private endpoint connection with the specified name", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "privateEndpointConnectionName", + "in": "path", + "description": "The name of the private endpoint connection", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "The request has been accepted for processing, but processing has not yet completed.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnection_Delete": { + "$ref": "./examples/DPSDeletePrivateEndpointConnection.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources": { + "get": { + "operationId": "IotDpsResource_ListPrivateLinkResources", + "tags": [ + "GroupIdInformations" + ], + "description": "List private link resources for the given provisioning service", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PrivateLinkResources" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/DPSListPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources/{groupId}": { + "get": { + "operationId": "IotDpsResource_GetPrivateLinkResources", + "tags": [ + "GroupIdInformations" + ], + "description": "Get the specified private link resource for the given provisioning service", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "resourceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + }, + { + "name": "groupId", + "in": "path", + "description": "The name of the private link resource", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/GroupIdInformation" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_List": { + "$ref": "./examples/DPSGetPrivateLinkResources.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus": { + "get": { + "operationId": "IotDpsResource_listValidSkus", + "tags": [ + "ProvisioningServiceDescriptions" + ], + "description": "Gets the list of valid SKUs and tiers for a provisioning service.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "provisioningServiceName", + "in": "path", + "description": "Name of the provisioning service to retrieve.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/IotDpsSkuDefinitionListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/ErrorDetails" + } + } + }, + "x-ms-examples": { + "DPSGetValidSku": { + "$ref": "./examples/DPSGetValidSku.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AccessRightsDescription": { + "type": "string", + "description": "Rights that this key has.", + "enum": [ + "ServiceConfig", + "EnrollmentRead", + "EnrollmentWrite", + "DeviceConnect", + "RegistrationStatusRead", + "RegistrationStatusWrite" + ], + "x-ms-enum": { + "name": "AccessRightsDescription", + "modelAsString": true, + "values": [ + { + "name": "ServiceConfig", + "value": "ServiceConfig" + }, + { + "name": "EnrollmentRead", + "value": "EnrollmentRead" + }, + { + "name": "EnrollmentWrite", + "value": "EnrollmentWrite" + }, + { + "name": "DeviceConnect", + "value": "DeviceConnect" + }, + { + "name": "RegistrationStatusRead", + "value": "RegistrationStatusRead" + }, + { + "name": "RegistrationStatusWrite", + "value": "RegistrationStatusWrite" + } + ] + } + }, + "AdrLinkingState": { + "type": "string", + "description": "The state of ADR linking for a provisioning service.", + "enum": [ + "Linking", + "Linked", + "LinkingFailed", + "NamespaceDeleted" + ], + "x-ms-enum": { + "name": "AdrLinkingState", + "modelAsString": true, + "values": [ + { + "name": "Linking", + "value": "Linking", + "description": "The linking process is in progress." + }, + { + "name": "Linked", + "value": "Linked", + "description": "The provisioning service is linked to a Device Registry namespace." + }, + { + "name": "LinkingFailed", + "value": "LinkingFailed", + "description": "The linking process has failed." + }, + { + "name": "NamespaceDeleted", + "value": "NamespaceDeleted", + "description": "The linked Device Registry namespace has been deleted." + } + ] + } + }, + "AllocationPolicy": { + "type": "string", + "description": "Allocation policy to be used by this provisioning service.", + "enum": [ + "Hashed", + "GeoLatency", + "Static" + ], + "x-ms-enum": { + "name": "AllocationPolicy", + "modelAsString": true, + "values": [ + { + "name": "Hashed", + "value": "Hashed" + }, + { + "name": "GeoLatency", + "value": "GeoLatency" + }, + { + "name": "Static", + "value": "Static" + } + ] + } + }, + "AsyncOperationResult": { + "type": "object", + "description": "Result of a long running operation.", + "properties": { + "status": { + "type": "string", + "description": "current status of a long running operation." + }, + "error": { + "$ref": "#/definitions/ErrorMessage", + "description": "Error message containing code, description and details" + } + } + }, + "CertificateListDescription": { + "type": "object", + "description": "The JSON-serialized array of Certificate objects.", + "properties": { + "value": { + "type": "array", + "description": "The array of Certificate objects.", + "items": { + "$ref": "#/definitions/CertificateResponse" + } + } + } + }, + "CertificateProperties": { + "type": "object", + "description": "The description of an X509 CA Certificate.", + "properties": { + "subject": { + "type": "string", + "description": "The certificate's subject name.", + "readOnly": true + }, + "expiry": { + "type": "string", + "format": "date-time-rfc7231", + "description": "The certificate's expiration date and time.", + "readOnly": true + }, + "thumbprint": { + "type": "string", + "description": "The certificate's thumbprint.", + "readOnly": true + }, + "isVerified": { + "type": "boolean", + "description": "Determines whether certificate has been verified." + }, + "certificate": { + "type": "string", + "format": "byte", + "description": "base-64 representation of X509 certificate .cer file or just .pem file content." + }, + "created": { + "type": "string", + "format": "date-time-rfc7231", + "description": "The certificate's creation date and time.", + "readOnly": true + }, + "updated": { + "type": "string", + "format": "date-time-rfc7231", + "description": "The certificate's last update date and time.", + "readOnly": true + } + } + }, + "CertificateResponse": { + "type": "object", + "description": "The X509 Certificate.", + "properties": { + "properties": { + "$ref": "#/definitions/CertificateProperties", + "description": "properties of a certificate" + }, + "etag": { + "type": "string", + "description": "The entity tag.", + "readOnly": true + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "DeviceRegistryNamespaceAuthenticationType": { + "type": "string", + "description": "Device Registry Namespace MI authentication type: UserAssigned, SystemAssigned.", + "enum": [ + "UserAssigned", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "DeviceRegistryNamespaceAuthenticationType", + "modelAsString": true, + "values": [ + { + "name": "UserAssigned", + "value": "UserAssigned", + "description": "User assigned authentication type." + }, + { + "name": "SystemAssigned", + "value": "SystemAssigned", + "description": "System assigned authentication type." + } + ] + } + }, + "DeviceRegistryNamespaceDescription": { + "type": "object", + "description": "Description of the Device Registry namespace that is linked to the provisioning service.", + "properties": { + "resourceId": { + "type": "string", + "format": "arm-id", + "description": "The ARM resource ID of the Device Registry namespace.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.DeviceRegistry/namespaces" + } + ] + } + }, + "authenticationType": { + "$ref": "#/definitions/DeviceRegistryNamespaceAuthenticationType", + "description": "Device Registry Namespace MI authentication type: UserAssigned, SystemAssigned." + }, + "selectedUserAssignedIdentityResourceId": { + "type": "string", + "format": "arm-id", + "description": "The selected user-assigned identity resource Id associated with Device Registry namespace. This is required when authenticationType is UserAssigned.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ] + } + } + }, + "required": [ + "resourceId", + "authenticationType" + ] + }, + "ErrorDetails": { + "type": "object", + "description": "Error details.", + "properties": { + "code": { + "type": "integer", + "format": "int32", + "description": "The error code.", + "readOnly": true + }, + "httpStatusCode": { + "type": "string", + "description": "The HTTP status code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "The error message.", + "readOnly": true + }, + "details": { + "type": "string", + "description": "The error details.", + "readOnly": true + } + } + }, + "ErrorMessage": { + "type": "object", + "description": "Error response containing message and code.", + "properties": { + "code": { + "type": "string", + "description": "standard error code" + }, + "message": { + "type": "string", + "description": "standard error description" + }, + "details": { + "type": "string", + "description": "detailed summary of error" + } + } + }, + "GroupIdInformation": { + "type": "object", + "description": "The group information for creating a private endpoint on a provisioning service", + "properties": { + "properties": { + "$ref": "#/definitions/GroupIdInformationProperties", + "description": "The properties for a group information object" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "GroupIdInformationProperties": { + "type": "object", + "description": "The properties for a group information object", + "properties": { + "groupId": { + "type": "string", + "description": "The group id" + }, + "requiredMembers": { + "type": "array", + "description": "The required members for a specific group id", + "items": { + "type": "string" + } + }, + "requiredZoneNames": { + "type": "array", + "description": "The required DNS zones for a specific group id", + "items": { + "type": "string" + } + } + } + }, + "IotDpsPropertiesDescription": { + "type": "object", + "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": { + "state": { + "$ref": "#/definitions/State", + "description": "Current state of the provisioning service." + }, + "publicNetworkAccess": { + "$ref": "#/definitions/PublicNetworkAccess", + "description": "Whether requests from Public Network are allowed" + }, + "ipFilterRules": { + "type": "array", + "description": "The IP filter rules.", + "items": { + "$ref": "#/definitions/IpFilterRule" + } + }, + "privateEndpointConnections": { + "type": "array", + "description": "Private endpoint connections created on this IotHub", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "type": "string", + "description": "The ARM provisioning state of the provisioning service." + }, + "iotHubs": { + "type": "array", + "description": "List of IoT hubs associated with this provisioning service.", + "items": { + "$ref": "#/definitions/IotHubDefinitionDescription" + } + }, + "deviceRegistryNamespace": { + "$ref": "#/definitions/DeviceRegistryNamespaceDescription", + "description": "The Device Registry namespace that is linked to the provisioning service." + }, + "deviceRegistryNamespaces": { + "type": "object", + "description": "The Device Registry namespaces linked to the provisioning service, keyed by namespace resource ID.", + "additionalProperties": { + "$ref": "#/definitions/DeviceRegistryNamespaceDescription" + }, + "readOnly": true + }, + "adrLinkState": { + "$ref": "#/definitions/AdrLinkingState", + "description": "The ADR linking state of the provisioning service.", + "readOnly": true + }, + "allocationPolicy": { + "$ref": "#/definitions/AllocationPolicy", + "description": "Allocation policy to be used by this provisioning service." + }, + "serviceOperationsHostName": { + "type": "string", + "description": "Service endpoint for provisioning service.", + "readOnly": true + }, + "deviceProvisioningHostName": { + "type": "string", + "description": "Device endpoint for this provisioning service.", + "readOnly": true + }, + "idScope": { + "type": "string", + "description": "Unique identifier of this provisioning service.", + "readOnly": true + }, + "authorizationPolicies": { + "type": "array", + "description": "List of authorization keys for a provisioning service.", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription" + } + }, + "enableDataResidency": { + "type": "boolean", + "description": "Optional.\nIndicates if the DPS instance has Data Residency enabled, removing the cross geo-pair disaster recovery." + }, + "portalOperationsHostName": { + "type": "string", + "description": "Portal endpoint to enable CORS for this provisioning service." + }, + "disableLocalAuth": { + "type": "boolean", + "description": "Disables all authentication methods other than Azure RBAC" + } + } + }, + "IotDpsSku": { + "type": "string", + "description": "Sku name.", + "enum": [ + "S1" + ], + "x-ms-enum": { + "name": "IotDpsSku", + "modelAsString": true, + "values": [ + { + "name": "S1", + "value": "S1" + } + ] + } + }, + "IotDpsSkuDefinition": { + "type": "object", + "description": "Available SKUs of tier and units.", + "properties": { + "name": { + "$ref": "#/definitions/IotDpsSku", + "description": "Sku name." + } + } + }, + "IotDpsSkuDefinitionListResult": { + "type": "object", + "description": "List of available SKUs.", + "properties": { + "value": { + "type": "array", + "description": "The IotDpsSkuDefinition items on this page", + "items": { + "$ref": "#/definitions/IotDpsSkuDefinition" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "IotDpsSkuInfo": { + "type": "object", + "description": "List of possible provisioning service SKUs.", + "properties": { + "name": { + "$ref": "#/definitions/IotDpsSku", + "description": "Sku name." + }, + "tier": { + "type": "string", + "description": "Pricing tier name of the provisioning service.", + "readOnly": true + }, + "capacity": { + "type": "integer", + "format": "int64", + "description": "The number of units to provision" + } + } + }, + "IotHubDefinitionDescription": { + "type": "object", + "description": "Description of the IoT hub.", + "properties": { + "applyAllocationPolicy": { + "type": "boolean", + "description": "flag for applying allocationPolicy or not for a given iot hub." + }, + "allocationWeight": { + "type": "integer", + "format": "int32", + "description": "weight to apply for a given iot h." + }, + "name": { + "type": "string", + "description": "Host name of the IoT hub.", + "readOnly": true + }, + "connectionString": { + "type": "string", + "description": "Connection string of the IoT hub." + }, + "location": { + "type": "string", + "description": "ARM region of the IoT hub." + } + }, + "required": [ + "connectionString", + "location" + ] + }, + "IpFilterActionType": { + "type": "string", + "description": "The desired action for requests captured by this rule.", + "enum": [ + "Accept", + "Reject" + ], + "x-ms-enum": { + "name": "IpFilterActionType", + "modelAsString": false + } + }, + "IpFilterRule": { + "type": "object", + "description": "The IP filter rules for a provisioning Service.", + "properties": { + "filterName": { + "type": "string", + "description": "The name of the IP filter rule." + }, + "action": { + "$ref": "#/definitions/IpFilterActionType", + "description": "The desired action for requests captured by this rule." + }, + "ipMask": { + "type": "string", + "description": "A string that contains the IP address range in CIDR notation for the rule." + }, + "target": { + "$ref": "#/definitions/IpFilterTargetType", + "description": "Target for requests captured by this rule." + } + }, + "required": [ + "filterName", + "action", + "ipMask" + ] + }, + "IpFilterTargetType": { + "type": "string", + "description": "Target for requests captured by this rule.", + "enum": [ + "all", + "serviceApi", + "deviceApi" + ], + "x-ms-enum": { + "name": "IpFilterTargetType", + "modelAsString": false + } + }, + "NameAvailabilityInfo": { + "type": "object", + "description": "Description of name availability.", + "properties": { + "nameAvailable": { + "type": "boolean", + "description": "specifies if a name is available or not" + }, + "reason": { + "$ref": "#/definitions/NameUnavailabilityReason", + "description": "specifies the reason a name is unavailable" + }, + "message": { + "type": "string", + "description": "message containing a detailed reason name is unavailable" + } + } + }, + "NameUnavailabilityReason": { + "type": "string", + "description": "specifies the reason a name is unavailable", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "NameUnavailabilityReason", + "modelAsString": true, + "values": [ + { + "name": "Invalid", + "value": "Invalid" + }, + { + "name": "AlreadyExists", + "value": "AlreadyExists" + } + ] + } + }, + "Operation": { + "type": "object", + "description": "Represents an operation.", + "properties": { + "name": { + "type": "string", + "description": "The name of the operation.", + "readOnly": true + }, + "display": { + "type": "object", + "description": "The display information for the operation.", + "properties": { + "provider": { + "type": "string", + "description": "Service provider: Microsoft Devices.", + "readOnly": true + }, + "resource": { + "type": "string", + "description": "Resource Type: ProvisioningServices.", + "readOnly": true + }, + "operation": { + "type": "string", + "description": "Name of the operation.", + "readOnly": true + } + } + } + } + }, + "OperationInputs": { + "type": "object", + "description": "Input values for operation results call.", + "properties": { + "name": { + "type": "string", + "description": "The name of the Provisioning Service to check." + } + }, + "required": [ + "name" + ] + }, + "OperationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "[Placeholder] Description for value property", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true + }, + "nextLink": { + "type": "string", + "description": "[Placeholder] Description for nextLink property." + } + }, + "required": [ + "value" + ] + }, + "PrivateEndpoint": { + "type": "object", + "description": "The private endpoint property of a private endpoint connection", + "properties": { + "id": { + "type": "string", + "description": "The resource identifier.", + "readOnly": true + } + } + }, + "PrivateEndpointConnection": { + "type": "object", + "description": "The private endpoint connection of a provisioning service", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The properties of a private endpoint connection" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ] + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "description": "The properties of a private endpoint connection", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The private endpoint property of a private endpoint connection" + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "The current state of a private endpoint connection" + } + }, + "required": [ + "privateLinkServiceConnectionState" + ] + }, + "PrivateEndpointConnectionsList": { + "type": "array", + "description": "Represents a list of private endpoint connections.", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "PrivateLinkResources": { + "type": "object", + "description": "The available private link resources for a provisioning service", + "properties": { + "value": { + "type": "array", + "description": "The list of available private link resources for a provisioning service", + "items": { + "$ref": "#/definitions/GroupIdInformation" + } + } + } + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "description": "The current state of a private endpoint connection", + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus", + "description": "The status of a private endpoint connection" + }, + "description": { + "type": "string", + "description": "The description for the current state of a private endpoint connection" + }, + "actionsRequired": { + "type": "string", + "description": "Actions required for a private endpoint connection" + } + }, + "required": [ + "status", + "description" + ] + }, + "PrivateLinkServiceConnectionStatus": { + "type": "string", + "description": "The status of a private endpoint connection", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true, + "values": [ + { + "name": "Pending", + "value": "Pending" + }, + { + "name": "Approved", + "value": "Approved" + }, + { + "name": "Rejected", + "value": "Rejected" + }, + { + "name": "Disconnected", + "value": "Disconnected" + } + ] + } + }, + "ProvisioningServiceDescription": { + "type": "object", + "description": "The description of the provisioning service.", + "properties": { + "etag": { + "type": "string", + "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." + }, + "resourcegroup": { + "type": "string", + "description": "The resource group of the resource." + }, + "subscriptionid": { + "type": "string", + "description": "The subscription id of the resource." + }, + "properties": { + "$ref": "#/definitions/IotDpsPropertiesDescription", + "description": "Service specific properties for a provisioning service" + }, + "sku": { + "$ref": "#/definitions/IotDpsSkuInfo", + "description": "Sku info for a provisioning Service." + }, + "identity": { + "$ref": "../../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed service identities assigned to this resource." + } + }, + "required": [ + "properties", + "sku" + ], + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ] + }, + "ProvisioningServiceDescriptionListResult": { + "type": "object", + "description": "The response of a ProvisioningServiceDescription list operation.", + "properties": { + "value": { + "type": "array", + "description": "The ProvisioningServiceDescription items on this page", + "items": { + "$ref": "#/definitions/ProvisioningServiceDescription" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PublicNetworkAccess": { + "type": "string", + "description": "Whether requests from Public Network are allowed", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true, + "values": [ + { + "name": "Enabled", + "value": "Enabled" + }, + { + "name": "Disabled", + "value": "Disabled" + } + ] + } + }, + "SharedAccessSignatureAuthorizationRuleAccessRightsDescription": { + "type": "object", + "description": "Description of the shared access key.", + "properties": { + "keyName": { + "type": "string", + "description": "Name of the key." + }, + "primaryKey": { + "type": "string", + "description": "Primary SAS key value." + }, + "secondaryKey": { + "type": "string", + "description": "Secondary SAS key value." + }, + "rights": { + "$ref": "#/definitions/AccessRightsDescription", + "description": "Rights that this key has." + } + }, + "required": [ + "keyName", + "rights" + ] + }, + "SharedAccessSignatureAuthorizationRuleListResult": { + "type": "object", + "description": "List of shared access keys.", + "properties": { + "value": { + "type": "array", + "description": "The SharedAccessSignatureAuthorizationRuleAccessRightsDescription items on this page", + "items": { + "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleAccessRightsDescription" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "State": { + "type": "string", + "description": "Current state of the provisioning service.", + "enum": [ + "Activating", + "Active", + "Deleting", + "Deleted", + "ActivationFailed", + "DeletionFailed", + "Transitioning", + "Suspending", + "Suspended", + "Resuming", + "FailingOver", + "FailoverFailed" + ], + "x-ms-enum": { + "name": "State", + "modelAsString": true, + "values": [ + { + "name": "Activating", + "value": "Activating" + }, + { + "name": "Active", + "value": "Active" + }, + { + "name": "Deleting", + "value": "Deleting" + }, + { + "name": "Deleted", + "value": "Deleted" + }, + { + "name": "ActivationFailed", + "value": "ActivationFailed" + }, + { + "name": "DeletionFailed", + "value": "DeletionFailed" + }, + { + "name": "Transitioning", + "value": "Transitioning" + }, + { + "name": "Suspending", + "value": "Suspending" + }, + { + "name": "Suspended", + "value": "Suspended" + }, + { + "name": "Resuming", + "value": "Resuming" + }, + { + "name": "FailingOver", + "value": "FailingOver" + }, + { + "name": "FailoverFailed", + "value": "FailoverFailed" + } + ] + } + }, + "TagsResource": { + "type": "object", + "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a Provisioning Service instance.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags", + "additionalProperties": { + "type": "string" + } + } + } + }, + "VerificationCodeRequest": { + "type": "object", + "description": "The JSON-serialized leaf certificate", + "properties": { + "certificate": { + "type": "string", + "description": "base-64 representation of X509 certificate .cer file or just .pem file content." + } + } + }, + "VerificationCodeResponse": { + "type": "object", + "description": "Description of the response of the verification code.", + "properties": { + "name": { + "type": "string", + "description": "Name of certificate.", + "readOnly": true + }, + "etag": { + "type": "string", + "description": "Request etag.", + "readOnly": true + }, + "id": { + "type": "string", + "description": "The resource identifier.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The resource type.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/VerificationCodeResponseProperties" + } + } + }, + "VerificationCodeResponseProperties": { + "type": "object", + "properties": { + "verificationCode": { + "type": "string", + "description": "Verification code." + }, + "subject": { + "type": "string", + "description": "Certificate subject." + }, + "expiry": { + "type": "string", + "description": "Code expiry." + }, + "thumbprint": { + "type": "string", + "description": "Certificate thumbprint." + }, + "isVerified": { + "type": "boolean", + "description": "Indicate if the certificate is verified by owner of private key." + }, + "certificate": { + "type": "string", + "format": "byte", + "description": "base-64 representation of X509 certificate .cer file or just .pem file content." + }, + "created": { + "type": "string", + "description": "Certificate created time." + }, + "updated": { + "type": "string", + "description": "Certificate updated time." + } + } + } + }, + "parameters": {} +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md index 6dccf168ac46..7baa9b3e4b58 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md @@ -27,10 +27,19 @@ These are the global settings for the API. ``` yaml openapi-type: arm azure-arm: true -tag: package-preview-2025-02 +tag: package-preview-2026-06 ``` +### Tag: package-preview-2026-06 + +These settings apply only when `--tag=package-preview-2026-06` is specified on the command line. + +```yaml $(tag) == 'package-preview-2026-06' +input-file: + - preview/2026-06-01-preview/iotdps.json +``` + ### Tag: package-preview-2025-02 These settings apply only when `--tag=package-preview-2025-02` is specified on the command line. From fee3e682034a26620aa3438cc55ff39597c11b39 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 10:40:38 -0700 Subject: [PATCH 02/32] Make deviceRegistryNamespace readonly --- .../Microsoft.Devices/DeviceProvisioningServices/models.tsp | 1 + .../preview/2026-06-01-preview/iotdps.json | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index fd152634afe3..ddf7cc4318d6 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -355,6 +355,7 @@ model IotDpsPropertiesDescription { /** * The Device Registry namespace that is linked to the provisioning service. */ + @visibility(Lifecycle.Read) deviceRegistryNamespace?: DeviceRegistryNamespaceDescription; /** diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index ea2f9a32f3dd..7a9a81f684f9 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -2044,7 +2044,8 @@ }, "deviceRegistryNamespace": { "$ref": "#/definitions/DeviceRegistryNamespaceDescription", - "description": "The Device Registry namespace that is linked to the provisioning service." + "description": "The Device Registry namespace that is linked to the provisioning service.", + "readOnly": true }, "deviceRegistryNamespaces": { "type": "object", From 8258147287af7ba8726e01bb946dde3a02c2c890 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 10:45:38 -0700 Subject: [PATCH 03/32] Removed examples of created dps with namespace --- .../DPSCreateWithNamespace.json | 101 ------------------ .../examples/DPSCreateWithNamespace.json | 101 ------------------ 2 files changed, 202 deletions(-) delete mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json delete mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json deleted file mode 100644 index c76463e523aa..000000000000 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "parameters": { - "api-version": "2026-06-01-preview", - "iotDpsDescription": { - "location": "East US", - "properties": { - "enableDataResidency": false - }, - "sku": { - "name": "S1", - "capacity": 1 - }, - "tags": {} - }, - "provisioningServiceName": "myFirstProvisioningService", - "resourceGroupName": "myResourceGroup", - "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" - }, - "responses": { - "200": { - "body": { - "name": "myFirstProvisioningService", - "type": "Microsoft.Devices/ProvisioningServices", - "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", - "location": "eastus", - "properties": { - "allocationPolicy": "Hashed", - "authorizationPolicies": [], - "deviceProvisioningHostName": "global.azure-devices-provisioning.net", - "enableDataResidency": false, - "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", - "state": "Active", - "deviceRegistryNamespace": { - "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", - "authenticationType": "UserAssigned", - "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" - } - }, - "resourcegroup": "myResourceGroup", - "sku": { - "name": "S1", - "capacity": 1, - "tier": "Standard" - }, - "identity": { - "type": "SystemAssigned, UserAssigned", - "userAssignedIdentities": { - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} - } - }, - "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", - "tags": {} - } - }, - "201": { - "body": { - "name": "myFirstProvisioningService", - "type": "Microsoft.Devices/ProvisioningServices", - "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", - "location": "eastus", - "properties": { - "allocationPolicy": "Hashed", - "authorizationPolicies": [], - "deviceProvisioningHostName": "global.azure-devices-provisioning.net", - "enableDataResidency": false, - "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", - "state": "Active", - "deviceRegistryNamespace": { - "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", - "authenticationType": "UserAssigned", - "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" - } - }, - "resourcegroup": "myResourceGroup", - "sku": { - "name": "S1", - "capacity": 1, - "tier": "Standard" - }, - "identity": { - "type": "SystemAssigned, UserAssigned", - "userAssignedIdentities": { - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} - } - }, - "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", - "tags": {} - } - } - }, - "operationId": "IotDpsResource_CreateOrUpdate", - "title": "DPSCreateWithNamespace" -} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json deleted file mode 100644 index c76463e523aa..000000000000 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "parameters": { - "api-version": "2026-06-01-preview", - "iotDpsDescription": { - "location": "East US", - "properties": { - "enableDataResidency": false - }, - "sku": { - "name": "S1", - "capacity": 1 - }, - "tags": {} - }, - "provisioningServiceName": "myFirstProvisioningService", - "resourceGroupName": "myResourceGroup", - "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" - }, - "responses": { - "200": { - "body": { - "name": "myFirstProvisioningService", - "type": "Microsoft.Devices/ProvisioningServices", - "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", - "location": "eastus", - "properties": { - "allocationPolicy": "Hashed", - "authorizationPolicies": [], - "deviceProvisioningHostName": "global.azure-devices-provisioning.net", - "enableDataResidency": false, - "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", - "state": "Active", - "deviceRegistryNamespace": { - "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", - "authenticationType": "UserAssigned", - "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" - } - }, - "resourcegroup": "myResourceGroup", - "sku": { - "name": "S1", - "capacity": 1, - "tier": "Standard" - }, - "identity": { - "type": "SystemAssigned, UserAssigned", - "userAssignedIdentities": { - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} - } - }, - "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", - "tags": {} - } - }, - "201": { - "body": { - "name": "myFirstProvisioningService", - "type": "Microsoft.Devices/ProvisioningServices", - "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", - "location": "eastus", - "properties": { - "allocationPolicy": "Hashed", - "authorizationPolicies": [], - "deviceProvisioningHostName": "global.azure-devices-provisioning.net", - "enableDataResidency": false, - "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", - "state": "Active", - "deviceRegistryNamespace": { - "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", - "authenticationType": "UserAssigned", - "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" - } - }, - "resourcegroup": "myResourceGroup", - "sku": { - "name": "S1", - "capacity": 1, - "tier": "Standard" - }, - "identity": { - "type": "SystemAssigned, UserAssigned", - "userAssignedIdentities": { - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} - } - }, - "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", - "tags": {} - } - } - }, - "operationId": "IotDpsResource_CreateOrUpdate", - "title": "DPSCreateWithNamespace" -} From 71e4fca03ad239e96577a491b06ae8df4f2552c3 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 10:49:56 -0700 Subject: [PATCH 04/32] Removed outdated reference to deleted example --- .../preview/2026-06-01-preview/iotdps.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 7a9a81f684f9..27ca829467bf 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -329,9 +329,6 @@ "DPSCreate": { "$ref": "./examples/DPSCreate.json" }, - "DPSCreateWithNamespace": { - "$ref": "./examples/DPSCreateWithNamespace.json" - }, "DPSCreate_DisableLocalAuthFalse": { "$ref": "./examples/DPSCreate_DisableLocalAuthFalse.json" }, From dd82d04b5f3d4be2b858726d61d61f7cc7bd68c8 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 11:18:24 -0700 Subject: [PATCH 05/32] Suppress AvoidAdditionalProperties for deviceRegistryNamespaces --- .../DeviceProvisioningServices/readme.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md index 7baa9b3e4b58..eec9da0edffb 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md @@ -30,6 +30,17 @@ azure-arm: true tag: package-preview-2026-06 ``` +### Suppressions + +``` yaml +directive: + - suppress: AvoidAdditionalProperties + reason: deviceRegistryNamespaces is a read-only dictionary keyed by namespace ARM resource ID, returned by the service to surface every linked Device Registry namespace; the dictionary shape preserves O(1) lookup by resource ID. + from: iotdps.json + where: + - $.definitions.IotDpsPropertiesDescription.properties.deviceRegistryNamespaces +``` + ### Tag: package-preview-2026-06 From 4fced4bb29271e9c359c58e734507a44792612f8 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 11:19:33 -0700 Subject: [PATCH 06/32] Removed properties from dps patch disable loca auth example Co-authored-by: Copilot --- .../2026-06-01-preview/DPSPatch_DisableLocalAuth.json | 4 +--- .../examples/DPSPatch_DisableLocalAuth.json | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json index d7b20b04bbd0..8c9606fed80d 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json @@ -5,9 +5,7 @@ "tags": { "foo": "bar" }, - "properties": { - "disableLocalAuth": true - } + "disableLocalAuth": true }, "api-version": "2026-06-01-preview", "location": "East US", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json index d7b20b04bbd0..8c9606fed80d 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json @@ -5,9 +5,7 @@ "tags": { "foo": "bar" }, - "properties": { - "disableLocalAuth": true - } + "disableLocalAuth": true }, "api-version": "2026-06-01-preview", "location": "East US", From b688cc29b65e6204774d33eac49b7eb1cf7402fa Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 11:27:53 -0700 Subject: [PATCH 07/32] Fixed dps patch disable local auth examples Co-authored-by: Copilot --- .../2026-06-01-preview/DPSPatch_DisableLocalAuth.json | 4 ++-- .../examples/DPSPatch_DisableLocalAuth.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json index 8c9606fed80d..ee6320069e7d 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json @@ -4,9 +4,9 @@ "ProvisioningServiceTags": { "tags": { "foo": "bar" - }, - "disableLocalAuth": true + } }, + "disableLocalAuth": true, "api-version": "2026-06-01-preview", "location": "East US", "provisioningServiceName": "myFirstProvisioningService", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json index 8c9606fed80d..ee6320069e7d 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json @@ -4,9 +4,9 @@ "ProvisioningServiceTags": { "tags": { "foo": "bar" - }, - "disableLocalAuth": true + } }, + "disableLocalAuth": true, "api-version": "2026-06-01-preview", "location": "East US", "provisioningServiceName": "myFirstProvisioningService", From 47271b121b2748e2ff089688b3b8d263ff2ed75d Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 11:28:04 -0700 Subject: [PATCH 08/32] typespec validation --- .../preview/2025-02-01-preview/iotdps.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2025-02-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2025-02-01-preview/iotdps.json index 8e75b452f52a..0d79672db644 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2025-02-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2025-02-01-preview/iotdps.json @@ -1999,7 +1999,8 @@ }, "deviceRegistryNamespace": { "$ref": "#/definitions/DeviceRegistryNamespaceDescription", - "description": "The Device Registry namespace that is linked to the provisioning service." + "description": "The Device Registry namespace that is linked to the provisioning service.", + "readOnly": true }, "allocationPolicy": { "$ref": "#/definitions/AllocationPolicy", From a1e4594b4aa21ea1f9a3be49aed6d514d65aea48 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 11:47:29 -0700 Subject: [PATCH 09/32] Restore version-gating for deviceRegistryNamespace; restore namespace example --- .../DPSCreateWithNamespace.json | 101 ++++++++++++++++++ .../DeviceProvisioningServices/models.tsp | 9 ++ .../preview/2025-02-01-preview/iotdps.json | 3 +- .../examples/DPSCreateWithNamespace.json | 101 ++++++++++++++++++ .../preview/2026-06-01-preview/iotdps.json | 3 + 5 files changed, 215 insertions(+), 2 deletions(-) create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json new file mode 100644 index 000000000000..c76463e523aa --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "location": "East US", + "properties": { + "enableDataResidency": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "deviceRegistryNamespace": { + "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "UserAssigned", + "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" + } + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} + } + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "deviceRegistryNamespace": { + "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "UserAssigned", + "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" + } + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} + } + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSCreateWithNamespace" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index ddf7cc4318d6..e08c949e7f37 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -352,10 +352,19 @@ model IotDpsPropertiesDescription { */ iotHubs?: IotHubDefinitionDescription[]; + /** + * The Device Registry namespace that is linked to the provisioning service. + */ + #suppress "@azure-tools/typespec-azure-core/casing-style" "Version-scoped property using remove/rename/add pattern for version-specific visibility" + @removed(Versions.v2026_06_01_preview) + @renamedFrom(Versions.v2026_06_01_preview, "deviceRegistryNamespace") + deviceRegistryNamespace_v2025_02_01_preview?: DeviceRegistryNamespaceDescription; + /** * The Device Registry namespace that is linked to the provisioning service. */ @visibility(Lifecycle.Read) + @added(Versions.v2026_06_01_preview) deviceRegistryNamespace?: DeviceRegistryNamespaceDescription; /** diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2025-02-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2025-02-01-preview/iotdps.json index 0d79672db644..8e75b452f52a 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2025-02-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2025-02-01-preview/iotdps.json @@ -1999,8 +1999,7 @@ }, "deviceRegistryNamespace": { "$ref": "#/definitions/DeviceRegistryNamespaceDescription", - "description": "The Device Registry namespace that is linked to the provisioning service.", - "readOnly": true + "description": "The Device Registry namespace that is linked to the provisioning service." }, "allocationPolicy": { "$ref": "#/definitions/AllocationPolicy", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json new file mode 100644 index 000000000000..c76463e523aa --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "iotDpsDescription": { + "location": "East US", + "properties": { + "enableDataResidency": false + }, + "sku": { + "name": "S1", + "capacity": 1 + }, + "tags": {} + }, + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "deviceRegistryNamespace": { + "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "UserAssigned", + "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" + } + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} + } + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + }, + "201": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "enableDataResidency": false, + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "deviceRegistryNamespace": { + "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "UserAssigned", + "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" + } + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, + "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} + } + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_CreateOrUpdate", + "title": "DPSCreateWithNamespace" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 27ca829467bf..7a9a81f684f9 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -329,6 +329,9 @@ "DPSCreate": { "$ref": "./examples/DPSCreate.json" }, + "DPSCreateWithNamespace": { + "$ref": "./examples/DPSCreateWithNamespace.json" + }, "DPSCreate_DisableLocalAuthFalse": { "$ref": "./examples/DPSCreate_DisableLocalAuthFalse.json" }, From 6dbf307cc9272c7fa8ce507bae925cba8679ef68 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 15:09:24 -0700 Subject: [PATCH 10/32] Use array (maxItems 1) instead of dictionary for deviceRegistryNamespaces --- .../examples/2026-06-01-preview/DPSGet.json | 6 +++--- .../DeviceProvisioningServices/models.tsp | 8 +++++--- .../preview/2026-06-01-preview/examples/DPSGet.json | 6 +++--- .../preview/2026-06-01-preview/iotdps.json | 12 ++++++++---- .../DeviceProvisioningServices/readme.md | 11 ----------- 5 files changed, 19 insertions(+), 24 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json index e8bcf5cd3425..aa4fa1f1c9ba 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json @@ -34,12 +34,12 @@ "state": "Active", "disableLocalAuth": true, "adrLinkState": "Linked", - "deviceRegistryNamespaces": { - "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace": { + "deviceRegistryNamespaces": [ + { "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", "authenticationType": "SystemAssigned" } - } + ] }, "resourcegroup": "myResourceGroup", "sku": { diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index e08c949e7f37..02e1a013acf7 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -5,6 +5,7 @@ import "@azure-tools/typespec-azure-resource-manager"; import "@typespec/versioning"; using Azure.ResourceManager.Foundations; +using Azure.ResourceManager; using TypeSpec.Versioning; namespace Microsoft.Devices; @@ -368,12 +369,13 @@ model IotDpsPropertiesDescription { deviceRegistryNamespace?: DeviceRegistryNamespaceDescription; /** - * The Device Registry namespaces linked to the provisioning service, keyed by namespace resource ID. + * The Device Registry namespaces linked to the provisioning service. */ - #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "Dictionary of namespace entries keyed by resource ID" @visibility(Lifecycle.Read) @added(Versions.v2026_06_01_preview) - deviceRegistryNamespaces?: Record; + @maxItems(1) + @identifiers(#["resourceId"]) + deviceRegistryNamespaces?: DeviceRegistryNamespaceDescription[]; /** * The ADR linking state of the provisioning service. diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json index e8bcf5cd3425..aa4fa1f1c9ba 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json @@ -34,12 +34,12 @@ "state": "Active", "disableLocalAuth": true, "adrLinkState": "Linked", - "deviceRegistryNamespaces": { - "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace": { + "deviceRegistryNamespaces": [ + { "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", "authenticationType": "SystemAssigned" } - } + ] }, "resourcegroup": "myResourceGroup", "sku": { diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 7a9a81f684f9..9f8007e254c7 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -2048,12 +2048,16 @@ "readOnly": true }, "deviceRegistryNamespaces": { - "type": "object", - "description": "The Device Registry namespaces linked to the provisioning service, keyed by namespace resource ID.", - "additionalProperties": { + "type": "array", + "description": "The Device Registry namespaces linked to the provisioning service.", + "maxItems": 1, + "items": { "$ref": "#/definitions/DeviceRegistryNamespaceDescription" }, - "readOnly": true + "readOnly": true, + "x-ms-identifiers": [ + "resourceId" + ] }, "adrLinkState": { "$ref": "#/definitions/AdrLinkingState", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md index eec9da0edffb..7baa9b3e4b58 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/readme.md @@ -30,17 +30,6 @@ azure-arm: true tag: package-preview-2026-06 ``` -### Suppressions - -``` yaml -directive: - - suppress: AvoidAdditionalProperties - reason: deviceRegistryNamespaces is a read-only dictionary keyed by namespace ARM resource ID, returned by the service to surface every linked Device Registry namespace; the dictionary shape preserves O(1) lookup by resource ID. - from: iotdps.json - where: - - $.definitions.IotDpsPropertiesDescription.properties.deviceRegistryNamespaces -``` - ### Tag: package-preview-2026-06 From 48f53f8c37904ea9213774be2f7b81f94a71b8d5 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 15:52:41 -0700 Subject: [PATCH 11/32] Remove singular deviceRegistryNamespace from 2026-06-01-preview --- .../DPSCreateWithNamespace.json | 101 ------------------ .../DeviceProvisioningServices/models.tsp | 9 -- .../examples/DPSCreateWithNamespace.json | 101 ------------------ .../preview/2026-06-01-preview/iotdps.json | 8 -- 4 files changed, 219 deletions(-) delete mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json delete mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json deleted file mode 100644 index c76463e523aa..000000000000 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreateWithNamespace.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "parameters": { - "api-version": "2026-06-01-preview", - "iotDpsDescription": { - "location": "East US", - "properties": { - "enableDataResidency": false - }, - "sku": { - "name": "S1", - "capacity": 1 - }, - "tags": {} - }, - "provisioningServiceName": "myFirstProvisioningService", - "resourceGroupName": "myResourceGroup", - "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" - }, - "responses": { - "200": { - "body": { - "name": "myFirstProvisioningService", - "type": "Microsoft.Devices/ProvisioningServices", - "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", - "location": "eastus", - "properties": { - "allocationPolicy": "Hashed", - "authorizationPolicies": [], - "deviceProvisioningHostName": "global.azure-devices-provisioning.net", - "enableDataResidency": false, - "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", - "state": "Active", - "deviceRegistryNamespace": { - "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", - "authenticationType": "UserAssigned", - "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" - } - }, - "resourcegroup": "myResourceGroup", - "sku": { - "name": "S1", - "capacity": 1, - "tier": "Standard" - }, - "identity": { - "type": "SystemAssigned, UserAssigned", - "userAssignedIdentities": { - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} - } - }, - "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", - "tags": {} - } - }, - "201": { - "body": { - "name": "myFirstProvisioningService", - "type": "Microsoft.Devices/ProvisioningServices", - "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", - "location": "eastus", - "properties": { - "allocationPolicy": "Hashed", - "authorizationPolicies": [], - "deviceProvisioningHostName": "global.azure-devices-provisioning.net", - "enableDataResidency": false, - "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", - "state": "Active", - "deviceRegistryNamespace": { - "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", - "authenticationType": "UserAssigned", - "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" - } - }, - "resourcegroup": "myResourceGroup", - "sku": { - "name": "S1", - "capacity": 1, - "tier": "Standard" - }, - "identity": { - "type": "SystemAssigned, UserAssigned", - "userAssignedIdentities": { - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} - } - }, - "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", - "tags": {} - } - } - }, - "operationId": "IotDpsResource_CreateOrUpdate", - "title": "DPSCreateWithNamespace" -} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 02e1a013acf7..792472b8b8f4 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -356,16 +356,7 @@ model IotDpsPropertiesDescription { /** * The Device Registry namespace that is linked to the provisioning service. */ - #suppress "@azure-tools/typespec-azure-core/casing-style" "Version-scoped property using remove/rename/add pattern for version-specific visibility" @removed(Versions.v2026_06_01_preview) - @renamedFrom(Versions.v2026_06_01_preview, "deviceRegistryNamespace") - deviceRegistryNamespace_v2025_02_01_preview?: DeviceRegistryNamespaceDescription; - - /** - * The Device Registry namespace that is linked to the provisioning service. - */ - @visibility(Lifecycle.Read) - @added(Versions.v2026_06_01_preview) deviceRegistryNamespace?: DeviceRegistryNamespaceDescription; /** diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json deleted file mode 100644 index c76463e523aa..000000000000 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreateWithNamespace.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "parameters": { - "api-version": "2026-06-01-preview", - "iotDpsDescription": { - "location": "East US", - "properties": { - "enableDataResidency": false - }, - "sku": { - "name": "S1", - "capacity": 1 - }, - "tags": {} - }, - "provisioningServiceName": "myFirstProvisioningService", - "resourceGroupName": "myResourceGroup", - "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" - }, - "responses": { - "200": { - "body": { - "name": "myFirstProvisioningService", - "type": "Microsoft.Devices/ProvisioningServices", - "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", - "location": "eastus", - "properties": { - "allocationPolicy": "Hashed", - "authorizationPolicies": [], - "deviceProvisioningHostName": "global.azure-devices-provisioning.net", - "enableDataResidency": false, - "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", - "state": "Active", - "deviceRegistryNamespace": { - "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", - "authenticationType": "UserAssigned", - "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" - } - }, - "resourcegroup": "myResourceGroup", - "sku": { - "name": "S1", - "capacity": 1, - "tier": "Standard" - }, - "identity": { - "type": "SystemAssigned, UserAssigned", - "userAssignedIdentities": { - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} - } - }, - "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", - "tags": {} - } - }, - "201": { - "body": { - "name": "myFirstProvisioningService", - "type": "Microsoft.Devices/ProvisioningServices", - "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", - "location": "eastus", - "properties": { - "allocationPolicy": "Hashed", - "authorizationPolicies": [], - "deviceProvisioningHostName": "global.azure-devices-provisioning.net", - "enableDataResidency": false, - "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", - "state": "Active", - "deviceRegistryNamespace": { - "resourceId": "/subscriptions/8c64812d-6e59-4e65-96b3-14a7cdb1a4e4/resourceGroups/myRg/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", - "authenticationType": "UserAssigned", - "selectedUserAssignedIdentityResourceId": "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1" - } - }, - "resourcegroup": "myResourceGroup", - "sku": { - "name": "S1", - "capacity": 1, - "tier": "Standard" - }, - "identity": { - "type": "SystemAssigned, UserAssigned", - "userAssignedIdentities": { - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-1": {}, - "/subscriptions/abcf2d55-764f-419f-974d-f77a55c2ce55/resourcegroups/my-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/my-mi-2": {} - } - }, - "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", - "tags": {} - } - } - }, - "operationId": "IotDpsResource_CreateOrUpdate", - "title": "DPSCreateWithNamespace" -} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 9f8007e254c7..7b0976d4d67b 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -329,9 +329,6 @@ "DPSCreate": { "$ref": "./examples/DPSCreate.json" }, - "DPSCreateWithNamespace": { - "$ref": "./examples/DPSCreateWithNamespace.json" - }, "DPSCreate_DisableLocalAuthFalse": { "$ref": "./examples/DPSCreate_DisableLocalAuthFalse.json" }, @@ -2042,11 +2039,6 @@ "$ref": "#/definitions/IotHubDefinitionDescription" } }, - "deviceRegistryNamespace": { - "$ref": "#/definitions/DeviceRegistryNamespaceDescription", - "description": "The Device Registry namespace that is linked to the provisioning service.", - "readOnly": true - }, "deviceRegistryNamespaces": { "type": "array", "description": "The Device Registry namespaces linked to the provisioning service.", From af986a4453f0bc4e8cd965728bc7639692e452d3 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 15:59:17 -0700 Subject: [PATCH 12/32] Move adrLinkState into DeviceRegistryNamespaceDescription --- .../examples/2026-06-01-preview/DPSGet.json | 4 ++-- .../DeviceProvisioningServices/models.tsp | 14 +++++++------- .../2026-06-01-preview/examples/DPSGet.json | 4 ++-- .../preview/2026-06-01-preview/iotdps.json | 10 +++++----- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json index aa4fa1f1c9ba..0a8cd7004982 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json @@ -33,11 +33,11 @@ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", "state": "Active", "disableLocalAuth": true, - "adrLinkState": "Linked", "deviceRegistryNamespaces": [ { "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", - "authenticationType": "SystemAssigned" + "authenticationType": "SystemAssigned", + "adrLinkState": "Linked" } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 792472b8b8f4..1764f7f97268 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -368,13 +368,6 @@ model IotDpsPropertiesDescription { @identifiers(#["resourceId"]) deviceRegistryNamespaces?: DeviceRegistryNamespaceDescription[]; - /** - * The ADR linking state of the provisioning service. - */ - @visibility(Lifecycle.Read) - @added(Versions.v2026_06_01_preview) - adrLinkState?: AdrLinkingState; - /** * Allocation policy to be used by this provisioning service. */ @@ -551,6 +544,13 @@ model DeviceRegistryNamespaceDescription { type: "Microsoft.ManagedIdentity/userAssignedIdentities"; } ]>; + + /** + * The ADR linking state of this namespace. + */ + @visibility(Lifecycle.Read) + @added(Versions.v2026_06_01_preview) + adrLinkState?: AdrLinkingState; } /** diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json index aa4fa1f1c9ba..0a8cd7004982 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json @@ -33,11 +33,11 @@ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", "state": "Active", "disableLocalAuth": true, - "adrLinkState": "Linked", "deviceRegistryNamespaces": [ { "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", - "authenticationType": "SystemAssigned" + "authenticationType": "SystemAssigned", + "adrLinkState": "Linked" } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 7b0976d4d67b..e29a2184748a 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1908,6 +1908,11 @@ } ] } + }, + "adrLinkState": { + "$ref": "#/definitions/AdrLinkingState", + "description": "The ADR linking state of this namespace.", + "readOnly": true } }, "required": [ @@ -2051,11 +2056,6 @@ "resourceId" ] }, - "adrLinkState": { - "$ref": "#/definitions/AdrLinkingState", - "description": "The ADR linking state of the provisioning service.", - "readOnly": true - }, "allocationPolicy": { "$ref": "#/definitions/AllocationPolicy", "description": "Allocation policy to be used by this provisioning service." From fa548cab18a9e6696ea1959313b609d1fd44fd3c Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 22:28:50 -0700 Subject: [PATCH 13/32] Add namespaceUuid, dataEndpoint, region to DeviceRegistryNamespaceDescription --- .../examples/2026-06-01-preview/DPSGet.json | 3 +++ .../DeviceProvisioningServices/models.tsp | 18 +++++++++++++ .../2026-06-01-preview/examples/DPSGet.json | 3 +++ .../preview/2026-06-01-preview/iotdps.json | 25 ++++++++++++++++++- 4 files changed, 48 insertions(+), 1 deletion(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json index 0a8cd7004982..3f15b46e5a22 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json @@ -37,6 +37,9 @@ { "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", "authenticationType": "SystemAssigned", + "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", + "dataEndpoint": "https://myNamespace.eastus.deviceregistry.azure.net", + "region": "eastus", "adrLinkState": "Linked" } ] diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 1764f7f97268..98fef7d868b4 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -545,6 +545,24 @@ model DeviceRegistryNamespaceDescription { } ]>; + /** + * Unique identifier of the linked Device Registry namespace. + */ + @added(Versions.v2026_06_01_preview) + namespaceUuid: Azure.Core.uuid; + + /** + * Data endpoint exposed by the linked Device Registry namespace. + */ + @added(Versions.v2026_06_01_preview) + dataEndpoint: string; + + /** + * Azure region of the linked Device Registry namespace. + */ + @added(Versions.v2026_06_01_preview) + region?: Azure.Core.azureLocation; + /** * The ADR linking state of this namespace. */ diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json index 0a8cd7004982..3f15b46e5a22 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json @@ -37,6 +37,9 @@ { "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", "authenticationType": "SystemAssigned", + "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", + "dataEndpoint": "https://myNamespace.eastus.deviceregistry.azure.net", + "region": "eastus", "adrLinkState": "Linked" } ] diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index e29a2184748a..aa7d7c04f211 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1777,6 +1777,15 @@ } } }, + "Azure.Core.azureLocation": { + "type": "string", + "description": "Represents an Azure geography region where supported resource providers live." + }, + "Azure.Core.uuid": { + "type": "string", + "format": "uuid", + "description": "Universally Unique Identifier" + }, "CertificateListDescription": { "type": "object", "description": "The JSON-serialized array of Certificate objects.", @@ -1909,6 +1918,18 @@ ] } }, + "namespaceUuid": { + "$ref": "#/definitions/Azure.Core.uuid", + "description": "Unique identifier of the linked Device Registry namespace." + }, + "dataEndpoint": { + "type": "string", + "description": "Data endpoint exposed by the linked Device Registry namespace." + }, + "region": { + "$ref": "#/definitions/Azure.Core.azureLocation", + "description": "Azure region of the linked Device Registry namespace." + }, "adrLinkState": { "$ref": "#/definitions/AdrLinkingState", "description": "The ADR linking state of this namespace.", @@ -1917,7 +1938,9 @@ }, "required": [ "resourceId", - "authenticationType" + "authenticationType", + "namespaceUuid", + "dataEndpoint" ] }, "ErrorDetails": { From 99091450303896c518b3247dabf158967bc3153e Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 22:32:18 -0700 Subject: [PATCH 14/32] Update dataEndpoint example to data-plane.prod URL --- .../examples/2026-06-01-preview/DPSGet.json | 2 +- .../preview/2026-06-01-preview/examples/DPSGet.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json index 3f15b46e5a22..33bc12664c30 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json @@ -38,7 +38,7 @@ "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", "authenticationType": "SystemAssigned", "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", - "dataEndpoint": "https://myNamespace.eastus.deviceregistry.azure.net", + "dataEndpoint": "https://data-plane.prod.eastus.iotadr.net", "region": "eastus", "adrLinkState": "Linked" } diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json index 3f15b46e5a22..33bc12664c30 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json @@ -38,7 +38,7 @@ "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", "authenticationType": "SystemAssigned", "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", - "dataEndpoint": "https://myNamespace.eastus.deviceregistry.azure.net", + "dataEndpoint": "https://data-plane.prod.eastus.iotadr.net", "region": "eastus", "adrLinkState": "Linked" } From 09e249345d5394fea77fbba6a4ec049c8eadc96d Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 22:37:44 -0700 Subject: [PATCH 15/32] Clarify dataEndpoint description: ADR data-plane endpoint --- .../Microsoft.Devices/DeviceProvisioningServices/models.tsp | 2 +- .../preview/2026-06-01-preview/iotdps.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 98fef7d868b4..476a1e23b097 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -552,7 +552,7 @@ model DeviceRegistryNamespaceDescription { namespaceUuid: Azure.Core.uuid; /** - * Data endpoint exposed by the linked Device Registry namespace. + * The data plane endpoint of the linked Azure Device Registry namespace. */ @added(Versions.v2026_06_01_preview) dataEndpoint: string; diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index aa7d7c04f211..c4e7c77ece48 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1924,7 +1924,7 @@ }, "dataEndpoint": { "type": "string", - "description": "Data endpoint exposed by the linked Device Registry namespace." + "description": "The data plane endpoint of the linked Azure Device Registry namespace." }, "region": { "$ref": "#/definitions/Azure.Core.azureLocation", From a49a4e70383bc5c11adf18daafd3477b5b53f085 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 22:45:18 -0700 Subject: [PATCH 16/32] Add DPSGet example with UserAssigned namespace identity --- .../DPSGet_UserAssignedNamespaceIdentity.json | 61 +++++++++++++++++++ .../DPSGet_UserAssignedNamespaceIdentity.json | 61 +++++++++++++++++++ .../preview/2026-06-01-preview/iotdps.json | 3 + 3 files changed, 125 insertions(+) create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json create mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json new file mode 100644 index 000000000000..3295f0c64b94 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": true, + "deviceRegistryNamespaces": [ + { + "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "UserAssigned", + "selectedUserAssignedIdentityResourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity", + "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", + "dataEndpoint": "https://data-plane.prod.eastus.iotadr.net", + "region": "eastus", + "adrLinkState": "Linked" + } + ] + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_Get", + "title": "DPSGetWithUserAssignedNamespaceIdentity" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json new file mode 100644 index 000000000000..3295f0c64b94 --- /dev/null +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2026-06-01-preview", + "provisioningServiceName": "myFirstProvisioningService", + "resourceGroupName": "myResourceGroup", + "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" + }, + "responses": { + "200": { + "body": { + "name": "myFirstProvisioningService", + "type": "Microsoft.Devices/ProvisioningServices", + "etag": "AAAAAAAADGk=", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", + "tenantId": "f686d426-8d16-42db-81b7-ab578e110ccd", + "userAssignedIdentities": { + "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity": { + "clientId": "c38f618d-47f6-4260-8b3d-1dd8c130f323", + "principalId": "f1b0b133-10dc-4985-966f-a98a04675fe9" + } + } + }, + "location": "eastus", + "properties": { + "allocationPolicy": "Hashed", + "authorizationPolicies": [], + "deviceProvisioningHostName": "global.azure-devices-provisioning.net", + "idScope": "0ne00000012", + "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "state": "Active", + "disableLocalAuth": true, + "deviceRegistryNamespaces": [ + { + "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", + "authenticationType": "UserAssigned", + "selectedUserAssignedIdentityResourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity", + "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", + "dataEndpoint": "https://data-plane.prod.eastus.iotadr.net", + "region": "eastus", + "adrLinkState": "Linked" + } + ] + }, + "resourcegroup": "myResourceGroup", + "sku": { + "name": "S1", + "capacity": 1, + "tier": "Standard" + }, + "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", + "tags": {} + } + } + }, + "operationId": "IotDpsResource_Get", + "title": "DPSGetWithUserAssignedNamespaceIdentity" +} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index c4e7c77ece48..2820f14e3129 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -258,6 +258,9 @@ "x-ms-examples": { "DPSGet": { "$ref": "./examples/DPSGet.json" + }, + "DPSGetWithUserAssignedNamespaceIdentity": { + "$ref": "./examples/DPSGet_UserAssignedNamespaceIdentity.json" } } }, From c0d3ec3297e7c50f639f77bac58f36a403be0a3c Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 23:08:52 -0700 Subject: [PATCH 17/32] Use string instead of uuid for namespaceUuid to satisfy GuidUsage rule --- .../DeviceProvisioningServices/models.tsp | 2 +- .../preview/2026-06-01-preview/iotdps.json | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 476a1e23b097..37cba9998081 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -549,7 +549,7 @@ model DeviceRegistryNamespaceDescription { * Unique identifier of the linked Device Registry namespace. */ @added(Versions.v2026_06_01_preview) - namespaceUuid: Azure.Core.uuid; + namespaceUuid: string; /** * The data plane endpoint of the linked Azure Device Registry namespace. diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 2820f14e3129..16dcf9d71047 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1784,11 +1784,6 @@ "type": "string", "description": "Represents an Azure geography region where supported resource providers live." }, - "Azure.Core.uuid": { - "type": "string", - "format": "uuid", - "description": "Universally Unique Identifier" - }, "CertificateListDescription": { "type": "object", "description": "The JSON-serialized array of Certificate objects.", @@ -1922,7 +1917,7 @@ } }, "namespaceUuid": { - "$ref": "#/definitions/Azure.Core.uuid", + "type": "string", "description": "Unique identifier of the linked Device Registry namespace." }, "dataEndpoint": { From 8e7e2de5a13084b5a1a049ed998d4630e6a71391 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 6 May 2026 23:23:36 -0700 Subject: [PATCH 18/32] Default disableLocalAuth to false --- .../Microsoft.Devices/DeviceProvisioningServices/models.tsp | 2 +- .../preview/2026-06-01-preview/iotdps.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 37cba9998081..7c0a2086fd77 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -412,7 +412,7 @@ model IotDpsPropertiesDescription { * Disables all authentication methods other than Azure RBAC */ @added(Versions.v2026_06_01_preview) - disableLocalAuth?: boolean; + disableLocalAuth?: boolean = false; } /** diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 16dcf9d71047..35c26cd9ad5b 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -2113,7 +2113,8 @@ }, "disableLocalAuth": { "type": "boolean", - "description": "Disables all authentication methods other than Azure RBAC" + "description": "Disables all authentication methods other than Azure RBAC", + "default": false } } }, From bf929402131a7a9d582351d9b98f45bc2bc6a3e7 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Thu, 7 May 2026 09:28:50 -0700 Subject: [PATCH 19/32] Removed redudant readonly property for AdrLinkingState and removed optional field --- .../Microsoft.Devices/DeviceProvisioningServices/models.tsp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 7c0a2086fd77..8ac3236dcb47 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -566,9 +566,8 @@ model DeviceRegistryNamespaceDescription { /** * The ADR linking state of this namespace. */ - @visibility(Lifecycle.Read) @added(Versions.v2026_06_01_preview) - adrLinkState?: AdrLinkingState; + adrLinkState: AdrLinkingState; } /** From 41847549154b9f301443c83e6941b00e75050dc7 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Thu, 7 May 2026 09:38:29 -0700 Subject: [PATCH 20/32] Regenerate iotdps.json after adrLinkState became required --- .../preview/2026-06-01-preview/iotdps.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 35c26cd9ad5b..b251bce82609 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1930,15 +1930,15 @@ }, "adrLinkState": { "$ref": "#/definitions/AdrLinkingState", - "description": "The ADR linking state of this namespace.", - "readOnly": true + "description": "The ADR linking state of this namespace." } }, "required": [ "resourceId", "authenticationType", "namespaceUuid", - "dataEndpoint" + "dataEndpoint", + "adrLinkState" ] }, "ErrorDetails": { From fc637ae6be89f11428369519508e4d0ff7f2b59d Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Thu, 7 May 2026 15:15:55 -0700 Subject: [PATCH 21/32] Make adrLinkState optional (omitted when no link state) --- .../Microsoft.Devices/DeviceProvisioningServices/models.tsp | 2 +- .../preview/2026-06-01-preview/iotdps.json | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 8ac3236dcb47..2a4aaba171db 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -567,7 +567,7 @@ model DeviceRegistryNamespaceDescription { * The ADR linking state of this namespace. */ @added(Versions.v2026_06_01_preview) - adrLinkState: AdrLinkingState; + adrLinkState?: AdrLinkingState; } /** diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index b251bce82609..0dfe62a5b245 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1937,8 +1937,7 @@ "resourceId", "authenticationType", "namespaceUuid", - "dataEndpoint", - "adrLinkState" + "dataEndpoint" ] }, "ErrorDetails": { From d7470fec8918f120374ba5b6765dc88b770ce57c Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Fri, 8 May 2026 08:17:56 -0700 Subject: [PATCH 22/32] Removed unused import --- .../ProvisioningServiceDescription.tsp | 2 -- 1 file changed, 2 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/ProvisioningServiceDescription.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/ProvisioningServiceDescription.tsp index 9bb73442564f..ca39393d1b2a 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/ProvisioningServiceDescription.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/ProvisioningServiceDescription.tsp @@ -2,14 +2,12 @@ import "@azure-tools/typespec-azure-core"; import "@azure-tools/typespec-azure-resource-manager"; import "@typespec/openapi"; import "@typespec/rest"; -import "@typespec/versioning"; import "./models.tsp"; using TypeSpec.Rest; using Azure.ResourceManager; using TypeSpec.Http; using TypeSpec.OpenAPI; -using TypeSpec.Versioning; namespace Microsoft.Devices; /** From 55b2640d433ac2e9e30b9fbfd43f5e18842d80fa Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Fri, 8 May 2026 09:54:55 -0700 Subject: [PATCH 23/32] Make adrLinkState required (no NotLinked state) --- .../Microsoft.Devices/DeviceProvisioningServices/models.tsp | 2 +- .../preview/2026-06-01-preview/iotdps.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 2a4aaba171db..8ac3236dcb47 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -567,7 +567,7 @@ model DeviceRegistryNamespaceDescription { * The ADR linking state of this namespace. */ @added(Versions.v2026_06_01_preview) - adrLinkState?: AdrLinkingState; + adrLinkState: AdrLinkingState; } /** diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 0dfe62a5b245..b251bce82609 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1937,7 +1937,8 @@ "resourceId", "authenticationType", "namespaceUuid", - "dataEndpoint" + "dataEndpoint", + "adrLinkState" ] }, "ErrorDetails": { From 55b8c2f7b5b910f4e0d049d6d9a9b43d034a9a4b Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Fri, 8 May 2026 14:45:55 -0700 Subject: [PATCH 24/32] Switched to namespaceUuid for array identifier --- .../Microsoft.Devices/DeviceProvisioningServices/models.tsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 8ac3236dcb47..bd9122362ffc 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -365,7 +365,7 @@ model IotDpsPropertiesDescription { @visibility(Lifecycle.Read) @added(Versions.v2026_06_01_preview) @maxItems(1) - @identifiers(#["resourceId"]) + @identifiers(#["namespaceUuid"]) deviceRegistryNamespaces?: DeviceRegistryNamespaceDescription[]; /** From 799ab11c8921964c231a54fc020a68bbecd45a91 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Fri, 8 May 2026 14:56:41 -0700 Subject: [PATCH 25/32] Address PR review findings: fix example bugs, expand ADR acronym, drop invalid PATCH example --- .../DPSCertificateCreateOrUpdate.json | 2 +- .../2026-06-01-preview/DPSCreate.json | 4 +- .../DPSListByResourceGroup.json | 2 +- .../DPSListBySubscription.json | 4 +- .../2026-06-01-preview/DPSOperations.json | 2 +- .../DPSPatch_DisableLocalAuth.json | 48 ------------------- .../2026-06-01-preview/DPSUpdate.json | 4 +- .../DeviceProvisioningServices/models.tsp | 8 ++-- .../DPSCertificateCreateOrUpdate.json | 2 +- .../examples/DPSCreate.json | 4 +- .../examples/DPSListByResourceGroup.json | 2 +- .../examples/DPSListBySubscription.json | 4 +- .../examples/DPSOperations.json | 2 +- .../examples/DPSPatch_DisableLocalAuth.json | 48 ------------------- .../examples/DPSUpdate.json | 4 +- .../preview/2026-06-01-preview/iotdps.json | 13 ++--- 16 files changed, 27 insertions(+), 126 deletions(-) delete mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json delete mode 100644 specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCertificateCreateOrUpdate.json index 4458caee78ef..85fe9f6f3cab 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCertificateCreateOrUpdate.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCertificateCreateOrUpdate.json @@ -17,7 +17,7 @@ "name": "cert", "type": "Microsoft.Devices/ProvisioningServices/Certificates", "etag": "AAAAAAExpNs=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", "properties": { "certificate": "MA==", "created": "Thu, 12 Oct 2017 19:23:50 GMT", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate.json index e4d7348274c7..c8dbcd64bcca 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSCreate.json @@ -22,7 +22,7 @@ "name": "myFirstProvisioningService", "type": "Microsoft.Devices/ProvisioningServices", "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", "location": "eastus", "properties": { "allocationPolicy": "Hashed", @@ -49,7 +49,7 @@ "name": "myFirstProvisioningService", "type": "Microsoft.Devices/ProvisioningServices", "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", "location": "eastus", "properties": { "allocationPolicy": "Hashed", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListByResourceGroup.json index 9d4f1d6c5dae..5234b1ee579a 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListByResourceGroup.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListByResourceGroup.json @@ -63,7 +63,7 @@ "allocationPolicy": "Hashed", "deviceProvisioningHostName": "global.azure-devices-provisioning.net", "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "portalOperationsHostName": "mySecondProvisioningService.services.azure-devices-provisioning.net", "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net", "state": "Active" }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListBySubscription.json index d012b048125d..4f0ae8cb8bd7 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListBySubscription.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSListBySubscription.json @@ -62,8 +62,8 @@ "allocationPolicy": "Hashed", "deviceProvisioningHostName": "global.azure-devices-provisioning.net", "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "portalOperationsHostName": "mySecondProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net", "state": "Active" }, "resourcegroup": "myResourceGroup", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSOperations.json index 4bbc1c61cab9..05578202dba5 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSOperations.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSOperations.json @@ -243,7 +243,7 @@ "display": { "operation": "Check If Provisioning Service name is available", "provider": "Microsoft Devices", - "resource": "ProvisioningServives" + "resource": "ProvisioningServices" } }, { diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json deleted file mode 100644 index ee6320069e7d..000000000000 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSPatch_DisableLocalAuth.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "parameters": { - "type": "Microsoft.Devices/ProvisioningServices", - "ProvisioningServiceTags": { - "tags": { - "foo": "bar" - } - }, - "disableLocalAuth": true, - "api-version": "2026-06-01-preview", - "location": "East US", - "provisioningServiceName": "myFirstProvisioningService", - "resourceGroupName": "myResourceGroup", - "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" - }, - "responses": { - "200": { - "body": { - "name": "myFirstProvisioningService", - "type": "Microsoft.Devices/ProvisioningServices", - "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", - "location": "eastus", - "properties": { - "allocationPolicy": "Hashed", - "deviceProvisioningHostName": "global.azure-devices-provisioning.net", - "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", - "state": "Active", - "disableLocalAuth": true - }, - "resourcegroup": "myResourceGroup", - "sku": { - "name": "S1", - "capacity": 1, - "tier": "Standard" - }, - "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", - "tags": { - "foo": "bar" - } - } - } - }, - "operationId": "IotDpsResource_Update", - "title": "DPSPatch_DisableLocalAuth" -} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSUpdate.json index c24be871df55..f27c84c18ab5 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSUpdate.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSUpdate.json @@ -28,7 +28,7 @@ "name": "myFirstProvisioningService", "type": "Microsoft.Devices/ProvisioningServices", "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", "identity": { "type": "SystemAssigned,UserAssigned", "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", @@ -66,7 +66,7 @@ "name": "myFirstProvisioningService", "type": "Microsoft.Devices/ProvisioningServices", "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", "identity": { "type": "SystemAssigned,UserAssigned", "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index bd9122362ffc..b3f8cc9c2651 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -360,7 +360,7 @@ model IotDpsPropertiesDescription { deviceRegistryNamespace?: DeviceRegistryNamespaceDescription; /** - * The Device Registry namespaces linked to the provisioning service. + * The Azure Device Registry (ADR) namespaces linked to the provisioning service. Linking is established via the Azure Device Registry control plane; this property is read-only on this resource. */ @visibility(Lifecycle.Read) @added(Versions.v2026_06_01_preview) @@ -409,7 +409,7 @@ model IotDpsPropertiesDescription { portalOperationsHostName?: string; /** - * Disables all authentication methods other than Azure RBAC + * Disables all authentication methods other than Azure RBAC. */ @added(Versions.v2026_06_01_preview) disableLocalAuth?: boolean = false; @@ -564,7 +564,7 @@ model DeviceRegistryNamespaceDescription { region?: Azure.Core.azureLocation; /** - * The ADR linking state of this namespace. + * The Azure Device Registry (ADR) link state of this namespace. */ @added(Versions.v2026_06_01_preview) adrLinkState: AdrLinkingState; @@ -937,7 +937,7 @@ model CertificateBodyDescription { } /** - * The state of ADR linking for a provisioning service. + * The state of Azure Device Registry (ADR) linking for a provisioning service. */ @added(Versions.v2026_06_01_preview) union AdrLinkingState { diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCertificateCreateOrUpdate.json index 4458caee78ef..85fe9f6f3cab 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCertificateCreateOrUpdate.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCertificateCreateOrUpdate.json @@ -17,7 +17,7 @@ "name": "cert", "type": "Microsoft.Devices/ProvisioningServices/Certificates", "etag": "AAAAAAExpNs=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert", "properties": { "certificate": "MA==", "created": "Thu, 12 Oct 2017 19:23:50 GMT", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate.json index e4d7348274c7..c8dbcd64bcca 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSCreate.json @@ -22,7 +22,7 @@ "name": "myFirstProvisioningService", "type": "Microsoft.Devices/ProvisioningServices", "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", "location": "eastus", "properties": { "allocationPolicy": "Hashed", @@ -49,7 +49,7 @@ "name": "myFirstProvisioningService", "type": "Microsoft.Devices/ProvisioningServices", "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", "location": "eastus", "properties": { "allocationPolicy": "Hashed", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListByResourceGroup.json index 9d4f1d6c5dae..5234b1ee579a 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListByResourceGroup.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListByResourceGroup.json @@ -63,7 +63,7 @@ "allocationPolicy": "Hashed", "deviceProvisioningHostName": "global.azure-devices-provisioning.net", "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", + "portalOperationsHostName": "mySecondProvisioningService.services.azure-devices-provisioning.net", "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net", "state": "Active" }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListBySubscription.json index d012b048125d..4f0ae8cb8bd7 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListBySubscription.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSListBySubscription.json @@ -62,8 +62,8 @@ "allocationPolicy": "Hashed", "deviceProvisioningHostName": "global.azure-devices-provisioning.net", "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", + "portalOperationsHostName": "mySecondProvisioningService.services.azure-devices-provisioning.net", + "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net", "state": "Active" }, "resourcegroup": "myResourceGroup", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSOperations.json index 4bbc1c61cab9..05578202dba5 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSOperations.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSOperations.json @@ -243,7 +243,7 @@ "display": { "operation": "Check If Provisioning Service name is available", "provider": "Microsoft Devices", - "resource": "ProvisioningServives" + "resource": "ProvisioningServices" } }, { diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json deleted file mode 100644 index ee6320069e7d..000000000000 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSPatch_DisableLocalAuth.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "parameters": { - "type": "Microsoft.Devices/ProvisioningServices", - "ProvisioningServiceTags": { - "tags": { - "foo": "bar" - } - }, - "disableLocalAuth": true, - "api-version": "2026-06-01-preview", - "location": "East US", - "provisioningServiceName": "myFirstProvisioningService", - "resourceGroupName": "myResourceGroup", - "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0" - }, - "responses": { - "200": { - "body": { - "name": "myFirstProvisioningService", - "type": "Microsoft.Devices/ProvisioningServices", - "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", - "location": "eastus", - "properties": { - "allocationPolicy": "Hashed", - "deviceProvisioningHostName": "global.azure-devices-provisioning.net", - "idScope": "0ne00000012", - "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", - "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", - "state": "Active", - "disableLocalAuth": true - }, - "resourcegroup": "myResourceGroup", - "sku": { - "name": "S1", - "capacity": 1, - "tier": "Standard" - }, - "subscriptionid": "91d12660-3dec-467a-be2a-213b5544ddc0", - "tags": { - "foo": "bar" - } - } - } - }, - "operationId": "IotDpsResource_Update", - "title": "DPSPatch_DisableLocalAuth" -} diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSUpdate.json index c24be871df55..f27c84c18ab5 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSUpdate.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSUpdate.json @@ -28,7 +28,7 @@ "name": "myFirstProvisioningService", "type": "Microsoft.Devices/ProvisioningServices", "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", "identity": { "type": "SystemAssigned,UserAssigned", "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", @@ -66,7 +66,7 @@ "name": "myFirstProvisioningService", "type": "Microsoft.Devices/ProvisioningServices", "etag": "AAAAAAAADGk=", - "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", + "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService", "identity": { "type": "SystemAssigned,UserAssigned", "principalId": "aa80bd74-a3f0-4f14-b9da-99c5351cf9d5", diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index b251bce82609..7091ce698378 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -403,9 +403,6 @@ "x-ms-examples": { "DPSPatch": { "$ref": "./examples/DPSPatch.json" - }, - "DPSPatch_DisableLocalAuth": { - "$ref": "./examples/DPSPatch_DisableLocalAuth.json" } }, "x-ms-long-running-operation-options": { @@ -1705,7 +1702,7 @@ }, "AdrLinkingState": { "type": "string", - "description": "The state of ADR linking for a provisioning service.", + "description": "The state of Azure Device Registry (ADR) linking for a provisioning service.", "enum": [ "Linking", "Linked", @@ -1930,7 +1927,7 @@ }, "adrLinkState": { "$ref": "#/definitions/AdrLinkingState", - "description": "The ADR linking state of this namespace." + "description": "The Azure Device Registry (ADR) link state of this namespace." } }, "required": [ @@ -2067,14 +2064,14 @@ }, "deviceRegistryNamespaces": { "type": "array", - "description": "The Device Registry namespaces linked to the provisioning service.", + "description": "The Azure Device Registry (ADR) namespaces linked to the provisioning service. Linking is established via the Azure Device Registry control plane; this property is read-only on this resource.", "maxItems": 1, "items": { "$ref": "#/definitions/DeviceRegistryNamespaceDescription" }, "readOnly": true, "x-ms-identifiers": [ - "resourceId" + "namespaceUuid" ] }, "allocationPolicy": { @@ -2113,7 +2110,7 @@ }, "disableLocalAuth": { "type": "boolean", - "description": "Disables all authentication methods other than Azure RBAC", + "description": "Disables all authentication methods other than Azure RBAC.", "default": false } } From a30317a810b2a3213f8c237341480a43ce3eff10 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 27 May 2026 15:19:07 -0700 Subject: [PATCH 26/32] Align DPS 2026-06-01-preview field shapes to sister PR Match the field shapes used in azure-rest-api-specs-pr#28400: - DeviceRegistryNamespaceDescription fields all made optional - Rename dataEndpoint -> dataAddress, region -> location, adrLinkState -> linkingState - Replace AdrLinkingState enum values: NotLinked, InProgress, Succeeded, Failed, Orphaned - Keep disableLocalAuth property - Update DPSGet examples accordingly Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../examples/2026-06-01-preview/DPSGet.json | 8 +-- .../DPSGet_UserAssignedNamespaceIdentity.json | 6 +- .../DeviceProvisioningServices/models.tsp | 37 ++++++------ .../2026-06-01-preview/examples/DPSGet.json | 8 +-- .../DPSGet_UserAssignedNamespaceIdentity.json | 6 +- .../preview/2026-06-01-preview/iotdps.json | 57 ++++++++++--------- 6 files changed, 65 insertions(+), 57 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json index 33bc12664c30..653d61073a38 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json @@ -32,15 +32,15 @@ "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", "state": "Active", - "disableLocalAuth": true, + "disableLocalAuth": false, "deviceRegistryNamespaces": [ { "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", "authenticationType": "SystemAssigned", "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", - "dataEndpoint": "https://data-plane.prod.eastus.iotadr.net", - "region": "eastus", - "adrLinkState": "Linked" + "dataAddress": "eastus.api.deviceregistry.com", + "location": "eastus", + "linkingState": "Succeeded" } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json index 3295f0c64b94..7d5894378e20 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json @@ -39,9 +39,9 @@ "authenticationType": "UserAssigned", "selectedUserAssignedIdentityResourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity", "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", - "dataEndpoint": "https://data-plane.prod.eastus.iotadr.net", - "region": "eastus", - "adrLinkState": "Linked" + "dataAddress": "eastus.api.deviceregistry.com", + "location": "eastus", + "linkingState": "Succeeded" } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index b3f8cc9c2651..aacb29ec0608 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -360,7 +360,7 @@ model IotDpsPropertiesDescription { deviceRegistryNamespace?: DeviceRegistryNamespaceDescription; /** - * The Azure Device Registry (ADR) namespaces linked to the provisioning service. Linking is established via the Azure Device Registry control plane; this property is read-only on this resource. + * The Device Registry namespaces linked to the provisioning service. */ @visibility(Lifecycle.Read) @added(Versions.v2026_06_01_preview) @@ -549,25 +549,25 @@ model DeviceRegistryNamespaceDescription { * Unique identifier of the linked Device Registry namespace. */ @added(Versions.v2026_06_01_preview) - namespaceUuid: string; + namespaceUuid?: string; /** - * The data plane endpoint of the linked Azure Device Registry namespace. + * The data plane address of the linked Azure Device Registry namespace. */ @added(Versions.v2026_06_01_preview) - dataEndpoint: string; + dataAddress?: string; /** - * Azure region of the linked Device Registry namespace. + * Azure location of the linked Device Registry namespace. */ @added(Versions.v2026_06_01_preview) - region?: Azure.Core.azureLocation; + location?: Azure.Core.azureLocation; /** - * The Azure Device Registry (ADR) link state of this namespace. + * The linking state of this namespace. */ @added(Versions.v2026_06_01_preview) - adrLinkState: AdrLinkingState; + linkingState?: AdrLinkingState; } /** @@ -937,29 +937,34 @@ model CertificateBodyDescription { } /** - * The state of Azure Device Registry (ADR) linking for a provisioning service. + * The state of ADR linking for a provisioning service. */ @added(Versions.v2026_06_01_preview) union AdrLinkingState { string, + /** + * The provisioning service is not linked to a Device Registry namespace. + */ + NotLinked: "NotLinked", + /** * The linking process is in progress. */ - Linking: "Linking", + InProgress: "InProgress", /** - * The provisioning service is linked to a Device Registry namespace. + * The linking process succeeded. */ - Linked: "Linked", + Succeeded: "Succeeded", /** - * The linking process has failed. + * The linking process failed. */ - LinkingFailed: "LinkingFailed", + Failed: "Failed", /** - * The linked Device Registry namespace has been deleted. + * The linked Device Registry namespace no longer exists. */ - NamespaceDeleted: "NamespaceDeleted", + Orphaned: "Orphaned", } diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json index 33bc12664c30..653d61073a38 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json @@ -32,15 +32,15 @@ "portalOperationsHostName": "myFirstProvisioningService.services.azure-devices-provisioning.net", "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net", "state": "Active", - "disableLocalAuth": true, + "disableLocalAuth": false, "deviceRegistryNamespaces": [ { "resourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.DeviceRegistry/namespaces/myNamespace", "authenticationType": "SystemAssigned", "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", - "dataEndpoint": "https://data-plane.prod.eastus.iotadr.net", - "region": "eastus", - "adrLinkState": "Linked" + "dataAddress": "eastus.api.deviceregistry.com", + "location": "eastus", + "linkingState": "Succeeded" } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json index 3295f0c64b94..7d5894378e20 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json @@ -39,9 +39,9 @@ "authenticationType": "UserAssigned", "selectedUserAssignedIdentityResourceId": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourcegroups/testrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity", "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", - "dataEndpoint": "https://data-plane.prod.eastus.iotadr.net", - "region": "eastus", - "adrLinkState": "Linked" + "dataAddress": "eastus.api.deviceregistry.com", + "location": "eastus", + "linkingState": "Succeeded" } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 7091ce698378..20e52cabc5b4 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1702,36 +1702,42 @@ }, "AdrLinkingState": { "type": "string", - "description": "The state of Azure Device Registry (ADR) linking for a provisioning service.", + "description": "The state of ADR linking for a provisioning service.", "enum": [ - "Linking", - "Linked", - "LinkingFailed", - "NamespaceDeleted" + "NotLinked", + "InProgress", + "Succeeded", + "Failed", + "Orphaned" ], "x-ms-enum": { "name": "AdrLinkingState", "modelAsString": true, "values": [ { - "name": "Linking", - "value": "Linking", + "name": "NotLinked", + "value": "NotLinked", + "description": "The provisioning service is not linked to a Device Registry namespace." + }, + { + "name": "InProgress", + "value": "InProgress", "description": "The linking process is in progress." }, { - "name": "Linked", - "value": "Linked", - "description": "The provisioning service is linked to a Device Registry namespace." + "name": "Succeeded", + "value": "Succeeded", + "description": "The linking process succeeded." }, { - "name": "LinkingFailed", - "value": "LinkingFailed", - "description": "The linking process has failed." + "name": "Failed", + "value": "Failed", + "description": "The linking process failed." }, { - "name": "NamespaceDeleted", - "value": "NamespaceDeleted", - "description": "The linked Device Registry namespace has been deleted." + "name": "Orphaned", + "value": "Orphaned", + "description": "The linked Device Registry namespace no longer exists." } ] } @@ -1917,25 +1923,22 @@ "type": "string", "description": "Unique identifier of the linked Device Registry namespace." }, - "dataEndpoint": { + "dataAddress": { "type": "string", - "description": "The data plane endpoint of the linked Azure Device Registry namespace." + "description": "The data plane address of the linked Azure Device Registry namespace." }, - "region": { + "location": { "$ref": "#/definitions/Azure.Core.azureLocation", - "description": "Azure region of the linked Device Registry namespace." + "description": "Azure location of the linked Device Registry namespace." }, - "adrLinkState": { + "linkingState": { "$ref": "#/definitions/AdrLinkingState", - "description": "The Azure Device Registry (ADR) link state of this namespace." + "description": "The linking state of this namespace." } }, "required": [ "resourceId", - "authenticationType", - "namespaceUuid", - "dataEndpoint", - "adrLinkState" + "authenticationType" ] }, "ErrorDetails": { @@ -2064,7 +2067,7 @@ }, "deviceRegistryNamespaces": { "type": "array", - "description": "The Azure Device Registry (ADR) namespaces linked to the provisioning service. Linking is established via the Azure Device Registry control plane; this property is read-only on this resource.", + "description": "The Device Registry namespaces linked to the provisioning service.", "maxItems": 1, "items": { "$ref": "#/definitions/DeviceRegistryNamespaceDescription" From c8aa8796f18c5a15b6498c79be17e199aacb2943 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 27 May 2026 23:06:27 -0700 Subject: [PATCH 27/32] Rename AdrLinkingState union to LinkingState Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../DeviceProvisioningServices/models.tsp | 4 +- .../preview/2026-06-01-preview/iotdps.json | 86 +++++++++---------- 2 files changed, 45 insertions(+), 45 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index dfbc81c3030f..7ee78d08d208 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -619,7 +619,7 @@ model DeviceRegistryNamespaceDescription { * The linking state of this namespace. */ @added(Versions.v2026_06_01_preview) - linkingState?: AdrLinkingState; + linkingState?: LinkingState; } /** @@ -992,7 +992,7 @@ model CertificateBodyDescription { * The state of ADR linking for a provisioning service. */ @added(Versions.v2026_06_01_preview) -union AdrLinkingState { +union LinkingState { string, /** diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 20e52cabc5b4..048e2438198a 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1700,48 +1700,6 @@ ] } }, - "AdrLinkingState": { - "type": "string", - "description": "The state of ADR linking for a provisioning service.", - "enum": [ - "NotLinked", - "InProgress", - "Succeeded", - "Failed", - "Orphaned" - ], - "x-ms-enum": { - "name": "AdrLinkingState", - "modelAsString": true, - "values": [ - { - "name": "NotLinked", - "value": "NotLinked", - "description": "The provisioning service is not linked to a Device Registry namespace." - }, - { - "name": "InProgress", - "value": "InProgress", - "description": "The linking process is in progress." - }, - { - "name": "Succeeded", - "value": "Succeeded", - "description": "The linking process succeeded." - }, - { - "name": "Failed", - "value": "Failed", - "description": "The linking process failed." - }, - { - "name": "Orphaned", - "value": "Orphaned", - "description": "The linked Device Registry namespace no longer exists." - } - ] - } - }, "AllocationPolicy": { "type": "string", "description": "Allocation policy to be used by this provisioning service.", @@ -1932,7 +1890,7 @@ "description": "Azure location of the linked Device Registry namespace." }, "linkingState": { - "$ref": "#/definitions/AdrLinkingState", + "$ref": "#/definitions/LinkingState", "description": "The linking state of this namespace." } }, @@ -2270,6 +2228,48 @@ "modelAsString": false } }, + "LinkingState": { + "type": "string", + "description": "The state of ADR linking for a provisioning service.", + "enum": [ + "NotLinked", + "InProgress", + "Succeeded", + "Failed", + "Orphaned" + ], + "x-ms-enum": { + "name": "LinkingState", + "modelAsString": true, + "values": [ + { + "name": "NotLinked", + "value": "NotLinked", + "description": "The provisioning service is not linked to a Device Registry namespace." + }, + { + "name": "InProgress", + "value": "InProgress", + "description": "The linking process is in progress." + }, + { + "name": "Succeeded", + "value": "Succeeded", + "description": "The linking process succeeded." + }, + { + "name": "Failed", + "value": "Failed", + "description": "The linking process failed." + }, + { + "name": "Orphaned", + "value": "Orphaned", + "description": "The linked Device Registry namespace no longer exists." + } + ] + } + }, "NameAvailabilityInfo": { "type": "object", "description": "Description of name availability.", From e5f82ae3d957542dd8bf777ef15ca56478559bb6 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Tue, 2 Jun 2026 10:01:14 -0700 Subject: [PATCH 28/32] Regenerate DPS 2026-06-01-preview swagger Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../preview/2026-06-01-preview/iotdps.json | 53 ++++++++++++++++++- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 048e2438198a..f515059559d3 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -2144,6 +2144,36 @@ } } }, + "IotHubAuthenticationType": { + "type": "string", + "description": "IotHub MI authentication type: KeyBased, UserAssigned, SystemAssigned.", + "enum": [ + "KeyBased", + "UserAssigned", + "SystemAssigned" + ], + "x-ms-enum": { + "name": "IotHubAuthenticationType", + "modelAsString": true, + "values": [ + { + "name": "KeyBased", + "value": "KeyBased", + "description": "Key Based authentication type." + }, + { + "name": "UserAssigned", + "value": "UserAssigned", + "description": "User assigned authentication type." + }, + { + "name": "SystemAssigned", + "value": "SystemAssigned", + "description": "System assigned authentication type." + } + ] + } + }, "IotHubDefinitionDescription": { "type": "object", "description": "Description of the IoT hub.", @@ -2162,9 +2192,29 @@ "description": "Host name of the IoT hub.", "readOnly": true }, + "hostName": { + "type": "string", + "description": "Host name of the IoT hub. This is required when connectionString is not provided." + }, + "authenticationType": { + "$ref": "#/definitions/IotHubAuthenticationType", + "description": "IotHub MI authentication type: KeyBased, UserAssigned, SystemAssigned." + }, + "selectedUserAssignedIdentityResourceId": { + "type": "string", + "format": "arm-id", + "description": "The selected user-assigned identity resource Id associated with IoT hub. This is required when authenticationType is UserAssigned.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ] + } + }, "connectionString": { "type": "string", - "description": "Connection string of the IoT hub." + "description": "Connection string of the IoT hub. This is required when authenticationType is KeyBased." }, "location": { "type": "string", @@ -2172,7 +2222,6 @@ } }, "required": [ - "connectionString", "location" ] }, From 7d8dd11b430d40b74b94ebeb65cb137448f71e43 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Tue, 2 Jun 2026 10:01:58 -0700 Subject: [PATCH 29/32] Format DPS TypeSpec version list Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Microsoft.Devices/DeviceProvisioningServices/main.tsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/main.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/main.tsp index 606ca22fde7b..da293262a173 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/main.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/main.tsp @@ -49,7 +49,7 @@ enum Versions { * The 2026-03-01-preview API version. */ v2026_03_01_preview: "2026-03-01-preview", - + /** * The 2026-06-01-preview API version. */ From 7e4f4f8545685130da39ecedd6ff40a46417b6d6 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Wed, 10 Jun 2026 15:02:44 -0700 Subject: [PATCH 30/32] Wrap linkingState in linkingProperties on DeviceRegistryNamespaceDescription Mirror the IoT Hub linkingProperties pattern in DPS v2026-06-01-preview: replace the flat linkingState property with a nested linkingProperties object that contains state and error. Add LinkingProperties and LinkingError models. Update example responses and regenerate swagger. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../examples/2026-06-01-preview/DPSGet.json | 4 +- .../DPSGet_UserAssignedNamespaceIdentity.json | 4 +- .../DeviceProvisioningServices/models.tsp | 43 +++++++++++++++- .../2026-06-01-preview/examples/DPSGet.json | 4 +- .../DPSGet_UserAssignedNamespaceIdentity.json | 4 +- .../preview/2026-06-01-preview/iotdps.json | 49 +++++++++++++++++-- 6 files changed, 99 insertions(+), 9 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json index 653d61073a38..684ec3199ba6 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json @@ -40,7 +40,9 @@ "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", "dataAddress": "eastus.api.deviceregistry.com", "location": "eastus", - "linkingState": "Succeeded" + "linkingProperties": { + "state": "Succeeded" + } } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json index 7d5894378e20..5d65812eafd1 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json @@ -41,7 +41,9 @@ "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", "dataAddress": "eastus.api.deviceregistry.com", "location": "eastus", - "linkingState": "Succeeded" + "linkingProperties": { + "state": "Succeeded" + } } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 7ee78d08d208..8a0761bb547a 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -616,10 +616,11 @@ model DeviceRegistryNamespaceDescription { location?: Azure.Core.azureLocation; /** - * The linking state of this namespace. + * Properties related to linking this provisioning service with the Azure Device Registry namespace. */ @added(Versions.v2026_06_01_preview) - linkingState?: LinkingState; + @visibility(Lifecycle.Read) + linkingProperties?: LinkingProperties; } /** @@ -988,6 +989,44 @@ model CertificateBodyDescription { isVerified?: boolean; } +/** + * The last error encountered when linking the provisioning service with an Azure Device Registry. + * Mirrors the shape used by the IoT Hub Device Registry linking error model. + */ +@added(Versions.v2026_06_01_preview) +model LinkingError { + /** The error code. */ + @visibility(Lifecycle.Read) + code?: string; + + /** The HTTP status code. */ + @visibility(Lifecycle.Read) + httpStatusCode?: string; + + /** The error message. */ + @visibility(Lifecycle.Read) + message?: string; + + /** The error details. */ + @visibility(Lifecycle.Read) + details?: string; +} + +/** + * Properties related to linking the provisioning service with an Azure Device Registry namespace. + * Read-only; populated by the service as the linking lifecycle progresses. + */ +@added(Versions.v2026_06_01_preview) +model LinkingProperties { + /** Indicates whether the provisioning service is linked with an Azure Device Registry. */ + @visibility(Lifecycle.Read) + state?: LinkingState; + + /** The last error encountered when linking with the Azure Device Registry. */ + @visibility(Lifecycle.Read) + error?: LinkingError; +} + /** * The state of ADR linking for a provisioning service. */ diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json index 653d61073a38..684ec3199ba6 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json @@ -40,7 +40,9 @@ "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", "dataAddress": "eastus.api.deviceregistry.com", "location": "eastus", - "linkingState": "Succeeded" + "linkingProperties": { + "state": "Succeeded" + } } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json index 7d5894378e20..5d65812eafd1 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json @@ -41,7 +41,9 @@ "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", "dataAddress": "eastus.api.deviceregistry.com", "location": "eastus", - "linkingState": "Succeeded" + "linkingProperties": { + "state": "Succeeded" + } } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index f515059559d3..6759c591fb79 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1889,9 +1889,10 @@ "$ref": "#/definitions/Azure.Core.azureLocation", "description": "Azure location of the linked Device Registry namespace." }, - "linkingState": { - "$ref": "#/definitions/LinkingState", - "description": "The linking state of this namespace." + "linkingProperties": { + "$ref": "#/definitions/LinkingProperties", + "description": "Properties related to linking this provisioning service with the Azure Device Registry namespace.", + "readOnly": true } }, "required": [ @@ -2277,6 +2278,48 @@ "modelAsString": false } }, + "LinkingError": { + "type": "object", + "description": "The last error encountered when linking the provisioning service with an Azure Device Registry.\nMirrors the shape used by the IoT Hub Device Registry linking error model.", + "properties": { + "code": { + "type": "string", + "description": "The error code.", + "readOnly": true + }, + "httpStatusCode": { + "type": "string", + "description": "The HTTP status code.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "The error message.", + "readOnly": true + }, + "details": { + "type": "string", + "description": "The error details.", + "readOnly": true + } + } + }, + "LinkingProperties": { + "type": "object", + "description": "Properties related to linking the provisioning service with an Azure Device Registry namespace.\nRead-only; populated by the service as the linking lifecycle progresses.", + "properties": { + "state": { + "$ref": "#/definitions/LinkingState", + "description": "Indicates whether the provisioning service is linked with an Azure Device Registry.", + "readOnly": true + }, + "error": { + "$ref": "#/definitions/LinkingError", + "description": "The last error encountered when linking with the Azure Device Registry.", + "readOnly": true + } + } + }, "LinkingState": { "type": "string", "description": "The state of ADR linking for a provisioning service.", From d0dfaf3be5024a330d75ee9cac5a420ce4c892e6 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Mon, 22 Jun 2026 15:53:47 -0700 Subject: [PATCH 31/32] Remove Failed from LinkingState union Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../Microsoft.Devices/DeviceProvisioningServices/models.tsp | 5 ----- .../preview/2026-06-01-preview/iotdps.json | 6 ------ 2 files changed, 11 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index 8a0761bb547a..a7d3a6e1e868 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -1049,11 +1049,6 @@ union LinkingState { */ Succeeded: "Succeeded", - /** - * The linking process failed. - */ - Failed: "Failed", - /** * The linked Device Registry namespace no longer exists. */ diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 6759c591fb79..7ea9125534bd 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -2327,7 +2327,6 @@ "NotLinked", "InProgress", "Succeeded", - "Failed", "Orphaned" ], "x-ms-enum": { @@ -2349,11 +2348,6 @@ "value": "Succeeded", "description": "The linking process succeeded." }, - { - "name": "Failed", - "value": "Failed", - "description": "The linking process failed." - }, { "name": "Orphaned", "value": "Orphaned", From 1eab7ebd43db494a24166f9ae70f747f1cf08eb7 Mon Sep 17 00:00:00 2001 From: Molly Iverson Date: Mon, 22 Jun 2026 16:12:27 -0700 Subject: [PATCH 32/32] Revert linkingProperties wrapper; use flat linkingState Reverts commit 7e4f4f8545 (Wrap linkingState in linkingProperties). Restores the flat linkingState property on DeviceRegistryNamespaceDescription and removes the LinkingProperties and LinkingError models. Updates source examples and regenerates the swagger and copied examples via tsp compile. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../examples/2026-06-01-preview/DPSGet.json | 4 +- .../DPSGet_UserAssignedNamespaceIdentity.json | 4 +- .../DeviceProvisioningServices/models.tsp | 43 +--------------- .../2026-06-01-preview/examples/DPSGet.json | 4 +- .../DPSGet_UserAssignedNamespaceIdentity.json | 4 +- .../preview/2026-06-01-preview/iotdps.json | 49 ++----------------- 6 files changed, 9 insertions(+), 99 deletions(-) diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json index 684ec3199ba6..653d61073a38 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet.json @@ -40,9 +40,7 @@ "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", "dataAddress": "eastus.api.deviceregistry.com", "location": "eastus", - "linkingProperties": { - "state": "Succeeded" - } + "linkingState": "Succeeded" } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json index 5d65812eafd1..7d5894378e20 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/examples/2026-06-01-preview/DPSGet_UserAssignedNamespaceIdentity.json @@ -41,9 +41,7 @@ "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", "dataAddress": "eastus.api.deviceregistry.com", "location": "eastus", - "linkingProperties": { - "state": "Succeeded" - } + "linkingState": "Succeeded" } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp index a7d3a6e1e868..bbc28b0b92e1 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/models.tsp @@ -616,11 +616,10 @@ model DeviceRegistryNamespaceDescription { location?: Azure.Core.azureLocation; /** - * Properties related to linking this provisioning service with the Azure Device Registry namespace. + * The linking state of this namespace. */ @added(Versions.v2026_06_01_preview) - @visibility(Lifecycle.Read) - linkingProperties?: LinkingProperties; + linkingState?: LinkingState; } /** @@ -989,44 +988,6 @@ model CertificateBodyDescription { isVerified?: boolean; } -/** - * The last error encountered when linking the provisioning service with an Azure Device Registry. - * Mirrors the shape used by the IoT Hub Device Registry linking error model. - */ -@added(Versions.v2026_06_01_preview) -model LinkingError { - /** The error code. */ - @visibility(Lifecycle.Read) - code?: string; - - /** The HTTP status code. */ - @visibility(Lifecycle.Read) - httpStatusCode?: string; - - /** The error message. */ - @visibility(Lifecycle.Read) - message?: string; - - /** The error details. */ - @visibility(Lifecycle.Read) - details?: string; -} - -/** - * Properties related to linking the provisioning service with an Azure Device Registry namespace. - * Read-only; populated by the service as the linking lifecycle progresses. - */ -@added(Versions.v2026_06_01_preview) -model LinkingProperties { - /** Indicates whether the provisioning service is linked with an Azure Device Registry. */ - @visibility(Lifecycle.Read) - state?: LinkingState; - - /** The last error encountered when linking with the Azure Device Registry. */ - @visibility(Lifecycle.Read) - error?: LinkingError; -} - /** * The state of ADR linking for a provisioning service. */ diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json index 684ec3199ba6..653d61073a38 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet.json @@ -40,9 +40,7 @@ "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", "dataAddress": "eastus.api.deviceregistry.com", "location": "eastus", - "linkingProperties": { - "state": "Succeeded" - } + "linkingState": "Succeeded" } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json index 5d65812eafd1..7d5894378e20 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/examples/DPSGet_UserAssignedNamespaceIdentity.json @@ -41,9 +41,7 @@ "namespaceUuid": "1c0f6ad0-9b13-4f0f-9b98-7a3a64a8c5e1", "dataAddress": "eastus.api.deviceregistry.com", "location": "eastus", - "linkingProperties": { - "state": "Succeeded" - } + "linkingState": "Succeeded" } ] }, diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json index 7ea9125534bd..093e8fd975c9 100644 --- a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json +++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/DeviceProvisioningServices/preview/2026-06-01-preview/iotdps.json @@ -1889,10 +1889,9 @@ "$ref": "#/definitions/Azure.Core.azureLocation", "description": "Azure location of the linked Device Registry namespace." }, - "linkingProperties": { - "$ref": "#/definitions/LinkingProperties", - "description": "Properties related to linking this provisioning service with the Azure Device Registry namespace.", - "readOnly": true + "linkingState": { + "$ref": "#/definitions/LinkingState", + "description": "The linking state of this namespace." } }, "required": [ @@ -2278,48 +2277,6 @@ "modelAsString": false } }, - "LinkingError": { - "type": "object", - "description": "The last error encountered when linking the provisioning service with an Azure Device Registry.\nMirrors the shape used by the IoT Hub Device Registry linking error model.", - "properties": { - "code": { - "type": "string", - "description": "The error code.", - "readOnly": true - }, - "httpStatusCode": { - "type": "string", - "description": "The HTTP status code.", - "readOnly": true - }, - "message": { - "type": "string", - "description": "The error message.", - "readOnly": true - }, - "details": { - "type": "string", - "description": "The error details.", - "readOnly": true - } - } - }, - "LinkingProperties": { - "type": "object", - "description": "Properties related to linking the provisioning service with an Azure Device Registry namespace.\nRead-only; populated by the service as the linking lifecycle progresses.", - "properties": { - "state": { - "$ref": "#/definitions/LinkingState", - "description": "Indicates whether the provisioning service is linked with an Azure Device Registry.", - "readOnly": true - }, - "error": { - "$ref": "#/definitions/LinkingError", - "description": "The last error encountered when linking with the Azure Device Registry.", - "readOnly": true - } - } - }, "LinkingState": { "type": "string", "description": "The state of ADR linking for a provisioning service.",