@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api iotHubClient
@base https://management.azure.com
@version 2019-07-01-preview
@auth OAuth2
@common_fields {api-version: any, subscriptionId: any}
@endpoints 32
@hint download_for_search
@toc providers(1), subscriptions(31)

@group providers
@endpoint GET /providers/Microsoft.Devices/operations
@returns(200)

@endgroup

@group subscriptions
@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}
@required {resourceGroupName: any, resourceName: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}
@required {resourceGroupName: any, resourceName: any, iotHubDescription: map}
@optional {If-Match: any}
@returns(200)
@returns(201)

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}
@required {resourceGroupName: any, resourceName: any, IotHubTags: any}
@returns(200)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}
@required {resourceGroupName: any, resourceName: any}
@returns(200)
@returns(202)
@returns(204)
@errors {404}

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Devices/IotHubs
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs
@required {resourceGroupName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubStats
@required {resourceGroupName: any, resourceName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/skus
@required {resourceGroupName: any, resourceName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups
@required {resourceGroupName: any, resourceName: any, eventHubEndpointName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}
@required {resourceGroupName: any, resourceName: any, eventHubEndpointName: any, name: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}
@required {resourceGroupName: any, resourceName: any, eventHubEndpointName: any, name: any}
@returns(200)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/eventHubEndpoints/{eventHubEndpointName}/ConsumerGroups/{name}
@required {resourceGroupName: any, resourceName: any, eventHubEndpointName: any, name: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs
@required {resourceGroupName: any, resourceName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/jobs/{jobId}
@required {resourceGroupName: any, resourceName: any, jobId: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/quotaMetrics
@required {resourceGroupName: any, resourceName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routingEndpointsHealth
@required {resourceGroupName: any, iotHubName: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkNameAvailability
@required {operationInputs: map}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.Devices/usages
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testall
@required {input: map, iotHubName: any, resourceGroupName: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/routing/routes/$testnew
@required {input: map, iotHubName: any, resourceGroupName: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/listkeys
@required {resourceGroupName: any, resourceName: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/IotHubKeys/{keyName}/listkeys
@required {resourceGroupName: any, resourceName: any, keyName: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/exportDevices
@required {resourceGroupName: any, resourceName: any, exportDevicesParameters: map}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/importDevices
@required {resourceGroupName: any, resourceName: any, importDevicesParameters: map}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates
@required {resourceGroupName: any, resourceName: any}
@returns(200)

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}
@required {resourceGroupName: any, resourceName: any, certificateName: any}
@returns(200)

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}
@required {resourceGroupName: any, resourceName: any, certificateName: any, certificateDescription: map}
@optional {If-Match: any}
@returns(200)
@returns(201)

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}
@required {resourceGroupName: any, resourceName: any, certificateName: any, If-Match: any}
@returns(200)
@returns(204)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/generateVerificationCode
@required {resourceGroupName: any, resourceName: any, certificateName: any, If-Match: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{resourceName}/certificates/{certificateName}/verify
@required {resourceGroupName: any, resourceName: any, certificateName: any, certificateVerificationBody: map, If-Match: any}
@returns(200)

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/IotHubs/{iotHubName}/failover
@required {iotHubName: any, failoverInput: map, resourceGroupName: any}
@returns(200)
@returns(202)

@endgroup

@end
