swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Use these API to manage Azure Relay resources through Azure Resource Manager.
  title: Relay
  version: 2017-04-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-ms-code-generation-settings:
    name: RelayManagementClient
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/relay/resource-manager/Microsoft.Relay/stable/2017-04-01/relay.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: relay
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/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: Subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
    in: path
    name: subscriptionId
    required: true
    type: string
  authorizationRuleNameParameter:
    description: The authorization rule name.
    in: path
    minLength: 1
    name: authorizationRuleName
    required: true
    type: string
    x-ms-parameter-location: method
  hybridConnectionNameParameter:
    description: The hybrid connection name.
    in: path
    minLength: 1
    name: hybridConnectionName
    required: true
    type: string
    x-ms-parameter-location: method
  namespaceNameParameter:
    description: The namespace name
    in: path
    maxLength: 50
    minLength: 6
    name: namespaceName
    required: true
    type: string
    x-ms-parameter-location: method
  relayNameParameter:
    description: The relay name.
    in: path
    minLength: 1
    name: relayName
    required: true
    type: string
    x-ms-parameter-location: method
  resourceGroupNameParameter:
    description: Name of the Resource group within the Azure subscription.
    in: path
    maxLength: 90
    minLength: 1
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
paths:
  /providers/Microsoft.Relay/operations:
    get:
      description: Lists all available Relay REST API operations.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/OperationListResult"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Operations
      x-ms-examples:
        RelayOperationsList:
          parameters:
            api-version: 2017-04-01
          responses:
            "200":
              body:
                value:
                  - display:
                      operation: Get namespace availability.
                      provider: Microsoft Azure Relay
                      resource: Non Resource Operation
                    name: Microsoft.Relay/checkNamespaceAvailability/action
                  - display:
                      operation: Registers the Relay Resource Provider
                      provider: Microsoft Azure Relay
                      resource: Relay and Hybridconnection Resource Provider
                    name: Microsoft.Relay/register/action
                  - display:
                      operation: "Create Or Update Namespace "
                      provider: Microsoft Azure Relay
                      resource: Namespace
                    name: Microsoft.Relay/namespaces/write
                  - display:
                      operation: Get Namespace Resource
                      provider: Microsoft Azure Relay
                      resource: Namespace
                    name: Microsoft.Relay/namespaces/read
                  - display:
                      operation: Delete Namespace
                      provider: Microsoft Azure Relay
                      resource: Namespace
                    name: Microsoft.Relay/namespaces/Delete
                  - display:
                      operation: Create or Update Namespace Authorization Rules
                      provider: Microsoft Azure Relay
                      resource: AuthorizationRules
                    name: Microsoft.Relay/namespaces/authorizationRules/write
                  - display:
                      operation: Delete Namespace Authorization Rule
                      provider: Microsoft Azure Relay
                      resource: AuthorizationRules
                    name: Microsoft.Relay/namespaces/authorizationRules/delete
                  - display:
                      operation: Get Namespace Listkeys
                      provider: Microsoft Azure Relay
                      resource: AuthorizationRules
                    name: Microsoft.Relay/namespaces/authorizationRules/listkeys/action
                  - display:
                      operation: Create or Update HybridConnection
                      provider: Microsoft Azure Relay
                      resource: HybridConnection
                    name: Microsoft.Relay/namespaces/HybridConnections/write
                  - display:
                      operation: Get HybridConnection
                      provider: Microsoft Azure Relay
                      resource: HybridConnection
                    name: Microsoft.Relay/namespaces/HybridConnections/read
                  - display:
                      operation: Delete HybridConnection
                      provider: Microsoft Azure Relay
                      resource: HybridConnection
                    name: Microsoft.Relay/namespaces/HybridConnections/Delete
                  - display:
                      operation: Create or Update HybridConnection Authorization Rule
                      provider: Microsoft Azure Relay
                      resource: HybridConnection AuthorizationRules
                    name: Microsoft.Relay/namespaces/HybridConnections/authorizationRules/write
                  - display:
                      operation: Delete HybridConnection Authorization Rules
                      provider: Microsoft Azure Relay
                      resource: HybridConnection AuthorizationRules
                    name: Microsoft.Relay/namespaces/HybridConnections/authorizationRules/delete
                  - display:
                      operation: List HybridConnection keys
                      provider: Microsoft Azure Relay
                      resource: HybridConnection AuthorizationRules
                    name: Microsoft.Relay/namespaces/HybridConnections/authorizationRules/listkeys/action
                  - display:
                      operation: Create or Update WcfRelay
                      provider: Microsoft Azure Relay
                      resource: WcfRelay
                    name: Microsoft.Relay/namespaces/WcfRelays/write
                  - display:
                      operation: Get WcfRelay
                      provider: Microsoft Azure Relay
                      resource: WcfRelay
                    name: Microsoft.Relay/namespaces/WcfRelays/read
                  - display:
                      operation: Delete WcfRelay
                      provider: Microsoft Azure Relay
                      resource: WcfRelay
                    name: Microsoft.Relay/namespaces/WcfRelays/Delete
                  - display:
                      operation: Create or Update WcfRelay Authorization Rule
                      provider: Microsoft Azure Relay
                      resource: WcfRelay AuthorizationRules
                    name: Microsoft.Relay/namespaces/WcfRelays/authorizationRules/write
                  - display:
                      operation: Delete WcfRelay Authorization Rules
                      provider: Microsoft Azure Relay
                      resource: WcfRelay AuthorizationRules
                    name: Microsoft.Relay/namespaces/WcfRelays/authorizationRules/delete
                  - display:
                      operation: List WcfRelay keys
                      provider: Microsoft Azure Relay
                      resource: WcfRelay AuthorizationRules
                    name: Microsoft.Relay/namespaces/WcfRelays/authorizationRules/listkeys/action
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Relay/checkNameAvailability":
    post:
      description: Check the specified namespace name availability.
      operationId: Namespaces_CheckNameAvailability
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Parameters to check availability of the specified namespace name.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/CheckNameAvailability"
      responses:
        "200":
          description: Check availability returned successfully.
          schema:
            $ref: "#/definitions/CheckNameAvailabilityResult"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayCheckNameAvailability:
          parameters:
            api-version: 2017-04-01
            parameters:
              name: sdk-Namespace1321
            subscriptionId: e2f361f0-3b27-4503-a9cc-21cfba380093
          responses:
            "200":
              body:
                message: ""
                nameAvailable: true
                reason: None
  "/subscriptions/{subscriptionId}/providers/Microsoft.Relay/namespaces":
    get:
      description: Lists all the available namespaces within the subscription regardless of the resourceGroups.
      operationId: Namespaces_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Namespaces returned successfully
          schema:
            $ref: "#/definitions/RelayNamespaceListResult"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceListBySubscription:
          parameters:
            api-version: 2017-04-01
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG1-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01
                    location: West US
                    name: sdk-RelayNamespace-01
                    properties:
                      createdAt: 2017-01-23T20:34:49.4131724Z
                      metricId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef:sdk-RelayNamespace-01
                      provisioningState: Succeeded
                      serviceBusEndpoint: https://sdk-RelayNamespace-01.servicebus.windows.net:443/
                      updatedAt: 2017-01-23T20:34:59.4131724Z
                    sku:
                      name: Standard
                      tier: Standard
                    tags:
                      tag1: value1
                      tag2: value2
                    type: Microsoft.Relay/Namespaces
                  - id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG1-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-02
                    location: West US
                    name: sdk-RelayNamespace-02
                    properties:
                      createdAt: 2017-01-23T20:34:39.4131724Z
                      metricId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef:sdk-RelayNamespace-02
                      provisioningState: Succeeded
                      serviceBusEndpoint: https://sdk-RelayNamespace-02.servicebus.windows.net:443/
                      updatedAt: 2017-01-23T20:34:49.4131724Z
                    sku:
                      name: Standard
                      tier: Standard
                    tags:
                      tag1: value1
                      tag2: value2
                    type: Microsoft.Relay/Namespaces
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces":
    get:
      description: Lists all the available namespaces within the ResourceGroup.
      operationId: Namespaces_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Namespaces by resource group returned successfully
          schema:
            $ref: "#/definitions/RelayNamespaceListResult"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceListByResourceGroup:
          parameters:
            api-version: 2017-04-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01
                    location: West US
                    name: sdk-RelayNamespace-01
                    properties:
                      createdAt: 2017-01-23T20:34:49.4131724Z
                      metricId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef:sdk-RelayNamespace-01
                      provisioningState: Succeeded
                      serviceBusEndpoint: https://sdk-RelayNamespace-01.servicebus.windows.net:443/
                      updatedAt: 2017-01-23T20:34:59.4131724Z
                    sku:
                      name: Standard
                      tier: Standard
                    tags:
                      tag1: value1
                      tag2: value2
                    type: Microsoft.Relay/Namespaces
                  - id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-02
                    location: West US
                    name: sdk-RelayNamespace-02
                    properties:
                      createdAt: 2017-01-23T20:34:39.4131724Z
                      metricId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef:sdk-RelayNamespace-02
                      provisioningState: Succeeded
                      serviceBusEndpoint: https://sdk-RelayNamespace-02.servicebus.windows.net:443/
                      updatedAt: 2017-01-23T20:34:49.4131724Z
                    sku:
                      name: Standard
                      tier: Standard
                    tags:
                      tag1: value1
                      tag2: value2
                    type: Microsoft.Relay/Namespaces
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}":
    delete:
      description: Deletes an existing namespace. This operation also removes all associated resources under the namespace.
      operationId: Namespaces_Delete
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Namespace delete request succeeded.
        "202":
          description: Namespace delete request has been accepted for processing and the operation will complete asynchronously.
        "204":
          description: Namespace delete request has been accepted, but the namespace was not found.
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceDelete:
          parameters:
            api-version: 2017-04-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Returns the description for the specified namespace.
      operationId: Namespaces_Get
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Namespace description returned successfully.
          schema:
            $ref: "#/definitions/RelayNamespace"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceGet:
          parameters:
            api-version: 2017-04-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01
                location: West US
                name: sdk-RelayNamespace-01
                properties:
                  createdAt: 2017-01-23T20:38:12.46Z
                  metricId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef:sdk-RelayNamespace-01
                  provisioningState: Succeeded
                  serviceBusEndpoint: https://sdk-RelayNamespace-01.servicebus.windows.net:443/
                  updatedAt: 2017-01-23T20:38:34.533Z
                sku:
                  name: Standard
                  tier: Standard
                tags:
                  tag1: value1
                  tag2: value2
                type: Microsoft.Relay/Namespaces
    patch:
      description: Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.
      operationId: Namespaces_Update
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - description: Parameters for updating a namespace resource.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RelayUpdateParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Namespace successfuly updated.
          schema:
            $ref: "#/definitions/RelayNamespace"
        "201":
          description: Namespace update request accepted.
          schema:
            $ref: "#/definitions/RelayNamespace"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceUpdate:
          parameters:
            api-version: 2017-04-01
            namespaceName: sdk-RelayNamespace-01
            parameters:
              tags:
                tag3: value3
                tag4: value4
                tag5: value5
                tag6: value6
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01
                location: West US
                name: sdk-RelayNamespace-01
                properties:
                  metricId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef:sdk-relaynamespace-01
                  provisioningState: Succeeded
                tags:
                  tag3: value3
                  tag4: value4
                  tag5: value5
                  tag6: value6
                type: Microsoft.Relay/Namespaces
            "201": {}
    put:
      description: Create Azure Relay namespace.
      operationId: Namespaces_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - description: Parameters supplied to create a namespace resource.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RelayNamespace"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Namespace create request succeeded.
          schema:
            $ref: "#/definitions/RelayNamespace"
        "201":
          description: Namespace create request accepted.
          schema:
            $ref: "#/definitions/RelayNamespace"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNamespaceCreate:
          parameters:
            api-version: 2017-04-01
            namespaceName: sdk-RelayNamespace-01
            parameters:
              location: West US
              sku:
                name: Standard
                tier: Standard
              tags:
                tag1: value1
                tag2: value2
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01
                location: West US
                name: sdk-RelayNamespace-01
                properties:
                  metricId: e2f361f0-3b27-4503-a9cc-21cfba380093:sdk-relaynamespace-01
                  provisioningState: Unknown
                sku:
                  name: Standard
                  tier: Standard
                tags:
                  tag1: value1
                  tag2: value2
                type: Microsoft.Relay/Namespaces
            "201": {}
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules":
    get:
      description: Authorization rules for a namespace.
      operationId: Namespaces_ListAuthorizationRules
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Namespace authorization rule returned successfully.
          schema:
            $ref: "#/definitions/AuthorizationRuleListResult"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceAutorizationRuleListAll:
          parameters:
            api-version: 2017-04-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/AuthorizationRules/RootManageSharedAccessKey
                    name: RootManageSharedAccessKey
                    properties:
                      rights:
                        - Listen
                        - Manage
                        - Send
                    type: Microsoft.Relay/Namespaces/AuthorizationRules
                  - id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/AuthorizationRules/sdk-RelayAuthRules-01
                    name: sdk-RelayAuthRules-01
                    properties:
                      rights:
                        - Listen
                        - Send
                    type: Microsoft.Relay/Namespaces/AuthorizationRules
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}":
    delete:
      description: Deletes a namespace authorization rule.
      operationId: Namespaces_DeleteAuthorizationRule
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request to delete namespace authorization rule succeeded.
        "204":
          description: No content. The request has been accepted but the namespace authorization rule was not found.
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceAutorizationRuleDelete:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200": {}
            "204": {}
    get:
      description: Authorization rule for a namespace by name.
      operationId: Namespaces_GetAuthorizationRule
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Namespace Authorization rule returned successfully.
          schema:
            $ref: "#/definitions/AuthorizationRule"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceAutorizationRuleGet:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/AuthorizationRules/sdk-RelayAuthRules-01
                name: sdk-RelayAuthRules-01
                properties:
                  rights:
                    - Listen
                type: Microsoft.Relay/Namespaces/AuthorizationRules
    put:
      description: Creates or updates an authorization rule for a namespace.
      operationId: Namespaces_CreateOrUpdateAuthorizationRule
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - description: The authorization rule parameters.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/AuthorizationRule"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request to create namespace authorization rule succeeded.
          schema:
            $ref: "#/definitions/AuthorizationRule"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceAuthorizationRuleCreate:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            namespaceName: sdk-RelayNamespace-01
            parameters:
              properties:
                rights:
                  - Listen
                  - Send
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/AuthorizationRules/sdk-RelayAuthRules-01
                name: sdk-RelayAuthRules-01
                properties:
                  rights:
                    - Listen
                    - Send
                type: Microsoft.Relay/Namespaces/AuthorizationRules
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/listKeys":
    post:
      description: Primary and secondary connection strings to the namespace.
      operationId: Namespaces_ListKeys
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successful.
          schema:
            $ref: "#/definitions/AccessKeys"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceAuthorizationRuleListKey:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                keyName: sdk-RelayAuthRules-01
                primaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                primaryKey: "############################################"
                secondaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                secondaryKey: "############################################"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/authorizationRules/{authorizationRuleName}/regenerateKeys":
    post:
      description: Regenerates the primary or secondary connection strings to the namespace.
      operationId: Namespaces_RegenerateKeys
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - description: Parameters supplied to regenerate authorization rule.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RegenerateAccessKeyParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successful.
          schema:
            $ref: "#/definitions/AccessKeys"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Namespaces
      x-ms-examples:
        RelayNameSpaceAuthorizationRuleRegenrateKey:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            namespaceName: sdk-RelayNamespace-01
            parameters:
              keyType: PrimaryKey
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                keyName: sdk-RelayAuthRules-01
                primaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                primaryKey: "############################################"
                secondaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                secondaryKey: "############################################"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections":
    get:
      description: Lists the hybrid connection within the namespace.
      operationId: HybridConnections_ListByNamespace
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request to retrieve hybrid connections by namespace succeeded.
          schema:
            $ref: "#/definitions/HybridConnectionListResult"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - HybridConnections
      x-ms-examples:
        RelayHybridConnectionListAll:
          parameters:
            api-version: 2017-04-01
            hybridConnectionName: sdk-Relay-Hybrid-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/HybridConnections/sdk-Relay-Hybrid-01
                    name: sdk-Relay-Hybrid-01
                    properties:
                      createdAt: 2017-01-23T20:34:49.4131724Z
                      listenerCount: 1
                      requiresClientAuthorization: true
                      updatedAt: 2017-01-23T20:34:49.4131724Z
                      userMetadata: usermetadata is a placeholder to store user-defined string data for the HybridConnection endpoint.e.g. it can be used to store  descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored.
                    type: Microsoft.Relay/Namespaces/HybridConnections
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}":
    delete:
      description: Deletes a hybrid connection.
      operationId: HybridConnections_Delete
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/hybridConnectionNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request to delete hybrid connection succeeded.
        "204":
          description: No content. The request has been accepted but the hybrid connection was not found.
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - HybridConnections
      x-ms-examples:
        RelayHybridconnectionDelete:
          parameters:
            api-version: 2017-04-01
            hybridConnectionName: sdk-Relay-Hybrid-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200": {}
            "204": {}
    get:
      description: Returns the description for the specified hybrid connection.
      operationId: HybridConnections_Get
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/hybridConnectionNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successfully retrieved description for the hybrid connection.
          schema:
            $ref: "#/definitions/HybridConnection"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - HybridConnections
      x-ms-examples:
        RelayHybridConnectionGet:
          parameters:
            api-version: 2017-04-01
            hybridConnectionName: sdk-Relay-Hybrid-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/HybridConnections/sdk-Relay-Hybrid-01
                name: sdk-Relay-Hybrid-01
                properties:
                  createdAt: 2017-01-23T20:34:49.4131724Z
                  listenerCount: 1
                  requiresClientAuthorization: true
                  updatedAt: 2017-01-23T20:34:49.4131724Z
                  userMetadata: usermetadata is a placeholder to store user-defined string data for the HybridConnection endpoint.e.g. it can be used to store  descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored.
                type: Microsoft.Relay/Namespaces/HybridConnections
    put:
      description: Creates or updates a service hybrid connection. This operation is idempotent.
      operationId: HybridConnections_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/hybridConnectionNameParameter"
        - description: Parameters supplied to create a hybrid connection.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/HybridConnection"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request to create hybrid connections succeeded.
          schema:
            $ref: "#/definitions/HybridConnection"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - HybridConnections
      x-ms-examples:
        RelayHybridConnectionCreate:
          parameters:
            api-version: 2017-04-01
            hybridConnectionName: sdk-Relay-Hybrid-01
            namespaceName: sdk-RelayNamespace-01
            parameters:
              properties:
                requiresClientAuthorization: true
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/HybridConnections/sdk-Relay-Hybrid-01
                name: sdk-Relay-Hybrid-01
                properties:
                  createdAt: 2017-01-23T20:34:49.4131724Z
                  requiresClientAuthorization: true
                  updatedAt: 2017-01-23T20:34:49.4131724Z
                type: Microsoft.Relay/Namespaces/HybridConnections
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules":
    get:
      description: Authorization rules for a hybrid connection.
      operationId: HybridConnections_ListAuthorizationRules
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/hybridConnectionNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Authorization rules successfully returned.
          schema:
            $ref: "#/definitions/AuthorizationRuleListResult"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - HybridConnections
      x-ms-examples:
        RelayHybridConnectionAutorizationRuleListAll:
          parameters:
            api-version: 2017-04-01
            hybridConnectionName: sdk-Relay-Hybrid-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/HybridConnections/sdk-Relay-Hybrid-01/AuthorizationRules/sdk-RelayAuthRules-01
                    name: sdk-RelayAuthRules-01
                    properties:
                      rights:
                        - Listen
                        - Send
                    type: Microsoft.Relay/Namespaces/Hybridconnections/AuthorizationRules
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}":
    delete:
      description: Deletes a hybrid connection authorization rule.
      operationId: HybridConnections_DeleteAuthorizationRule
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/hybridConnectionNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Hybrid connection authorization rule deleted.
        "204":
          description: Authorization rule does not exist.
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - HybridConnections
      x-ms-examples:
        RelayHybridConnectionAutorizationRuleDelete:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            hybridConnectionName: sdk-Relay-Hybrid-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200": {}
            "204": {}
    get:
      description: Hybrid connection authorization rule for a hybrid connection by name.
      operationId: HybridConnections_GetAuthorizationRule
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/hybridConnectionNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Hybrid connection authorization rule returned successfully.
          schema:
            $ref: "#/definitions/AuthorizationRule"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - HybridConnections
      x-ms-examples:
        RelayHybridConnectionAutorizationRuleGet:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            hybridConnectionName: sdk-Relay-Hybrid-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/HybridConnections/sdk-Relay-Hybrid-01/AuthorizationRules/sdk-RelayAuthRules-01
                name: sdk-RelayAuthRules-01
                properties:
                  rights:
                    - Listen
                type: Microsoft.Relay/Namespaces/Hybridconnections/AuthorizationRules
    put:
      description: Creates or updates an authorization rule for a hybrid connection.
      operationId: HybridConnections_CreateOrUpdateAuthorizationRule
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/hybridConnectionNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - description: The authorization rule parameters.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/AuthorizationRule"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Hybrid connection authorization rule created.
          schema:
            $ref: "#/definitions/AuthorizationRule"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - HybridConnections
      x-ms-examples:
        RelayHybridConnectionAuthorizationRuleCreate:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            hybridConnectionName: sdk-Relay-Hybrid-01
            namespaceName: sdk-RelayNamespace-01
            parameters:
              properties:
                rights:
                  - Listen
                  - Send
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/HybridConnections/sdk-Relay-Hybrid-01/AuthorizationRules/sdk-RelayAuthRules-01
                name: sdk-RelayAuthRules-01
                properties:
                  rights:
                    - Listen
                    - Send
                type: Microsoft.Relay/Namespaces/Hybridconnections/AuthorizationRules
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/listKeys":
    post:
      description: Primary and secondary connection strings to the hybrid connection.
      operationId: HybridConnections_ListKeys
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/hybridConnectionNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request to retirve connection strings to the hybrid connection succeeded.
          schema:
            $ref: "#/definitions/AccessKeys"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - HybridConnections
      x-ms-examples:
        RelayHybridConnectionAuthorizationRuleListKey:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            hybridConnectionName: sdk-Relay-Hybrid-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                keyName: sdk-RelayAuthRules-01
                primaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                primaryKey: "############################################"
                secondaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                secondaryKey: "############################################"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/hybridConnections/{hybridConnectionName}/authorizationRules/{authorizationRuleName}/regenerateKeys":
    post:
      description: Regenerates the primary or secondary connection strings to the hybrid connection.
      operationId: HybridConnections_RegenerateKeys
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/hybridConnectionNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - description: Parameters supplied to regenerate authorization rule.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RegenerateAccessKeyParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request to regenerate connection strings to hybrid connection succeeded.
          schema:
            $ref: "#/definitions/AccessKeys"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - HybridConnections
      x-ms-examples:
        RelayHybridConnectionAuthorizationRuleRegenrateKey:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            hybridConnectionName: sdk-Relay-Hybrid-01
            namespaceName: sdk-RelayNamespace-01
            parameters:
              keyType: PrimaryKey
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                keyName: sdk-RelayAuthRules-01
                primaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                primaryKey: "############################################"
                secondaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                secondaryKey: "############################################"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays":
    get:
      description: Lists the WCF relays within the namespace.
      operationId: WCFRelays_ListByNamespace
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: WCF relays returned successfully.
          schema:
            $ref: "#/definitions/WcfRelaysListResult"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - WCFRelays
      x-ms-examples:
        RelayListAll:
          parameters:
            api-version: 2017-04-01
            namespaceName: sdk-RelayNamespace-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG1-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/WcfRelays/sdk-Relay-Wcf-01
                    name: sdk-Relay-Wcf-01
                    properties:
                      createdAt: 2017-01-24T00:46:27.0049983Z
                      isDynamic: false
                      relayType: NetTcp
                      requiresClientAuthorization: true
                      requiresTransportSecurity: true
                      updatedAt: 2017-01-24T00:46:27.0049983Z
                      userMetadata: usermetadata is a placeholder to store user-defined string data for the HybridConnection endpoint.e.g. it can be used to store  descriptive data, such as list of teams and their contact information also user-defined configuration settings can be stored
                    type: Microsoft.Relay/Namespaces/WcfRelays
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}":
    delete:
      description: Deletes a WCF relay.
      operationId: WCFRelays_Delete
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/relayNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: WCF relay deleted.
        "204":
          description: No content.
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - WCFRelays
      x-ms-examples:
        RelayDelete:
          parameters:
            api-version: 2017-04-01
            namespaceName: sdk-RelayNamespace-01
            relayName: sdk-Relay-wcf-01
            resourceGroupName: RG-eg
            subscriptionId: e2f361f0-3b27-4503-a9cc-21cfba380093
          responses:
            "200": {}
            "204": {}
    get:
      description: Returns the description for the specified WCF relay.
      operationId: WCFRelays_Get
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/relayNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successfully retrieved WCF relay description.
          schema:
            $ref: "#/definitions/WcfRelay"
        "204":
          description: WCF relay not found
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - WCFRelays
      x-ms-examples:
        RelayGet:
          parameters:
            api-version: 2017-04-01
            namespaceName: sdk-RelayNamespace-9953
            relayName: sdk-Relay-Wcf-1194
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/Default-ServiceBus-WestUS/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-9953/WcfRelays/sdk-Relay-Wcf-1194
                name: sdk-Relay-Wcf-1194
                properties:
                  createdAt: 2017-03-16T00:26:17.5014661Z
                  isDynamic: false
                  listenerCount: 0
                  relayType: NetTcp
                  requiresClientAuthorization: true
                  requiresTransportSecurity: true
                  updatedAt: 2017-03-16T00:26:17.5014661Z
                type: Microsoft.Relay/WcfRelays
            "204": {}
    put:
      description: Creates or updates a WCF relay. This operation is idempotent.
      operationId: WCFRelays_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/relayNameParameter"
        - description: Parameters supplied to create a WCF relay.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/WcfRelay"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request to create WCF relay succeeded.
          schema:
            $ref: "#/definitions/WcfRelay"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - WCFRelays
      x-ms-examples:
        RelayCreate:
          parameters:
            api-version: 2017-04-01
            namespaceName: sdk-RelayNamespace-9953
            parameters:
              properties:
                relayType: NetTcp
                requiresClientAuthorization: true
                requiresTransportSecurity: true
            relayName: sdk-Relay-Wcf-1194
            resourceGroupName: RG-eg
            subscriptionId: e2f361f0-3b27-4503-a9cc-21cfba380093
          responses:
            "200":
              body:
                id: /subscriptions/e2f361f0-3b27-4503-a9cc-21cfba380093/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-9953/WcfRelays/sdk-Relay-Wcf-1194
                name: sdk-Relay-Wcf-1194
                properties:
                  createdAt: 2017-03-16T00:26:17.5014661Z
                  isDynamic: false
                  relayType: NetTcp
                  requiresClientAuthorization: true
                  requiresTransportSecurity: true
                  updatedAt: 2017-03-16T00:26:17.5014661Z
                type: Microsoft.Relay/WcfRelays
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules":
    get:
      description: Authorization rules for a WCF relay.
      operationId: WCFRelays_ListAuthorizationRules
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/relayNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Authorization rules successfully returned.
          schema:
            $ref: "#/definitions/AuthorizationRuleListResult"
      tags:
        - WCFRelays
      x-ms-examples:
        RelayAutorizationRuleListAll:
          parameters:
            api-version: 2017-04-01
            namespaceName: sdk-RelayNamespace-01
            relayName: sdk-Relay-Wcf-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/WcfRelays/sdk-Relay-Wcf-01/AuthorizationRules/sdk-RelayAuthRules-01
                    name: sdk-RelayAuthRules-01
                    properties:
                      rights:
                        - Listen
                        - Send
                    type: Microsoft.Relay/Namespaces/WcfRelay/AuthorizationRules
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}":
    delete:
      description: Deletes a WCF relay authorization rule.
      operationId: WCFRelays_DeleteAuthorizationRule
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/relayNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request to delete WCF relay authorization rule succeeded.
        "204":
          description: Request accepted butthe authorization rule does not exist.
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - WCFRelays
      x-ms-examples:
        RelayAutorizationRuleDelete:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            namespaceName: sdk-RelayNamespace-01
            relayName: sdk-Relay-wcf-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200": {}
            "204": {}
    get:
      description: Get authorizationRule for a WCF relay by name.
      operationId: WCFRelays_GetAuthorizationRule
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/relayNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Request for WCF relay authorization rule succeeded.
          schema:
            $ref: "#/definitions/AuthorizationRule"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - WCFRelays
      x-ms-examples:
        RelayAutorizationRuleGet:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            namespaceName: sdk-RelayNamespace-01
            relayName: sdk-Relay-wcf-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/WcfRelays/sdk-Relay-Wcf-01/AuthorizationRules/sdk-RelayAuthRules-01
                name: sdk-RelayAuthRules-01
                properties:
                  rights:
                    - Listen
                type: Microsoft.Relay/Namespaces/WcfRelay/AuthorizationRules
    put:
      description: Creates or updates an authorization rule for a WCF relay.
      operationId: WCFRelays_CreateOrUpdateAuthorizationRule
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/relayNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - description: The authorization rule parameters.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/AuthorizationRule"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: WCF relay authorization rule created.
          schema:
            $ref: "#/definitions/AuthorizationRule"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - WCFRelays
      x-ms-examples:
        RelayAuthorizationRuleCreate:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            namespaceName: sdk-RelayNamespace-01
            parameters:
              properties:
                rights:
                  - Listen
                  - Send
            relayName: sdk-Relay-wcf-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                id: /subscriptions/8c246e6a-cbc6-4a87-aff1-d6a886f376ef/resourceGroups/RG-eg/providers/Microsoft.Relay/namespaces/sdk-RelayNamespace-01/WcfRelays/sdk-Relay-Wcf-01/AuthorizationRules/sdk-RelayAuthRules-01
                name: sdk-RelayAuthRules-01
                properties:
                  rights:
                    - Listen
                    - Send
                type: Microsoft.Relay/Namespaces/WcfRelay/AuthorizationRules
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/listKeys":
    post:
      description: Primary and secondary connection strings to the WCF relay.
      operationId: WCFRelays_ListKeys
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/relayNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successful.
          schema:
            $ref: "#/definitions/AccessKeys"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - WCFRelays
      x-ms-examples:
        RelayAuthorizationRuleListKey.json:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            namespaceName: sdk-RelayNamespace-01
            relayName: sdk-Relay-wcf-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                keyName: sdk-RelayAuthRules-01
                primaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                primaryKey: "############################################"
                secondaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                secondaryKey: "############################################"
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Relay/namespaces/{namespaceName}/wcfRelays/{relayName}/authorizationRules/{authorizationRuleName}/regenerateKeys":
    post:
      description: Regenerates the primary or secondary connection strings to the WCF relay.
      operationId: WCFRelays_RegenerateKeys
      parameters:
        - $ref: "#/parameters/resourceGroupNameParameter"
        - $ref: "#/parameters/namespaceNameParameter"
        - $ref: "#/parameters/relayNameParameter"
        - $ref: "#/parameters/authorizationRuleNameParameter"
        - description: Parameters supplied to regenerate authorization rule.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/RegenerateAccessKeyParameters"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: Successful.
          schema:
            $ref: "#/definitions/AccessKeys"
        default:
          description: Relay error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - WCFRelays
      x-ms-examples:
        RelayAuthorizationRuleRegenrateKey.json:
          parameters:
            api-version: 2017-04-01
            authorizationRuleName: sdk-RelayAuthRules-01
            namespaceName: sdk-RelayNamespace-01
            parameters:
              keyType: PrimaryKey
            relayName: sdk-Relay-wcf-01
            resourceGroupName: RG-eg
            subscriptionId: 8c246e6a-cbc6-4a87-aff1-d6a886f376ef
          responses:
            "200":
              body:
                keyName: sdk-RelayAuthRules-01
                primaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                primaryKey: "############################################"
                secondaryConnectionString: Endpoint=sb://sdk-relaynamespace-01.servicebus.windows.net/;SharedAccessKeyName=sdk-RelayAuthRules-01;SharedAccessKey=############################################
                secondaryKey: "############################################"
