swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Azure NotificationHub client
  title: NotificationHubsManagementClient
  version: 2014-09-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/notificationhubs/resource-manager/Microsoft.NotificationHubs/stable/2014-09-01/notificationhubs.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: notificationhubs
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
  - text/json
produces:
  - application/json
  - text/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  ApiVersionParameter:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    description: Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/checkNamespaceAvailability":
    post:
      description: Checks the availability of the given service namespace across all Windows Azure subscriptions. This is useful because the domain name is created based on the service namespace name.
      externalDocs:
        url: http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx
      operationId: Namespaces_CheckAvailability
      parameters:
        - description: The namespace name.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CheckAvailabilityParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/CheckAvailabilityResource"
      tags:
        - Namespaces
  "/subscriptions/{subscriptionId}/providers/Microsoft.NotificationHubs/namespaces":
    get:
      description: Lists all the available namespaces within the subscription irrespective of the resourceGroups.
      externalDocs:
        url: http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx
      operationId: Namespaces_ListAll
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/NamespaceListResult"
      tags:
        - Namespaces
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces":
    get:
      description: Lists the available namespaces within a resourceGroup.
      externalDocs:
        url: http://msdn.microsoft.com/en-us/library/azure/hh780759.aspx
      operationId: Namespaces_List
      parameters:
        - description: The name of the resource group. If resourceGroupName value is null the method lists all the namespaces within subscription
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/NamespaceListResult"
      tags:
        - Namespaces
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}":
    delete:
      description: Deletes an existing namespace. This operation also removes all associated notificationHubs under the namespace.
      externalDocs:
        url: http://msdn.microsoft.com/en-us/library/windowsazure/jj856296.aspx
      operationId: Namespaces_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
        "202":
          description: ""
        "204":
          description: ""
      tags:
        - Namespaces
      x-ms-long-running-operation: true
    get:
      description: Returns the description for the specified namespace.
      externalDocs:
        url: http://msdn.microsoft.com/library/azure/dn140232.aspx
      operationId: Namespaces_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/NamespaceResource"
      tags:
        - Namespaces
    put:
      description: Creates/Updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.
      externalDocs:
        url: http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
      operationId: Namespaces_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: Parameters supplied to create a Namespace Resource.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/NamespaceCreateOrUpdateParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/NamespaceResource"
        "201":
          description: ""
          schema:
            $ref: "#/definitions/NamespaceResource"
      tags:
        - Namespaces
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules":
    post:
      description: Gets the authorization rules for a namespace.
      operationId: Namespaces_ListAuthorizationRules
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name
          in: path
          name: namespaceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/SharedAccessAuthorizationRuleListResult"
      tags:
        - Namespaces
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}":
    delete:
      description: Deletes a namespace authorization rule
      operationId: Namespaces_DeleteAuthorizationRule
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: Authorization Rule Name.
          in: path
          name: authorizationRuleName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
        "204":
          description: ""
      tags:
        - Namespaces
    post:
      description: Gets an authorization rule for a namespace by name.
      operationId: Namespaces_GetAuthorizationRule
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name
          in: path
          name: namespaceName
          required: true
          type: string
        - description: Authorization rule name.
          in: path
          name: authorizationRuleName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/SharedAccessAuthorizationRuleResource"
      tags:
        - Namespaces
    put:
      description: Creates an authorization rule for a namespace
      operationId: Namespaces_CreateOrUpdateAuthorizationRule
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: Authorization Rule Name.
          in: path
          name: authorizationRuleName
          required: true
          type: string
        - description: The shared access authorization rule.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/SharedAccessAuthorizationRuleCreateOrUpdateParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/SharedAccessAuthorizationRuleResource"
      tags:
        - Namespaces
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}/listKeys":
    post:
      description: "Gets the Primary and Secondary ConnectionStrings to the namespace "
      externalDocs:
        url: http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
      operationId: Namespaces_ListKeys
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The connection string of the namespace for the specified authorizationRule.
          in: path
          name: authorizationRuleName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/ResourceListKeys"
      tags:
        - Namespaces
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/checkNotificationHubAvailability":
    post:
      description: Checks the availability of the given notificationHub in a namespace.
      externalDocs:
        url: http://msdn.microsoft.com/en-us/library/windowsazure/jj870968.aspx
      operationId: NotificationHubs_CheckAvailability
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The notificationHub name.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CheckAvailabilityParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/CheckAvailabilityResource"
      tags:
        - NotificationHubs
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs":
    get:
      description: Lists the notification hubs associated with a namespace.
      operationId: NotificationHubs_List
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/NotificationHubListResult"
      tags:
        - NotificationHubs
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}":
    delete:
      description: Deletes a notification hub associated with a namespace.
      operationId: NotificationHubs_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The notification hub name.
          in: path
          name: notificationHubName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
      tags:
        - NotificationHubs
    get:
      description: Lists the notification hubs associated with a namespace.
      operationId: NotificationHubs_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The notification hub name.
          in: path
          name: notificationHubName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/NotificationHubResource"
      tags:
        - NotificationHubs
    put:
      description: Creates/Update a NotificationHub in a namespace.
      externalDocs:
        url: http://msdn.microsoft.com/en-us/library/windowsazure/jj856303.aspx
      operationId: NotificationHubs_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The notification hub name.
          in: path
          name: notificationHubName
          required: true
          type: string
        - description: Parameters supplied to the create/update a NotificationHub Resource.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/NotificationHubCreateOrUpdateParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/NotificationHubResource"
        "201":
          description: ""
          schema:
            $ref: "#/definitions/NotificationHubResource"
      tags:
        - NotificationHubs
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules":
    post:
      description: Gets the authorization rules for a NotificationHub.
      operationId: NotificationHubs_ListAuthorizationRules
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The notification hub name.
          in: path
          name: notificationHubName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/SharedAccessAuthorizationRuleListResult"
      tags:
        - NotificationHubs
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}":
    delete:
      description: Deletes a notificationHub authorization rule
      operationId: NotificationHubs_DeleteAuthorizationRule
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The notification hub name.
          in: path
          name: notificationHubName
          required: true
          type: string
        - description: Authorization Rule Name.
          in: path
          name: authorizationRuleName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
        "204":
          description: ""
      tags:
        - NotificationHubs
    post:
      description: Gets an authorization rule for a NotificationHub by name.
      operationId: NotificationHubs_GetAuthorizationRule
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The notification hub name.
          in: path
          name: notificationHubName
          required: true
          type: string
        - description: authorization rule name.
          in: path
          name: authorizationRuleName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/SharedAccessAuthorizationRuleResource"
      tags:
        - NotificationHubs
    put:
      description: Creates/Updates an authorization rule for a NotificationHub
      operationId: NotificationHubs_CreateOrUpdateAuthorizationRule
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The notification hub name.
          in: path
          name: notificationHubName
          required: true
          type: string
        - description: Authorization Rule Name.
          in: path
          name: authorizationRuleName
          required: true
          type: string
        - description: The shared access authorization rule.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/SharedAccessAuthorizationRuleCreateOrUpdateParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/SharedAccessAuthorizationRuleResource"
      tags:
        - NotificationHubs
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/AuthorizationRules/{authorizationRuleName}/listKeys":
    post:
      description: "Gets the Primary and Secondary ConnectionStrings to the NotificationHub "
      externalDocs:
        url: http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
      operationId: NotificationHubs_ListKeys
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The notification hub name.
          in: path
          name: notificationHubName
          required: true
          type: string
        - description: The connection string of the NotificationHub for the specified authorizationRule.
          in: path
          name: authorizationRuleName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/ResourceListKeys"
      tags:
        - NotificationHubs
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.NotificationHubs/namespaces/{namespaceName}/notificationHubs/{notificationHubName}/pnsCredentials":
    post:
      description: Lists the PNS Credentials associated with a notification hub .
      operationId: NotificationHubs_GetPnsCredentials
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The namespace name.
          in: path
          name: namespaceName
          required: true
          type: string
        - description: The notification hub name.
          in: path
          name: notificationHubName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/NotificationHubResource"
      tags:
        - NotificationHubs
  "/{operationStatusLink}":
    get:
      description: The Get Operation Status operation returns the status of the specified operation. After calling an asynchronous operation, you can call Get Operation Status to determine whether the operation has succeeded, failed, or is still in progress.
      operationId: Namespaces_GetLongRunningOperationStatus
      parameters:
        - description: Location value returned by the Begin operation.
          in: path
          name: operationStatusLink
          required: true
          type: string
          x-ms-skip-url-encoding: true
      responses:
        "200":
          description: ""
        "202":
          description: ""
        "404":
          description: ""
      tags:
        - Namespaces
