@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api DeviceServices
@base https://management.azure.com
@version 2019-06-01
@auth OAuth2
@common_fields {api-version: any # The version of the API.}
@endpoints 8
@toc providers(1), subscriptions(7)

@group providers
@endpoint GET /providers/Microsoft.WindowsIoT/operations
@desc Lists all of the available Windows IoT Services REST API operations.
@returns(200) OK. The request has succeeded.

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.WindowsIoT/deviceServices/{deviceName}
@desc Get the non-security related metadata of a Windows IoT Device Service.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the Windows IoT Device Service., deviceName: any # The name of the Windows IoT Device Service.}
@returns(200) OK. The request has succeeded.

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.WindowsIoT/deviceServices/{deviceName}
@desc Create or update the metadata of a Windows IoT Device Service.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the Windows IoT Device Service., deviceName: any # The name of the Windows IoT Device Service., deviceService: map # The Windows IoT Device Service metadata and security metadata.}
@optional {If-Match: any # ETag of the Windows IoT Device Service. Do not specify for creating a new Windows IoT Device Service. Required to update an existing Windows IoT Device Service.}
@returns(200) OK. The request has succeeded.
@returns(201) OK. The request has succeeded.

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.WindowsIoT/deviceServices/{deviceName}
@desc Updates the metadata of a Windows IoT Device Service.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the Windows IoT Device Service., deviceName: any # The name of the Windows IoT Device Service., deviceService: map # The Windows IoT Device Service metadata and security metadata.}
@optional {If-Match: any # ETag of the Windows IoT Device Service. Do not specify for creating a brand new Windows IoT Device Service. Required to update an existing Windows IoT Device Service.}
@returns(200) OK. The request has succeeded.

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.WindowsIoT/deviceServices/{deviceName}
@desc Delete a Windows IoT Device Service.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the Windows IoT Device Service., deviceName: any # The name of the Windows IoT Device Service.}
@returns(200) OK. The request has succeeded.
@returns(204) OK. The request has succeeded with no content to return.

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.WindowsIoT/deviceServices
@desc Get all the IoT hubs in a resource group.
@required {subscriptionId: any # The subscription identifier., resourceGroupName: any # The name of the resource group that contains the Windows IoT Device Service.}
@returns(200) OK. The request has succeeded.

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.WindowsIoT/deviceServices
@desc Get all the IoT hubs in a subscription.
@required {subscriptionId: any # The subscription identifier.}
@returns(200) OK. The request has succeeded.

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.WindowsIoT/checkDeviceServiceNameAvailability
@desc Check if a Windows IoT Device Service name is available.
@required {subscriptionId: any # The subscription identifier., deviceServiceCheckNameAvailabilityParameters: map # Set the name parameter in the DeviceServiceCheckNameAvailabilityParameters structure to the name of the Windows IoT Device Service to check.}
@returns(200) OK. The request has succeeded.

@endgroup

@end
