/* * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ import { PagedAsyncIterableIterator, PageSettings } from "@azure/core-paging"; import { setContinuationToken } from "../pagingHelper"; import { NotificationHubs } from "../operationsInterfaces"; import * as coreClient from "@azure/core-client"; import * as Mappers from "../models/mappers"; import * as Parameters from "../models/parameters"; import { NotificationHubsManagementClient } from "../notificationHubsManagementClient"; import { NotificationHubResource, NotificationHubsListNextOptionalParams, NotificationHubsListOptionalParams, NotificationHubsListResponse, SharedAccessAuthorizationRuleResource, NotificationHubsListAuthorizationRulesNextOptionalParams, NotificationHubsListAuthorizationRulesOptionalParams, NotificationHubsListAuthorizationRulesResponse, CheckAvailabilityParameters, NotificationHubsCheckNotificationHubAvailabilityOptionalParams, NotificationHubsCheckNotificationHubAvailabilityResponse, NotificationHubCreateOrUpdateParameters, NotificationHubsCreateOrUpdateOptionalParams, NotificationHubsCreateOrUpdateResponse, NotificationHubsPatchOptionalParams, NotificationHubsPatchResponse, NotificationHubsDeleteOptionalParams, NotificationHubsGetOptionalParams, NotificationHubsGetResponse, NotificationHubsDebugSendOptionalParams, NotificationHubsDebugSendResponse, SharedAccessAuthorizationRuleCreateOrUpdateParameters, NotificationHubsCreateOrUpdateAuthorizationRuleOptionalParams, NotificationHubsCreateOrUpdateAuthorizationRuleResponse, NotificationHubsDeleteAuthorizationRuleOptionalParams, NotificationHubsGetAuthorizationRuleOptionalParams, NotificationHubsGetAuthorizationRuleResponse, NotificationHubsListKeysOptionalParams, NotificationHubsListKeysResponse, PolicykeyResource, NotificationHubsRegenerateKeysOptionalParams, NotificationHubsRegenerateKeysResponse, NotificationHubsGetPnsCredentialsOptionalParams, NotificationHubsGetPnsCredentialsResponse, NotificationHubsListNextResponse, NotificationHubsListAuthorizationRulesNextResponse } from "../models"; /// /** Class containing NotificationHubs operations. */ export class NotificationHubsImpl implements NotificationHubs { private readonly client: NotificationHubsManagementClient; /** * Initialize a new instance of the class NotificationHubs class. * @param client Reference to the service client */ constructor(client: NotificationHubsManagementClient) { this.client = client; } /** * Lists the notification hubs associated with a namespace. * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param options The options parameters. */ public list( resourceGroupName: string, namespaceName: string, options?: NotificationHubsListOptionalParams ): PagedAsyncIterableIterator { const iter = this.listPagingAll(resourceGroupName, namespaceName, options); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings?: PageSettings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listPagingPage( resourceGroupName, namespaceName, options, settings ); } }; } private async *listPagingPage( resourceGroupName: string, namespaceName: string, options?: NotificationHubsListOptionalParams, settings?: PageSettings ): AsyncIterableIterator { let result: NotificationHubsListResponse; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._list(resourceGroupName, namespaceName, options); let page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listNext( resourceGroupName, namespaceName, continuationToken, options ); continuationToken = result.nextLink; let page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } private async *listPagingAll( resourceGroupName: string, namespaceName: string, options?: NotificationHubsListOptionalParams ): AsyncIterableIterator { for await (const page of this.listPagingPage( resourceGroupName, namespaceName, options )) { yield* page; } } /** * Gets the authorization rules for a NotificationHub. * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name * @param notificationHubName The notification hub name. * @param options The options parameters. */ public listAuthorizationRules( resourceGroupName: string, namespaceName: string, notificationHubName: string, options?: NotificationHubsListAuthorizationRulesOptionalParams ): PagedAsyncIterableIterator { const iter = this.listAuthorizationRulesPagingAll( resourceGroupName, namespaceName, notificationHubName, options ); return { next() { return iter.next(); }, [Symbol.asyncIterator]() { return this; }, byPage: (settings?: PageSettings) => { if (settings?.maxPageSize) { throw new Error("maxPageSize is not supported by this operation."); } return this.listAuthorizationRulesPagingPage( resourceGroupName, namespaceName, notificationHubName, options, settings ); } }; } private async *listAuthorizationRulesPagingPage( resourceGroupName: string, namespaceName: string, notificationHubName: string, options?: NotificationHubsListAuthorizationRulesOptionalParams, settings?: PageSettings ): AsyncIterableIterator { let result: NotificationHubsListAuthorizationRulesResponse; let continuationToken = settings?.continuationToken; if (!continuationToken) { result = await this._listAuthorizationRules( resourceGroupName, namespaceName, notificationHubName, options ); let page = result.value || []; continuationToken = result.nextLink; setContinuationToken(page, continuationToken); yield page; } while (continuationToken) { result = await this._listAuthorizationRulesNext( resourceGroupName, namespaceName, notificationHubName, continuationToken, options ); continuationToken = result.nextLink; let page = result.value || []; setContinuationToken(page, continuationToken); yield page; } } private async *listAuthorizationRulesPagingAll( resourceGroupName: string, namespaceName: string, notificationHubName: string, options?: NotificationHubsListAuthorizationRulesOptionalParams ): AsyncIterableIterator { for await (const page of this.listAuthorizationRulesPagingPage( resourceGroupName, namespaceName, notificationHubName, options )) { yield* page; } } /** * Checks the availability of the given notificationHub in a namespace. * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param parameters The notificationHub name. * @param options The options parameters. */ checkNotificationHubAvailability( resourceGroupName: string, namespaceName: string, parameters: CheckAvailabilityParameters, options?: NotificationHubsCheckNotificationHubAvailabilityOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, parameters, options }, checkNotificationHubAvailabilityOperationSpec ); } /** * Creates/Update a NotificationHub in a namespace. * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param notificationHubName The notification hub name. * @param parameters Parameters supplied to the create/update a NotificationHub Resource. * @param options The options parameters. */ createOrUpdate( resourceGroupName: string, namespaceName: string, notificationHubName: string, parameters: NotificationHubCreateOrUpdateParameters, options?: NotificationHubsCreateOrUpdateOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, parameters, options }, createOrUpdateOperationSpec ); } /** * Patch a NotificationHub in a namespace. * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param notificationHubName The notification hub name. * @param options The options parameters. */ patch( resourceGroupName: string, namespaceName: string, notificationHubName: string, options?: NotificationHubsPatchOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, options }, patchOperationSpec ); } /** * Deletes a notification hub associated with a namespace. * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param notificationHubName The notification hub name. * @param options The options parameters. */ delete( resourceGroupName: string, namespaceName: string, notificationHubName: string, options?: NotificationHubsDeleteOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, options }, deleteOperationSpec ); } /** * Lists the notification hubs associated with a namespace. * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param notificationHubName The notification hub name. * @param options The options parameters. */ get( resourceGroupName: string, namespaceName: string, notificationHubName: string, options?: NotificationHubsGetOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, options }, getOperationSpec ); } /** * test send a push notification * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param notificationHubName The notification hub name. * @param options The options parameters. */ debugSend( resourceGroupName: string, namespaceName: string, notificationHubName: string, options?: NotificationHubsDebugSendOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, options }, debugSendOperationSpec ); } /** * Creates/Updates an authorization rule for a NotificationHub * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param notificationHubName The notification hub name. * @param authorizationRuleName Authorization Rule Name. * @param parameters The shared access authorization rule. * @param options The options parameters. */ createOrUpdateAuthorizationRule( resourceGroupName: string, namespaceName: string, notificationHubName: string, authorizationRuleName: string, parameters: SharedAccessAuthorizationRuleCreateOrUpdateParameters, options?: NotificationHubsCreateOrUpdateAuthorizationRuleOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, parameters, options }, createOrUpdateAuthorizationRuleOperationSpec ); } /** * Deletes a notificationHub authorization rule * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param notificationHubName The notification hub name. * @param authorizationRuleName Authorization Rule Name. * @param options The options parameters. */ deleteAuthorizationRule( resourceGroupName: string, namespaceName: string, notificationHubName: string, authorizationRuleName: string, options?: NotificationHubsDeleteAuthorizationRuleOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, options }, deleteAuthorizationRuleOperationSpec ); } /** * Gets an authorization rule for a NotificationHub by name. * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name * @param notificationHubName The notification hub name. * @param authorizationRuleName authorization rule name. * @param options The options parameters. */ getAuthorizationRule( resourceGroupName: string, namespaceName: string, notificationHubName: string, authorizationRuleName: string, options?: NotificationHubsGetAuthorizationRuleOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, options }, getAuthorizationRuleOperationSpec ); } /** * Lists the notification hubs associated with a namespace. * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param options The options parameters. */ private _list( resourceGroupName: string, namespaceName: string, options?: NotificationHubsListOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, options }, listOperationSpec ); } /** * Gets the authorization rules for a NotificationHub. * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name * @param notificationHubName The notification hub name. * @param options The options parameters. */ private _listAuthorizationRules( resourceGroupName: string, namespaceName: string, notificationHubName: string, options?: NotificationHubsListAuthorizationRulesOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, options }, listAuthorizationRulesOperationSpec ); } /** * Gets the Primary and Secondary ConnectionStrings to the NotificationHub * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param notificationHubName The notification hub name. * @param authorizationRuleName The connection string of the NotificationHub for the specified * authorizationRule. * @param options The options parameters. */ listKeys( resourceGroupName: string, namespaceName: string, notificationHubName: string, authorizationRuleName: string, options?: NotificationHubsListKeysOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, options }, listKeysOperationSpec ); } /** * Regenerates the Primary/Secondary Keys to the NotificationHub Authorization Rule * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param notificationHubName The notification hub name. * @param authorizationRuleName The connection string of the NotificationHub for the specified * authorizationRule. * @param parameters Parameters supplied to regenerate the NotificationHub Authorization Rule Key. * @param options The options parameters. */ regenerateKeys( resourceGroupName: string, namespaceName: string, notificationHubName: string, authorizationRuleName: string, parameters: PolicykeyResource, options?: NotificationHubsRegenerateKeysOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, authorizationRuleName, parameters, options }, regenerateKeysOperationSpec ); } /** * Lists the PNS Credentials associated with a notification hub . * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param notificationHubName The notification hub name. * @param options The options parameters. */ getPnsCredentials( resourceGroupName: string, namespaceName: string, notificationHubName: string, options?: NotificationHubsGetPnsCredentialsOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, options }, getPnsCredentialsOperationSpec ); } /** * ListNext * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name. * @param nextLink The nextLink from the previous successful call to the List method. * @param options The options parameters. */ private _listNext( resourceGroupName: string, namespaceName: string, nextLink: string, options?: NotificationHubsListNextOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, nextLink, options }, listNextOperationSpec ); } /** * ListAuthorizationRulesNext * @param resourceGroupName The name of the resource group. * @param namespaceName The namespace name * @param notificationHubName The notification hub name. * @param nextLink The nextLink from the previous successful call to the ListAuthorizationRules method. * @param options The options parameters. */ private _listAuthorizationRulesNext( resourceGroupName: string, namespaceName: string, notificationHubName: string, nextLink: string, options?: NotificationHubsListAuthorizationRulesNextOptionalParams ): Promise { return this.client.sendOperationRequest( { resourceGroupName, namespaceName, notificationHubName, nextLink, options }, listAuthorizationRulesNextOperationSpec ); } } // Operation Specifications const serializer = coreClient.createSerializer(Mappers, /* isXml */ false); const checkNotificationHubAvailabilityOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability", httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.CheckAvailabilityResult } }, requestBody: Parameters.parameters, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", serializer }; const createOrUpdateOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}", httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.NotificationHubResource }, 201: { bodyMapper: Mappers.NotificationHubResource } }, requestBody: Parameters.parameters5, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.notificationHubName ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", serializer }; const patchOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}", httpMethod: "PATCH", responses: { 200: { bodyMapper: Mappers.NotificationHubResource } }, requestBody: Parameters.parameters6, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.notificationHubName ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", serializer }; const deleteOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}", httpMethod: "DELETE", responses: { 200: {} }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.notificationHubName ], serializer }; const getOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}", httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NotificationHubResource } }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.notificationHubName ], headerParameters: [Parameters.accept], serializer }; const debugSendOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/debugsend", httpMethod: "POST", responses: { 201: { bodyMapper: Mappers.DebugSendResponse } }, requestBody: Parameters.parameters7, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.notificationHubName ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", serializer }; const createOrUpdateAuthorizationRuleOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}", httpMethod: "PUT", responses: { 200: { bodyMapper: Mappers.SharedAccessAuthorizationRuleResource } }, requestBody: Parameters.parameters3, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.authorizationRuleName, Parameters.notificationHubName ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", serializer }; const deleteAuthorizationRuleOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}", httpMethod: "DELETE", responses: { 200: {}, 204: {} }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.authorizationRuleName, Parameters.notificationHubName ], serializer }; const getAuthorizationRuleOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}", httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SharedAccessAuthorizationRuleResource } }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.authorizationRuleName, Parameters.notificationHubName ], headerParameters: [Parameters.accept], serializer }; const listOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs", httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NotificationHubListResult } }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName ], headerParameters: [Parameters.accept], serializer }; const listAuthorizationRulesOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules", httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SharedAccessAuthorizationRuleListResult } }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.notificationHubName ], headerParameters: [Parameters.accept], serializer }; const listKeysOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys", httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ResourceListKeys } }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.authorizationRuleName, Parameters.notificationHubName ], headerParameters: [Parameters.accept], serializer }; const regenerateKeysOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/regenerateKeys", httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.ResourceListKeys } }, requestBody: Parameters.parameters4, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.authorizationRuleName, Parameters.notificationHubName ], headerParameters: [Parameters.accept, Parameters.contentType], mediaType: "json", serializer }; const getPnsCredentialsOperationSpec: coreClient.OperationSpec = { path: "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials", httpMethod: "POST", responses: { 200: { bodyMapper: Mappers.PnsCredentialsResource } }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.notificationHubName ], headerParameters: [Parameters.accept], serializer }; const listNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.NotificationHubListResult } }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.nextLink, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName ], headerParameters: [Parameters.accept], serializer }; const listAuthorizationRulesNextOperationSpec: coreClient.OperationSpec = { path: "{nextLink}", httpMethod: "GET", responses: { 200: { bodyMapper: Mappers.SharedAccessAuthorizationRuleListResult } }, queryParameters: [Parameters.apiVersion], urlParameters: [ Parameters.$host, Parameters.nextLink, Parameters.subscriptionId, Parameters.resourceGroupName, Parameters.namespaceName, Parameters.notificationHubName ], headerParameters: [Parameters.accept], serializer };