@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api NotificationHubsManagementClient
@base https://management.azure.com
@version 2017-04-01
@auth OAuth2
@common_fields {api-version: any # Client Api Version., subscriptionId: any # Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.}
@endpoints 28
@hint download_for_search
@toc providers(1), subscriptions(27)

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

@endgroup

@group subscriptions
@endpoint POST /subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability
@desc Checks the availability of the given service namespace across all Azure subscriptions. This is useful because the domain name is created based on the service namespace name.
@required {parameters: any # The namespace name.}
@returns(200) Checks if the Namespace name is a valid available name

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}
@desc Creates/Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., parameters: any # Parameters supplied to create a Namespace Resource.}
@returns(200) Namespace is Create/Update
@returns(201) Namespace is Create/Update

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}
@desc Patches the existing namespace
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., parameters: any # Parameters supplied to patch a Namespace Resource.}
@returns(200) Namespace is Updated

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}
@desc Deletes an existing namespace. This operation also removes all associated notificationHubs under the namespace.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name.}
@returns(200) Namespace is deleted
@returns(202) Namespace delete request has been accepted
@returns(204) Namespace is already Deleted

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}
@desc Returns the description for the specified namespace.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name.}
@returns(200) Get Namespace

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}
@desc Creates an authorization rule for a namespace
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., authorizationRuleName: any # Authorization Rule Name., parameters: any # The shared access authorization rule.}
@returns(200) Namespace Authorization Rule is Created/Updated

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}
@desc Deletes a namespace authorization rule
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., authorizationRuleName: any # Authorization Rule Name.}
@returns(200) Namespace AuthorizationRule is deleted
@returns(204) Namespace AuthorizationRule is already deleted

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}
@desc Gets an authorization rule for a namespace by name.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name, authorizationRuleName: any # Authorization rule name.}
@returns(200) Get the Namespace AuthorizationRule

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces
@desc Lists the available namespaces within a resourceGroup.
@required {resourceGroupName: any # The name of the resource group. If resourceGroupName value is null the method lists all the namespaces within subscription}
@returns(200) Lists all Namespaces with the ResourceGroup

@endpoint GET /subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces
@desc Lists all the available namespaces within the subscription irrespective of the resourceGroups.
@returns(200) Gets all the Namespaces within the subscription irrespective of the ResourceGroup

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules
@desc Gets the authorization rules for a namespace.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name}
@returns(200) Get the List of AuthorizationRules of a Namespace

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys
@desc Gets the Primary and Secondary ConnectionStrings to the namespace
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., authorizationRuleName: any # The connection string of the namespace for the specified authorizationRule.}
@returns(200) Gets the Namespace AuthorizationRule's Primary keys and Secondary keys along with the ConnectionStrings

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys
@desc Regenerates the Primary/Secondary Keys to the Namespace Authorization Rule
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., authorizationRuleName: any # The connection string of the namespace for the specified authorizationRule., parameters: any # Parameters supplied to regenerate the Namespace Authorization Rule Key.}
@returns(200) Regenerate the Primary/Secondary Key and returns the Keys and the connection string

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability
@desc Checks the availability of the given notificationHub in a namespace.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., parameters: any # The notificationHub name.}
@returns(200) Checks if the NotificationHub name is a valid available name

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}
@desc Creates/Update a NotificationHub in a namespace.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., notificationHubName: any # The notification hub name., parameters: any # Parameters supplied to the create/update a NotificationHub Resource.}
@returns(200) NotificationHub is Created/Updated
@returns(201) NotificationHub is Created/Updated

@endpoint PATCH /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}
@desc Patch a NotificationHub in a namespace.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., notificationHubName: any # The notification hub name.}
@optional {parameters: any # Parameters supplied to patch a NotificationHub Resource.}
@returns(200) NotificationHub is patched

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}
@desc Deletes a notification hub associated with a namespace.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., notificationHubName: any # The notification hub name.}
@returns(200) Namespace is deleted

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}
@desc Lists the notification hubs associated with a namespace.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., notificationHubName: any # The notification hub name.}
@returns(200) Get the NotificationHub

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/debugsend
@desc test send a push notification
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., notificationHubName: any # The notification hub name.}
@optional {parameters: map # Debug send parameters}
@returns(201) push send status

@endpoint PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}
@desc Creates/Updates an authorization rule for a NotificationHub
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., notificationHubName: any # The notification hub name., authorizationRuleName: any # Authorization Rule Name., parameters: any # The shared access authorization rule.}
@returns(200) NotificationHub AuthorizationRule is Created/Updated

@endpoint DELETE /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}
@desc Deletes a notificationHub authorization rule
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., notificationHubName: any # The notification hub name., authorizationRuleName: any # Authorization Rule Name.}
@returns(200) NotificationHub AuthorizationRule is deleted
@returns(204) NotificationHub AuthorizationRule is already deleted

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}
@desc Gets an authorization rule for a NotificationHub by name.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name, notificationHubName: any # The notification hub name., authorizationRuleName: any # authorization rule name.}
@returns(200) Get NotificationHub AuthorizationRule

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs
@desc Lists the notification hubs associated with a namespace.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name.}
@returns(200) Get all NotificationHubs within a Namespace

@endpoint GET /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules
@desc Gets the authorization rules for a NotificationHub.
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name, notificationHubName: any # The notification hub name.}
@returns(200) Get all NotificationHub AuthorizationRules

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys
@desc Gets the Primary and Secondary ConnectionStrings to the NotificationHub
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., notificationHubName: any # The notification hub name., authorizationRuleName: any # The connection string of the NotificationHub for the specified authorizationRule.}
@returns(200) Gets the Namespace AuthorizationRule's Primary keys and Secondary keys along with the ConnectionStrings

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys
@desc Regenerates the Primary/Secondary Keys to the NotificationHub Authorization Rule
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., notificationHubName: any # The notification hub name., authorizationRuleName: any # The connection string of the NotificationHub for the specified authorizationRule., parameters: any # Parameters supplied to regenerate the NotificationHub Authorization Rule Key.}
@returns(200) Regenerate the Primary/Secondary Key and returns the Keys and the connection string

@endpoint POST /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials
@desc Lists the PNS Credentials associated with a notification hub .
@required {resourceGroupName: any # The name of the resource group., namespaceName: any # The namespace name., notificationHubName: any # The notification hub name.}
@returns(200) Gets all the NotificationHub PNS credentials

@endgroup

@end