definitions:
  AdmCredential:
    description: Description of a NotificationHub AdmCredential.
    properties:
      properties:
        $ref: "#/definitions/AdmCredentialProperties"
        description: Gets or sets properties of NotificationHub AdmCredential.
  AdmCredentialProperties:
    description: Description of a NotificationHub AdmCredential.
    properties:
      authTokenUrl:
        description: Gets or sets the URL of the authorization token.
        type: string
      clientId:
        description: Gets or sets the client identifier.
        type: string
      clientSecret:
        description: Gets or sets the credential secret access key.
        type: string
  ApnsCredential:
    description: Description of a NotificationHub ApnsCredential.
    properties:
      properties:
        $ref: "#/definitions/ApnsCredentialProperties"
        description: Gets or sets properties of NotificationHub ApnsCredential.
  ApnsCredentialProperties:
    description: Description of a NotificationHub ApnsCredential.
    properties:
      apnsCertificate:
        description: Gets or sets the APNS certificate.
        type: string
      certificateKey:
        description: Gets or sets the certificate key.
        type: string
      endpoint:
        description: Gets or sets the endpoint of this credential.
        type: string
      thumbprint:
        description: Gets or sets the Apns certificate Thumbprint
        type: string
  BaiduCredential:
    description: Description of a NotificationHub BaiduCredential.
    properties:
      properties:
        $ref: "#/definitions/BaiduCredentialProperties"
        description: Gets or sets properties of NotificationHub BaiduCredential.
  BaiduCredentialProperties:
    description: Description of a NotificationHub BaiduCredential.
    properties:
      baiduApiKey:
        description: Get or Set Baidu Api Key.
        type: string
      baiduEndPoint:
        description: Get or Set Baidu Endpoint.
        type: string
      baiduSecretKey:
        description: Get or Set Baidu Secret Key
        type: string
  CheckAvailabilityParameters:
    description: Parameters supplied to the Check Name Availability for Namespace and NotificationHubs.
    properties:
      isAvailiable:
        description: Gets or sets true if the name is available and can be used to create new Namespace/NotificationHub. Otherwise false.
        type: boolean
      location:
        description: Gets or sets location.
        type: string
      name:
        description: Gets or sets name
        type: string
      tags:
        additionalProperties:
          type: string
        description: Gets or sets tags.
        type: object
    required:
      - name
  CheckAvailabilityResource:
    description: Description of a CheckAvailability resource.
    properties:
      id:
        description: Gets or sets the id
        type: string
      isAvailiable:
        description: Gets or sets true if the name is available and can be used to create new Namespace/NotificationHub. Otherwise false.
        type: boolean
      location:
        description: Gets or sets datacenter location
        type: string
      name:
        description: Gets or sets name
        type: string
      tags:
        additionalProperties:
          type: string
        description: Gets or sets tags
        type: object
      type:
        description: Gets or sets resource type
        type: string
  GcmCredential:
    description: Description of a NotificationHub GcmCredential.
    properties:
      properties:
        $ref: "#/definitions/GcmCredentialProperties"
        description: Gets or sets properties of NotificationHub GcmCredential.
  GcmCredentialProperties:
    description: Description of a NotificationHub GcmCredential.
    properties:
      gcmEndpoint:
        description: Gets or sets the GCM endpoint.
        type: string
      googleApiKey:
        description: Gets or sets the Google API key.
        type: string
  MpnsCredential:
    description: Description of a NotificationHub MpnsCredential.
    properties:
      properties:
        $ref: "#/definitions/MpnsCredentialProperties"
        description: Gets or sets properties of NotificationHub MpnsCredential.
  MpnsCredentialProperties:
    description: Description of a NotificationHub MpnsCredential.
    properties:
      certificateKey:
        description: Gets or sets the certificate key for this credential.
        type: string
      mpnsCertificate:
        description: Gets or sets the MPNS certificate.
        type: string
      thumbprint:
        description: Gets or sets the Mpns certificate Thumbprint
        type: string
  NamespaceCreateOrUpdateParameters:
    description: Parameters supplied to the CreateOrUpdate Namespace operation.
    properties:
      location:
        description: Gets or sets Namespace data center location.
        type: string
      properties:
        $ref: "#/definitions/NamespaceProperties"
        description: Gets or sets properties of the Namespace.
      tags:
        additionalProperties:
          type: string
        description: Gets or sets Namespace tags.
        type: object
    required:
      - location
      - properties
  NamespaceListResult:
    description: The response of the List Namespace operation.
    properties:
      nextLink:
        description: Gets or sets link to the next set of results. Not empty if Value contains incomplete list of Namespaces
        type: string
      value:
        description: Gets or sets result of the List Namespace operation.
        items:
          $ref: "#/definitions/NamespaceResource"
        type: array
  NamespaceProperties:
    description: Namespace properties.
    properties:
      createdAt:
        description: The time the namespace was created.
        format: date-time
        type: string
      critical:
        description: Whether or not the namespace is set as Critical.
        type: boolean
      enabled:
        description: Whether or not the namespace is currently enabled.
        type: boolean
      name:
        description: The name of the namespace.
        type: string
      namespaceType:
        description: Gets or sets the namespace type.
        enum:
          - Messaging
          - NotificationHub
        type: string
        x-ms-enum:
          modelAsString: false
          name: NamespaceType
      provisioningState:
        description: Gets or sets provisioning state of the Namespace.
        type: string
      region:
        description: "Specifies the targeted region in which the namespace should be created. It can be any of the following values: Australia East, Australia Southeast, Central US, East US, East US 2, West US, North Central US, South Central US, East Asia, Southeast Asia, Brazil South, Japan East, Japan West, North Europe, West Europe"
        externalDocs:
          url: http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
        type: string
      scaleUnit:
        description: ScaleUnit where the namespace gets created
        type: string
      serviceBusEndpoint:
        description: Endpoint you can use to perform NotificationHub operations.
        externalDocs:
          url: http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
        type: string
      status:
        description: Status of the namespace. It can be any of these values:1 = Created/Active2 = Creating3 = Suspended4 = Deleting
        externalDocs:
          url: http://msdn.microsoft.com/en-us/library/windowsazure/jj873988.aspx
        type: string
      subscriptionId:
        description: The Id of the Azure subscription associated with the namespace.
        type: string
  NamespaceResource:
    description: Description of a Namespace resource.
    properties:
      id:
        description: Gets or sets the id of the created Namespace.
        type: string
      location:
        description: Gets or sets datacenter location of the Namespace.
        type: string
      name:
        description: Gets or sets name of the Namespace.
        type: string
      properties:
        $ref: "#/definitions/NamespaceProperties"
        description: Gets or sets properties of the Namespace.
      tags:
        additionalProperties:
          type: string
        description: Gets or sets tags of the Namespace.
        type: object
      type:
        description: Gets or sets resource type of the Namespace.
        type: string
  NotificationHubCreateOrUpdateParameters:
    description: Parameters supplied to the CreateOrUpdate NotificationHub operation.
    properties:
      location:
        description: Gets or sets NotificationHub data center location.
        type: string
      properties:
        $ref: "#/definitions/NotificationHubProperties"
        description: Gets or sets properties of the NotificationHub.
      tags:
        additionalProperties:
          type: string
        description: Gets or sets NotificationHub tags.
        type: object
    required:
      - location
      - properties
  NotificationHubListResult:
    description: The response of the List NotificationHub operation.
    properties:
      nextLink:
        description: Gets or sets link to the next set of results. Not empty if Value contains incomplete list of NotificationHub
        type: string
      value:
        description: Gets or sets result of the List NotificationHub operation.
        items:
          $ref: "#/definitions/NotificationHubResource"
        type: array
  NotificationHubProperties:
    description: NotificationHub properties.
    properties:
      admCredential:
        $ref: "#/definitions/AdmCredential"
        description: The AdmCredential of the created NotificationHub
      apnsCredential:
        $ref: "#/definitions/ApnsCredential"
        description: The ApnsCredential of the created NotificationHub
      authorizationRules:
        description: The AuthorizationRules of the created NotificationHub
        items:
          $ref: "#/definitions/SharedAccessAuthorizationRuleProperties"
        type: array
      baiduCredential:
        $ref: "#/definitions/BaiduCredential"
        description: The BaiduCredential of the created NotificationHub
      gcmCredential:
        $ref: "#/definitions/GcmCredential"
        description: The GcmCredential of the created NotificationHub
      mpnsCredential:
        $ref: "#/definitions/MpnsCredential"
        description: The MpnsCredential of the created NotificationHub
      name:
        description: The NotificationHub name.
        type: string
      registrationTtl:
        description: The RegistrationTtl of the created NotificationHub
        type: string
      wnsCredential:
        $ref: "#/definitions/WnsCredential"
        description: The WnsCredential of the created NotificationHub
  NotificationHubResource:
    description: Description of a NotificationHub Resource.
    properties:
      id:
        description: Gets or sets the id of the created NotificationHub.
        type: string
      location:
        description: Gets or sets datacenter location of the NotificationHub.
        type: string
      name:
        description: Gets or sets name of the NotificationHub.
        type: string
      properties:
        $ref: "#/definitions/NotificationHubProperties"
        description: Gets or sets properties of the NotificationHub.
      tags:
        additionalProperties:
          type: string
        description: Gets or sets tags of the NotificationHub.
        type: object
      type:
        description: Gets or sets resource type of the NotificationHub.
        type: string
  Resource:
    properties:
      id:
        description: Resource Id
        readOnly: true
        type: string
      location:
        description: Resource location
        type: string
      name:
        description: Resource name
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: Resource tags
        type: object
      type:
        description: Resource type
        readOnly: true
        type: string
    required:
      - location
    x-ms-azure-resource: true
  ResourceListKeys:
    description: Namespace/NotificationHub Connection String
    properties:
      primaryConnectionString:
        description: Gets or sets the primaryConnectionString of the created Namespace AuthorizationRule.
        type: string
      secondaryConnectionString:
        description: Gets or sets the secondaryConnectionString of the created Namespace AuthorizationRule
        type: string
  SharedAccessAuthorizationRuleCreateOrUpdateParameters:
    description: Parameters supplied to the CreateOrUpdate Namespace AuthorizationRules.
    properties:
      location:
        description: Gets or sets Namespace data center location.
        type: string
      name:
        description: Gets or sets Name of the Namespace AuthorizationRule.
        type: string
      properties:
        $ref: "#/definitions/SharedAccessAuthorizationRuleProperties"
        description: Gets or sets properties of the Namespace AuthorizationRules.
    required:
      - properties
  SharedAccessAuthorizationRuleListResult:
    description: The response of the List Namespace operation.
    properties:
      nextLink:
        description: Gets or sets link to the next set of results. Not empty if Value contains incomplete list of AuthorizationRules
        type: string
      value:
        description: Gets or sets result of the List AuthorizationRules operation.
        items:
          $ref: "#/definitions/SharedAccessAuthorizationRuleResource"
        type: array
  SharedAccessAuthorizationRuleProperties:
    description: SharedAccessAuthorizationRule properties.
    properties:
      claimType:
        description: The type of the claim.
        type: string
      claimValue:
        description: The value of the claim.
        type: string
      createdTime:
        description: The time at which the authorization rule was created.
        format: date-time
        type: string
      keyName:
        description: The name of the key that was used.
        type: string
      modifiedTime:
        description: The most recent time the rule was updated.
        format: date-time
        type: string
      primaryKey:
        description: The primary key that was used.
        type: string
      revision:
        description: The revision number for the rule.
        format: int32
        type: integer
      rights:
        description: The rights associated with the rule.
        items:
          enum:
            - Manage
            - Send
            - Listen
          type: string
          x-ms-enum:
            modelAsString: false
            name: AccessRights
        type: array
      secondaryKey:
        description: The secondary key that was used.
        type: string
  SharedAccessAuthorizationRuleResource:
    description: Description of a Namespace AuthorizationRules.
    properties:
      id:
        description: Gets or sets the id of the created Namespace AuthorizationRules.
        type: string
      location:
        description: Gets or sets datacenter location of the Namespace AuthorizationRules.
        type: string
      name:
        description: Gets or sets name of the Namespace AuthorizationRules.
        type: string
      properties:
        $ref: "#/definitions/SharedAccessAuthorizationRuleProperties"
        description: Gets or sets properties of the Namespace.
      tags:
        additionalProperties:
          type: string
        description: Gets or sets tags of the Namespace AuthorizationRules.
        type: object
      type:
        description: Gets or sets resource type of the Namespace AuthorizationRules.
        type: string
  SubResource:
    properties:
      id:
        description: Resource Id
        type: string
    x-ms-azure-resource: true
  WnsCredential:
    description: Description of a NotificationHub WnsCredential.
    properties:
      properties:
        $ref: "#/definitions/WnsCredentialProperties"
        description: Gets or sets properties of NotificationHub WnsCredential.
  WnsCredentialProperties:
    description: Description of a NotificationHub WnsCredential.
    properties:
      packageSid:
        description: Gets or sets the package ID for this credential.
        type: string
      secretKey:
        description: Gets or sets the secret key.
        type: string
      windowsLiveEndpoint:
        description: Gets or sets the Windows Live endpoint.
        type: string