definitions:
  AccessKeys:
    description: Namespace/Relay Connection String
    properties:
      keyName:
        description: A string that describes the authorization rule.
        type: string
      primaryConnectionString:
        description: Primary connection string of the created namespace authorization rule.
        type: string
      primaryKey:
        description: A base64-encoded 256-bit primary key for signing and validating the SAS token.
        type: string
      secondaryConnectionString:
        description: Secondary connection string of the created namespace authorization rule.
        type: string
      secondaryKey:
        description: A base64-encoded 256-bit secondary key for signing and validating the SAS token.
        type: string
  AuthorizationRule:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Description of a namespace authorization rule.
    properties:
      properties:
        description: Authorization rule properties.
        properties:
          rights:
            description: The rights associated with the rule.
            items:
              enum:
                - Manage
                - Send
                - Listen
              type: string
              x-ms-enum:
                modelAsString: false
                name: AccessRights
            type: array
            uniqueItems: true
        required:
          - rights
        x-ms-client-flatten: true
    required:
      - properties
  AuthorizationRuleListResult:
    description: The response from the list namespace operation.
    properties:
      nextLink:
        description: Link to the next set of results. Not empty if value contains incomplete list of authorization rules.
        type: string
      value:
        description: Result of the list authorization rules operation.
        items:
          $ref: "#/definitions/AuthorizationRule"
        type: array
  CheckNameAvailability:
    description: Description of the check name availability request properties.
    properties:
      name:
        description: The namespace name to check for availability. The namespace name can contain only letters, numbers, and hyphens. The namespace must start with a letter, and it must end with a letter or number.
        type: string
    required:
      - name
  CheckNameAvailabilityResult:
    description: Description of the check name availability request properties.
    properties:
      message:
        description: The detailed info regarding the reason associated with the namespace.
        readOnly: true
        type: string
      nameAvailable:
        description: Value indicating namespace is available. Returns true if the namespace is available; otherwise, false.
        type: boolean
      reason:
        $ref: "#/definitions/UnavailableReason"
        description: The reason for unavailability of a namespace.
  ErrorResponse:
    description: Error reponse indicates Relay service is not able to process the incoming request. The reason is provided in the error message.
    properties:
      code:
        description: Error code.
        type: string
      message:
        description: Error message indicating why the operation failed.
        type: string
    type: object
  HybridConnection:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Description of hybrid connection resource.
    properties:
      properties:
        description: Properties of the HybridConnection.
        properties:
          createdAt:
            description: The time the hybrid connection was created.
            format: date-time
            readOnly: true
            type: string
          listenerCount:
            description: "The number of listeners for this hybrid connection. Note that min : 1 and max:25 are supported."
            format: int32
            maximum: 25
            minimum: 0
            readOnly: true
            type: integer
          requiresClientAuthorization:
            description: Returns true if client authorization is needed for this hybrid connection; otherwise, false.
            type: boolean
          updatedAt:
            description: The time the namespace was updated.
            format: date-time
            readOnly: true
            type: string
          userMetadata:
            description: The usermetadata is a placeholder to store user-defined string data for the hybrid connection endpoint. For example, it can be used to store descriptive data, such as a list of teams and their contact information. Also, user-defined configuration settings can be stored.
            type: string
        x-ms-client-flatten: true
  HybridConnectionListResult:
    description: The response of the list hybrid connection operation.
    properties:
      nextLink:
        description: Link to the next set of results. Not empty if value contains incomplete list hybrid connection operation.
        type: string
      value:
        description: Result of the list hybrid connections.
        items:
          $ref: "#/definitions/HybridConnection"
        type: array
  Operation:
    description: A Relay REST API operation.
    properties:
      display:
        description: The object that represents the operation.
        properties:
          operation:
            description: "Operation type: Read, write, delete, etc."
            readOnly: true
            type: string
          provider:
            description: "Service provider: Relay."
            readOnly: true
            type: string
          resource:
            description: "Resource on which the operation is performed: Invoice, etc."
            readOnly: true
            type: string
      name:
        description: "Operation name: {provider}/{resource}/{operation}"
        readOnly: true
        type: string
    type: object
  OperationListResult:
    description: Result of the request to list Relay operations. It contains a list of operations and a URL link to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of operation list results if there are any.
        readOnly: true
        type: string
      value:
        description: List of Relay operations supported by resource provider.
        items:
          $ref: "#/definitions/Operation"
        readOnly: true
        type: array
  RegenerateAccessKeyParameters:
    description: Parameters supplied to the regenerate authorization rule operation, specifies which key neeeds to be reset.
    properties:
      key:
        description: Optional. If the key value is provided, this is set to key type, or autogenerated key value set for key type.
        type: string
      keyType:
        description: The access key to regenerate.
        enum:
          - PrimaryKey
          - SecondaryKey
        type: string
        x-ms-enum:
          modelAsString: false
          name: KeyType
    required:
      - keyType
  RelayNamespace:
    allOf:
      - $ref: "#/definitions/TrackedResource"
    description: Description of a namespace resource.
    properties:
      properties:
        $ref: "#/definitions/RelayNamespaceProperties"
        description: Description of Relay namespace
        x-ms-client-flatten: true
      sku:
        $ref: "#/definitions/Sku"
        description: SKU of the namespace.
  RelayNamespaceListResult:
    description: The response from the list namespace operation.
    properties:
      nextLink:
        description: Link to the next set of results. Not empty if value contains incomplete list of namespaces.
        type: string
      value:
        description: Result of the list namespace operation.
        items:
          $ref: "#/definitions/RelayNamespace"
        type: array
  RelayNamespaceProperties:
    description: Properties of the namespace.
    properties:
      createdAt:
        description: The time the namespace was created.
        format: date-time
        readOnly: true
        type: string
      metricId:
        description: Identifier for Azure Insights metrics.
        readOnly: true
        type: string
      provisioningState:
        enum:
          - Created
          - Succeeded
          - Deleted
          - Failed
          - Updating
          - Unknown
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: provisioningStateEnum
      serviceBusEndpoint:
        description: Endpoint you can use to perform Service Bus operations.
        readOnly: true
        type: string
      updatedAt:
        description: The time the namespace was updated.
        format: date-time
        readOnly: true
        type: string
  RelayUpdateParameters:
    allOf:
      - $ref: "#/definitions/ResourceNamespacePatch"
    description: Description of a namespace resource.
    properties:
      properties:
        $ref: "#/definitions/RelayNamespaceProperties"
        description: Description of Relay namespace.
        x-ms-client-flatten: true
      sku:
        $ref: "#/definitions/Sku"
        description: SKU of the namespace.
  Resource:
    description: The resource definition.
    properties:
      id:
        description: Resource ID.
        readOnly: true
        type: string
      name:
        description: Resource name.
        readOnly: true
        type: string
      type:
        description: Resource type.
        readOnly: true
        type: string
    x-ms-azure-resource: true
  ResourceNamespacePatch:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Definition of resource.
    properties:
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
  Sku:
    description: SKU of the namespace.
    properties:
      name:
        description: Name of this SKU.
        enum:
          - Standard
        type: string
        x-ms-enum:
          modelAsString: false
          name: SkuName
      tier:
        description: The tier of this SKU.
        enum:
          - Standard
        type: string
        x-ms-enum:
          modelAsString: false
          name: SkuTier
    required:
      - name
    type: object
  TrackedResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Definition of resource.
    properties:
      location:
        description: Resource location.
        type: string
        x-ms-mutability:
          - read
          - create
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
    required:
      - location
  UnavailableReason:
    description: Specifies the reason for the unavailability of the service.
    enum:
      - None
      - InvalidName
      - SubscriptionIsDisabled
      - NameInUse
      - NameInLockdown
      - TooManyNamespaceInCurrentSubscription
    type: string
    x-ms-enum:
      modelAsString: false
      name: UnavailableReason
  WcfRelay:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Description of the WCF relay resource.
    properties:
      properties:
        description: Properties of the WCF relay.
        properties:
          createdAt:
            description: The time the WCF relay was created.
            format: date-time
            readOnly: true
            type: string
          isDynamic:
            description: Returns true if the relay is dynamic; otherwise, false.
            readOnly: true
            type: boolean
          listenerCount:
            description: The number of listeners for this relay. Note that min :1 and max:25 are supported.
            format: int32
            maximum: 25
            minimum: 0
            readOnly: true
            type: integer
          relayType:
            description: WCF relay type.
            enum:
              - NetTcp
              - Http
            type: string
            x-ms-enum:
              modelAsString: false
              name: Relaytype
          requiresClientAuthorization:
            description: Returns true if client authorization is needed for this relay; otherwise, false.
            type: boolean
          requiresTransportSecurity:
            description: Returns true if transport security is needed for this relay; otherwise, false.
            type: boolean
          updatedAt:
            description: The time the namespace was updated.
            format: date-time
            readOnly: true
            type: string
          userMetadata:
            description: The usermetadata is a placeholder to store user-defined string data for the WCF Relay endpoint. For example, it can be used to store descriptive data, such as list of teams and their contact information. Also, user-defined configuration settings can be stored.
            type: string
        x-ms-client-flatten: true
  WcfRelaysListResult:
    description: The response of the list WCF relay operation.
    properties:
      nextLink:
        description: Link to the next set of results. Not empty if value contains incomplete list of WCF relays.
        type: string
      value:
        description: Result of the list WCF relay operation.
        items:
          $ref: "#/definitions/WcfRelay"
        type: array
