{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "Azure Service Bus client",
    "title": "ServiceBusManagementClient",
    "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/servicebus/resource-manager/Microsoft.ServiceBus/stable/2014-09-01/servicebus.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "servicebus",
    "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 that uniquely identify a 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",
      "maxLength": 50,
      "minLength": 1,
      "name": "authorizationRuleName",
      "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"
    },
    "queueNameParameter": {
      "description": "The queue name.",
      "in": "path",
      "maxLength": 50,
      "minLength": 1,
      "name": "queueName",
      "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"
    },
    "subscriptionNameParameter": {
      "description": "The subscription name.",
      "in": "path",
      "maxLength": 50,
      "minLength": 1,
      "name": "subscriptionName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "topicNameParameter": {
      "description": "The topic name.",
      "in": "path",
      "maxLength": 50,
      "minLength": 1,
      "name": "topicName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    }
  },
  "paths": {
    "/providers/Microsoft.ServiceBus/operations": {
      "get": {
        "description": "Lists all of the available ServiceBus REST API operations.",
        "operationId": "Operations_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "OK. The request has succeeded.",
            "schema": {
              "$ref": "#/definitions/OperationListResult"
            }
          }
        },
        "tags": [
          "Operations"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameAvailability": {
      "post": {
        "description": "Check the give namespace name availability.",
        "operationId": "Namespaces_CheckNameAvailability",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "description": "Parameters to check availability of the given namespace name",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckNameAvailability"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "check availability returned successfully.",
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityResult"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/CheckNameSpaceAvailability": {
      "post": {
        "description": "Check the give namespace name availability.",
        "operationId": "Namespaces_CheckNameSpaceAvailability",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "description": "Parameters to check availability of the given namespace name",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckNameAvailability"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "check availability returned successfully.",
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityResult"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ServiceBus/namespaces": {
      "get": {
        "description": "Gets all the available namespaces within the subscription, irrespective of the resource groups.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx"
        },
        "operationId": "Namespaces_ListBySubscription",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Namespaces successfully returned.",
            "schema": {
              "$ref": "#/definitions/NamespaceListResult"
            }
          }
        },
        "tags": [
          "Namespaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces": {
      "get": {
        "description": "Gets the available namespaces within a resource group.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx"
        },
        "operationId": "Namespaces_ListByResourceGroup",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Namespaces successfully returned.",
            "schema": {
              "$ref": "#/definitions/NamespaceListResult"
            }
          }
        },
        "tags": [
          "Namespaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}": {
      "delete": {
        "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx"
        },
        "operationId": "Namespaces_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Namespace successfully deleted."
          },
          "202": {
            "description": "Namespace delete request accepted."
          },
          "204": {
            "description": "No content."
          }
        },
        "tags": [
          "Namespaces"
        ],
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets a description for the specified namespace.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx"
        },
        "operationId": "Namespaces_Get",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Namespace successfully returned.",
            "schema": {
              "$ref": "#/definitions/NamespaceResource"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      },
      "patch": {
        "description": "Updates a service 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 supplied to update a namespace resource.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/NamespaceUpdateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Namespace updated successfully.",
            "schema": {
              "$ref": "#/definitions/NamespaceResource"
            }
          },
          "201": {
            "description": "Namespace update request accepted.",
            "schema": {
              "$ref": "#/definitions/NamespaceResource"
            }
          },
          "202": {
            "description": "Namespace update request accepted."
          }
        },
        "tags": [
          "Namespaces"
        ]
      },
      "put": {
        "description": "Creates or updates a service namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx"
        },
        "operationId": "Namespaces_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "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": "Namespace created successfully.",
            "schema": {
              "$ref": "#/definitions/NamespaceResource"
            }
          },
          "201": {
            "description": "Namespace create request accepted.",
            "schema": {
              "$ref": "#/definitions/NamespaceResource"
            }
          },
          "202": {
            "description": "Namespace create or update request accepted."
          }
        },
        "tags": [
          "Namespaces"
        ],
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules": {
      "get": {
        "description": "Gets the authorization rules for a namespace.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639376.aspx"
        },
        "operationId": "Namespaces_ListAuthorizationRules",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Namespace authorization rules returned successfully.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleListResult"
            }
          }
        },
        "tags": [
          "Namespaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      },
      "post": {
        "description": "Gets the authorization rules for a namespace.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639376.aspx"
        },
        "operationId": "Namespaces_ListPostAuthorizationRules",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Namespace authorization rules returned successfully.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleListResult"
            }
          }
        },
        "tags": [
          "Namespaces"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/AuthorizationRules/{authorizationRuleName}": {
      "delete": {
        "description": "Deletes a namespace authorization rule.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639417.aspx"
        },
        "operationId": "Namespaces_DeleteAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Namespace authorization rule successfully deleted."
          },
          "204": {
            "description": "No content."
          }
        },
        "tags": [
          "Namespaces"
        ]
      },
      "get": {
        "description": "Gets an authorization rule for a namespace by rule name.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639392.aspx"
        },
        "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/SharedAccessAuthorizationRuleGetResource"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      },
      "post": {
        "description": "Gets an authorization rule for a namespace by rule name.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639392.aspx"
        },
        "operationId": "Namespaces_PostAuthorizationRule",
        "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/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      },
      "put": {
        "description": "Creates or updates an authorization rule for a namespace.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639410.aspx"
        },
        "operationId": "Namespaces_CreateOrUpdateAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "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": "Namespace authorization rule created.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "Namespaces"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules": {
      "get": {
        "description": "Gets authorization rules for a eventhub.",
        "operationId": "EventHub_ListAuthorizationRules",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "description": "The eventhub name.",
            "in": "path",
            "name": "eventhubName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Authorization rules successfully returned.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleListResult"
            }
          }
        },
        "tags": [
          "EventHub"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/eventhubs/{eventhubName}/authorizationRules/{authorizationRuleName}": {
      "get": {
        "description": "Returns the specified authorization rule.",
        "operationId": "EventHub_GetAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "description": "The eventhub name.",
            "in": "path",
            "name": "eventhubName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Eventhub authorization rule returned successfully.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "EventHub"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/messagingplan": {
      "get": {
        "description": "Gets a description for the specified namespace.",
        "operationId": "MessagingPlan_Get",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Messaging Plan successfully returned.",
            "schema": {
              "$ref": "#/definitions/MessagingPlan"
            }
          }
        },
        "tags": [
          "MessagingPlan"
        ]
      },
      "put": {
        "description": "Creates or updates a Messaging Plan for a namespace",
        "operationId": "MessagingPlan_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "description": "The namespace name.",
            "in": "path",
            "name": "namespaceName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "description": "Parameters supplied to create a messaging plan.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MessagingPlan"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Messaging Plan created successfully.",
            "schema": {
              "$ref": "#/definitions/MessagingPlan"
            }
          },
          "202": {
            "description": "MessagingPlan create or update request accepted."
          }
        },
        "tags": [
          "MessagingPlan"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues": {
      "get": {
        "description": "Gets the queues within a namespace.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639415.aspx"
        },
        "operationId": "Queues_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Queues successfully returned.",
            "schema": {
              "$ref": "#/definitions/QueueListResult"
            }
          }
        },
        "tags": [
          "Queues"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}": {
      "delete": {
        "description": "Deletes a queue from the specified namespace in a resource group.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639411.aspx"
        },
        "operationId": "Queues_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/queueNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Queue successfully deleted."
          },
          "204": {
            "description": "No content."
          }
        },
        "tags": [
          "Queues"
        ]
      },
      "get": {
        "description": "Returns a description for the specified queue.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639380.aspx"
        },
        "operationId": "Queues_Get",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/queueNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Queue description successfully returned.",
            "schema": {
              "$ref": "#/definitions/QueueResource"
            }
          }
        },
        "tags": [
          "Queues"
        ]
      },
      "put": {
        "description": "Creates or updates a Service Bus queue. This operation is idempotent.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639395.aspx"
        },
        "operationId": "Queues_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/queueNameParameter"
          },
          {
            "description": "Parameters supplied to create or update a queue resource.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/QueueCreateOrUpdateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Queue successfully created.",
            "schema": {
              "$ref": "#/definitions/QueueResource"
            }
          }
        },
        "tags": [
          "Queues"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules": {
      "get": {
        "description": "Gets all authorization rules for a queue.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt705607.aspx"
        },
        "operationId": "Queues_ListAuthorizationRules",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/queueNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Authorization rules successfully returned.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleListResult"
            }
          }
        },
        "tags": [
          "Queues"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/queues/{queueName}/authorizationRules/{authorizationRuleName}": {
      "delete": {
        "description": "Deletes a queue authorization rule.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt705609.aspx"
        },
        "operationId": "Queues_DeleteAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/queueNameParameter"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Authorization rule successfully deleted."
          },
          "204": {
            "description": "No content."
          }
        },
        "tags": [
          "Queues"
        ]
      },
      "get": {
        "description": "Gets an authorization rule for a queue by rule name.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt705611.aspx"
        },
        "operationId": "Queues_GetAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/queueNameParameter"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Authorization rule successfully returned.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleGetResource"
            }
          }
        },
        "tags": [
          "Queues"
        ]
      },
      "post": {
        "description": "Gets an authorization rule for a queue by rule name.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt705611.aspx"
        },
        "operationId": "Queues_PostAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/queueNameParameter"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Authorization rule successfully returned.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "Queues"
        ]
      },
      "put": {
        "description": "Creates an authorization rule for a queue.",
        "operationId": "Queues_CreateOrUpdateAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/queueNameParameter"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "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": "Authorization rule successfully created.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "Queues"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics": {
      "get": {
        "description": "Gets all the topics in a namespace.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639388.aspx"
        },
        "operationId": "Topics_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved list of topics.",
            "schema": {
              "$ref": "#/definitions/TopicListResult"
            }
          }
        },
        "tags": [
          "Topics"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}": {
      "delete": {
        "description": "Deletes a topic from the specified namespace and resource group.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639404.aspx"
        },
        "operationId": "Topics_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Topic successfully deleted."
          },
          "204": {
            "description": "No Content"
          }
        },
        "tags": [
          "Topics"
        ]
      },
      "get": {
        "description": "Returns a description for the specified topic.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639399.aspx"
        },
        "operationId": "Topics_Get",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Topic description successfully retrieved.",
            "schema": {
              "$ref": "#/definitions/TopicResource"
            }
          }
        },
        "tags": [
          "Topics"
        ]
      },
      "put": {
        "description": "Creates a topic in the specified namespace.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639409.aspx"
        },
        "operationId": "Topics_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "description": "Parameters supplied to create a topic resource.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/TopicCreateOrUpdateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Topic successfully created.",
            "schema": {
              "$ref": "#/definitions/TopicResource"
            }
          }
        },
        "tags": [
          "Topics"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules": {
      "get": {
        "description": "Gets authorization rules for a topic.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt720681.aspx"
        },
        "operationId": "Topics_ListAuthorizationRules",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Authorization rules successfully returned.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleListResult"
            }
          }
        },
        "tags": [
          "Topics"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/authorizationRules/{authorizationRuleName}": {
      "delete": {
        "description": "Deletes a topic authorization rule.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt720681.aspx"
        },
        "operationId": "Topics_DeleteAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Topic authorization rule successfully deleted."
          },
          "204": {
            "description": "No content."
          }
        },
        "tags": [
          "Topics"
        ]
      },
      "get": {
        "description": "Returns the specified authorization rule.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt720676.aspx"
        },
        "operationId": "Topics_GetAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Topic authorization rule returned successfully.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleGetResource"
            }
          }
        },
        "tags": [
          "Topics"
        ]
      },
      "post": {
        "description": "Returns the specified authorization rule.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt720676.aspx"
        },
        "operationId": "Topics_PostAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Topic authorization rule returned successfully.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "Topics"
        ]
      },
      "put": {
        "description": "Creates an authorization rule for the specified topic.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt720678.aspx"
        },
        "operationId": "Topics_CreateOrUpdateAuthorizationRule",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/authorizationRuleNameParameter"
          },
          {
            "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": "Topic authorization rule successfully created.",
            "schema": {
              "$ref": "#/definitions/SharedAccessAuthorizationRuleResource"
            }
          }
        },
        "tags": [
          "Topics"
        ]
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions": {
      "get": {
        "description": "List all the subscriptions under a specified topic.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639400.aspx"
        },
        "operationId": "Subscriptions_ListAll",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved list of subscriptions.",
            "schema": {
              "$ref": "#/definitions/SubscriptionListResult"
            }
          }
        },
        "tags": [
          "Subscriptions"
        ],
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ServiceBus/namespaces/{namespaceName}/topics/{topicName}/subscriptions/{subscriptionName}": {
      "delete": {
        "description": "Deletes a subscription from the specified topic.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639381.aspx"
        },
        "operationId": "Subscriptions_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription successfully deleted."
          },
          "204": {
            "description": "No content."
          }
        },
        "tags": [
          "Subscriptions"
        ]
      },
      "get": {
        "description": "Returns a subscription description for the specified topic.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639402.aspx"
        },
        "operationId": "Subscriptions_Get",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionNameParameter"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved subscription description.",
            "schema": {
              "$ref": "#/definitions/SubscriptionResource"
            }
          }
        },
        "tags": [
          "Subscriptions"
        ]
      },
      "put": {
        "description": "Creates a topic subscription.",
        "externalDocs": {
          "url": "https://msdn.microsoft.com/en-us/library/azure/mt639385.aspx"
        },
        "operationId": "Subscriptions_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/namespaceNameParameter"
          },
          {
            "$ref": "#/parameters/topicNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionNameParameter"
          },
          {
            "description": "Parameters supplied to create a subscription resource.",
            "in": "body",
            "name": "parameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/SubscriptionCreateOrUpdateParameters"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Subscription create request accepted.",
            "schema": {
              "$ref": "#/definitions/SubscriptionResource"
            }
          }
        },
        "tags": [
          "Subscriptions"
        ]
      }
    }
  },
  "definitions": {
    "CheckNameAvailability": {
      "description": "Description of a Check Name availability request properties.",
      "properties": {
        "name": {
          "description": "The Name to check the namespace name availability and 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 a 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 availability, true if the namespace is available; otherwise, false.",
          "type": "boolean"
        },
        "reason": {
          "$ref": "#/definitions/UnavailableReason",
          "description": "The reason for unavailability of a namespace."
        }
      }
    },
    "EntityAvailabilityStatus": {
      "description": "Entity availability status.",
      "enum": [
        "Available",
        "Limited",
        "Renaming",
        "Restoring",
        "Unknown"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "EntityAvailabilityStatus"
      }
    },
    "EntityStatus": {
      "description": "Entity status.",
      "enum": [
        "Active",
        "Creating",
        "Deleting",
        "Disabled",
        "ReceiveDisabled",
        "Renaming",
        "Restoring",
        "SendDisabled",
        "Unknown"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": false,
        "name": "EntityStatus"
      }
    },
    "MessageCountDetails": {
      "description": "Message Count Details.",
      "properties": {
        "activeMessageCount": {
          "description": "Number of active messages in the queue, topic, or subscription.",
          "format": "int64",
          "readOnly": true,
          "type": "integer"
        },
        "deadLetterMessageCount": {
          "description": "Number of messages that are dead lettered.",
          "format": "int64",
          "readOnly": true,
          "type": "integer"
        },
        "scheduledMessageCount": {
          "description": "Number of scheduled messages.",
          "format": "int64",
          "readOnly": true,
          "type": "integer"
        },
        "transferDeadLetterMessageCount": {
          "description": "Number of messages transferred into dead letters.",
          "format": "int64",
          "readOnly": true,
          "type": "integer"
        },
        "transferMessageCount": {
          "description": "Number of messages transferred to another queue, topic, or subscription.",
          "format": "int64",
          "readOnly": true,
          "type": "integer"
        }
      },
      "type": "object"
    },
    "MessagingPlan": {
      "allOf": [
        {
          "$ref": "#/definitions/TrackedResource"
        }
      ],
      "description": "Premium Messaging",
      "properties": {
        "properties": {
          "$ref": "#/definitions/MessagingPlanproperties",
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "MessagingPlanproperties": {
      "description": "Premium Messaging Region",
      "properties": {
        "revision": {
          "description": "revision number",
          "format": "int64",
          "type": "integer"
        },
        "selectedEventHubUnit": {
          "description": "Selected event hub unit",
          "format": "int32",
          "type": "integer"
        },
        "sku": {
          "description": "Sku type",
          "format": "int32",
          "type": "integer"
        },
        "updatedAt": {
          "description": "The exact time the messaging plan was updated.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "NamespaceCreateOrUpdateParameters": {
      "description": "Parameters supplied to the Create Or Update Namespace operation.",
      "properties": {
        "location": {
          "description": "Namespace location.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/NamespaceProperties",
          "x-ms-client-flatten": true
        },
        "sku": {
          "$ref": "#/definitions/Sku"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Namespace tags.",
          "type": "object"
        }
      },
      "required": [
        "location"
      ]
    },
    "NamespaceListResult": {
      "description": "The response of 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/NamespaceResource"
          },
          "type": "array"
        }
      }
    },
    "NamespaceProperties": {
      "description": "Properties of the namespace.",
      "properties": {
        "createACSNamespace": {
          "description": "Indicates whether to create an ACS namespace.",
          "type": "boolean"
        },
        "createdAt": {
          "description": "The time the namespace was created.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "enabled": {
          "description": "Specifies whether this instance is enabled.",
          "type": "boolean"
        },
        "provisioningState": {
          "description": "Provisioning state of the namespace.",
          "readOnly": true,
          "type": "string"
        },
        "serviceBusEndpoint": {
          "description": "Endpoint you can use to perform Service Bus operations.",
          "readOnly": true,
          "type": "string"
        },
        "status": {
          "description": "State of the namespace.",
          "enum": [
            "Unknown",
            "Creating",
            "Created",
            "Activating",
            "Enabling",
            "Active",
            "Disabling",
            "Disabled",
            "SoftDeleting",
            "SoftDeleted",
            "Removing",
            "Removed",
            "Failed"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": false,
            "name": "NamespaceState"
          }
        },
        "updatedAt": {
          "description": "The time the namespace was updated.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "NamespaceResource": {
      "allOf": [
        {
          "$ref": "#/definitions/TrackedResource"
        }
      ],
      "description": "Description of a namespace resource.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/NamespaceProperties",
          "x-ms-client-flatten": true
        },
        "sku": {
          "$ref": "#/definitions/Sku"
        }
      }
    },
    "NamespaceUpdateParameters": {
      "description": "Parameters supplied to the Patch Namespace operation.",
      "properties": {
        "sku": {
          "$ref": "#/definitions/Sku",
          "description": "The sku of the created namespace"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource tags",
          "type": "object"
        }
      }
    },
    "Operation": {
      "description": "A ServiceBus 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: Microsoft.ServiceBus",
              "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 ServiceBus 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 ServiceBus operations supported by the Microsoft.ServiceBus resource provider.",
          "items": {
            "$ref": "#/definitions/Operation"
          },
          "readOnly": true,
          "type": "array"
        }
      }
    },
    "QueueCreateOrUpdateParameters": {
      "description": "Parameters supplied to the Create Or Update Queue operation.",
      "properties": {
        "location": {
          "description": "location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "Queue name.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/QueueProperties",
          "x-ms-client-flatten": true
        }
      },
      "required": [
        "location"
      ]
    },
    "QueueListResult": {
      "description": "The response to the List Queues operation.",
      "properties": {
        "nextLink": {
          "description": "Link to the next set of results. Not empty if Value contains incomplete list of queues.",
          "type": "string"
        },
        "value": {
          "description": "Result of the List Queues operation.",
          "items": {
            "$ref": "#/definitions/QueueResource"
          },
          "type": "array"
        }
      }
    },
    "QueueProperties": {
      "description": "The Queue Properties definition.",
      "properties": {
        "accessedAt": {
          "description": "Last time a message was sent, or the last time there was a receive request to this queue.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "autoDeleteOnIdle": {
          "description": "the TimeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes.",
          "type": "string"
        },
        "countDetails": {
          "$ref": "#/definitions/MessageCountDetails",
          "readOnly": true
        },
        "createdAt": {
          "description": "The exact time the message was created.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "deadLetteringOnMessageExpiration": {
          "description": "A value that indicates whether this queue has dead letter support when a message expires.",
          "type": "boolean"
        },
        "defaultMessageTimeToLive": {
          "description": "The default message time to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.",
          "type": "string"
        },
        "duplicateDetectionHistoryTimeWindow": {
          "description": "TimeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.",
          "type": "string"
        },
        "enableBatchedOperations": {
          "description": "A value that indicates whether server-side batched operations are enabled.",
          "type": "boolean"
        },
        "enableExpress": {
          "description": "A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage.",
          "type": "boolean"
        },
        "enablePartitioning": {
          "description": "A value that indicates whether the queue is to be partitioned across multiple message brokers.",
          "type": "boolean"
        },
        "entityAvailabilityStatus": {
          "$ref": "#/definitions/EntityAvailabilityStatus",
          "description": "Entity availability status for the queue."
        },
        "isAnonymousAccessible": {
          "description": "A value that indicates whether the message is accessible anonymously.",
          "type": "boolean"
        },
        "lockDuration": {
          "description": "The duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.",
          "type": "string"
        },
        "maxDeliveryCount": {
          "description": "The maximum delivery count. A message is automatically deadlettered after this number of deliveries.",
          "format": "int32",
          "type": "integer"
        },
        "maxSizeInMegabytes": {
          "description": "The maximum size of the queue in megabytes, which is the size of memory allocated for the queue.",
          "format": "int64",
          "type": "integer"
        },
        "messageCount": {
          "description": "The number of messages in the queue.",
          "format": "int64",
          "readOnly": true,
          "type": "integer"
        },
        "requiresDuplicateDetection": {
          "description": "A value indicating if this queue requires duplicate detection.",
          "type": "boolean"
        },
        "requiresSession": {
          "description": "A value that indicates whether the queue supports the concept of sessions.",
          "type": "boolean"
        },
        "sizeInBytes": {
          "description": "The size of the queue, in bytes.",
          "format": "int64",
          "readOnly": true,
          "type": "integer"
        },
        "status": {
          "$ref": "#/definitions/EntityStatus",
          "description": "Enumerates the possible values for the status of a messaging entity."
        },
        "supportOrdering": {
          "description": "A value that indicates whether the queue supports ordering.",
          "type": "boolean"
        },
        "updatedAt": {
          "description": "The exact time the message was updated.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "QueueResource": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Description of queue Resource.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/QueueProperties",
          "x-ms-client-flatten": true
        }
      }
    },
    "Resource": {
      "description": "The Resource definition for other than namespace.",
      "properties": {
        "id": {
          "description": "Resource Id",
          "readOnly": true,
          "type": "string"
        },
        "location": {
          "description": "Resource location.",
          "type": "string"
        },
        "name": {
          "description": "Resource name",
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "description": "Resource type",
          "readOnly": true,
          "type": "string"
        }
      },
      "x-ms-azure-resource": true
    },
    "SharedAccessAuthorizationRuleCreateOrUpdateParameters": {
      "description": "Parameters supplied to the Create Or Update Authorization Rules operation.",
      "properties": {
        "location": {
          "description": "data center location.",
          "type": "string"
        },
        "name": {
          "description": "Name of the authorization rule.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/SharedAccessAuthorizationRuleProperties",
          "x-ms-client-flatten": true
        }
      }
    },
    "SharedAccessAuthorizationRuleGetProperties": {
      "description": "SharedAccessAuthorizationRule 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"
        }
      },
      "required": [
        "rights"
      ]
    },
    "SharedAccessAuthorizationRuleGetResource": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Description of a namespace authorization rule.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/SharedAccessAuthorizationRuleGetProperties",
          "x-ms-client-flatten": true
        }
      }
    },
    "SharedAccessAuthorizationRuleListResult": {
      "description": "The response to 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/SharedAccessAuthorizationRuleResource"
          },
          "type": "array"
        }
      }
    },
    "SharedAccessAuthorizationRuleProperties": {
      "description": "AuthorizationRule properties.",
      "properties": {
        "claimType": {
          "description": "A string that describes Claim Type for authorization rule.",
          "type": "string"
        },
        "claimValue": {
          "description": "A string that describes Claim Value of authorization rule.",
          "type": "string"
        },
        "createdTime": {
          "description": "The time the namespace was created.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "keyName": {
          "description": "A string that describes the Key Name of authorization rule.",
          "type": "string"
        },
        "modifiedTime": {
          "description": "The time the namespace was updated.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "primaryKey": {
          "description": "A base64-encoded 256-bit primary key for signing and validating the SAS token.",
          "type": "string"
        },
        "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": "A base64-encoded 256-bit primary key for signing and validating the SAS token.",
          "type": "string"
        }
      },
      "required": [
        "rights"
      ]
    },
    "SharedAccessAuthorizationRuleResource": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Description of a namespace authorization rule.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/SharedAccessAuthorizationRuleProperties",
          "x-ms-client-flatten": true
        }
      }
    },
    "Sku": {
      "description": "SKU of the namespace.",
      "properties": {
        "capacity": {
          "description": "The specified messaging units for the tier.",
          "format": "int32",
          "type": "integer"
        },
        "name": {
          "description": "Name of this SKU.",
          "enum": [
            "Basic",
            "Standard",
            "Premium"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "SkuName"
          }
        },
        "tier": {
          "description": "The billing tier of this particular SKU.",
          "enum": [
            "Basic",
            "Standard",
            "Premium"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "SkuTier"
          }
        }
      },
      "required": [
        "tier"
      ],
      "type": "object"
    },
    "SubscriptionCreateOrUpdateParameters": {
      "description": "Parameters supplied to the Create Or Update Subscription operation.",
      "properties": {
        "location": {
          "description": "Subscription data center location.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/SubscriptionProperties",
          "x-ms-client-flatten": true
        },
        "type": {
          "description": "Resource manager type of the resource.",
          "type": "string"
        }
      },
      "required": [
        "location"
      ]
    },
    "SubscriptionListResult": {
      "description": "The response to the List Subscriptions operation.",
      "properties": {
        "nextLink": {
          "description": "Link to the next set of results. Not empty if Value contains incomplete list of subscriptions.",
          "type": "string"
        },
        "value": {
          "description": "Result of the List Subscriptions operation.",
          "items": {
            "$ref": "#/definitions/SubscriptionResource"
          },
          "type": "array"
        }
      }
    },
    "SubscriptionProperties": {
      "description": "Description of Subscription Resource.",
      "properties": {
        "accessedAt": {
          "description": "Last time there was a receive request to this subscription.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "autoDeleteOnIdle": {
          "description": "TimeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes.",
          "type": "string"
        },
        "countDetails": {
          "$ref": "#/definitions/MessageCountDetails",
          "readOnly": true
        },
        "createdAt": {
          "description": "Exact time the message was created.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "deadLetteringOnFilterEvaluationExceptions": {
          "description": "Value that indicates whether a subscription has dead letter support on filter evaluation exceptions.",
          "type": "boolean"
        },
        "deadLetteringOnMessageExpiration": {
          "description": "Value that indicates whether a subscription has dead letter support when a message expires.",
          "type": "boolean"
        },
        "defaultMessageTimeToLive": {
          "description": "Default message time to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.",
          "type": "string"
        },
        "enableBatchedOperations": {
          "description": "Value that indicates whether server-side batched operations are enabled.",
          "type": "boolean"
        },
        "entityAvailabilityStatus": {
          "$ref": "#/definitions/EntityAvailabilityStatus",
          "description": "Entity availability status for the topic."
        },
        "isReadOnly": {
          "description": "Value that indicates whether the entity description is read-only.",
          "type": "boolean"
        },
        "lockDuration": {
          "description": "The lock duration time span for the subscription.",
          "type": "string"
        },
        "maxDeliveryCount": {
          "description": "Number of maximum deliveries.",
          "format": "int32",
          "type": "integer"
        },
        "messageCount": {
          "description": "Number of messages.",
          "format": "int64",
          "readOnly": true,
          "type": "integer"
        },
        "requiresSession": {
          "description": "Value indicating if a subscription supports the concept of sessions.",
          "type": "boolean"
        },
        "status": {
          "$ref": "#/definitions/EntityStatus",
          "description": "Enumerates the possible values for the status of a messaging entity."
        },
        "updatedAt": {
          "description": "The exact time the message was updated.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "SubscriptionResource": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Description of subscription resource.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/SubscriptionProperties",
          "x-ms-client-flatten": true
        }
      }
    },
    "TopicCreateOrUpdateParameters": {
      "description": "Parameters supplied to the Create Or Update Topic operation.",
      "properties": {
        "location": {
          "description": "Location of the resource.",
          "type": "string"
        },
        "name": {
          "description": "Topic name.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/TopicProperties",
          "x-ms-client-flatten": true
        }
      },
      "required": [
        "location"
      ]
    },
    "TopicListResult": {
      "description": "The response to the List Topics operation.",
      "properties": {
        "nextLink": {
          "description": "Link to the next set of results. Not empty if Value contains incomplete list of topics.",
          "type": "string"
        },
        "value": {
          "description": "Result of the List Topics operation.",
          "items": {
            "$ref": "#/definitions/TopicResource"
          },
          "type": "array"
        }
      }
    },
    "TopicProperties": {
      "description": "The Topic Properties definition.",
      "properties": {
        "accessedAt": {
          "description": "Last time the message was sent, or a request was received, for this topic.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "autoDeleteOnIdle": {
          "description": "TimeSpan idle interval after which the topic is automatically deleted. The minimum duration is 5 minutes.",
          "type": "string"
        },
        "countDetails": {
          "$ref": "#/definitions/MessageCountDetails",
          "readOnly": true
        },
        "createdAt": {
          "description": "Exact time the message was created.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "defaultMessageTimeToLive": {
          "description": "Default message time to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.",
          "type": "string"
        },
        "duplicateDetectionHistoryTimeWindow": {
          "description": "TimeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.",
          "type": "string"
        },
        "enableBatchedOperations": {
          "description": "Value that indicates whether server-side batched operations are enabled.",
          "type": "boolean"
        },
        "enableExpress": {
          "description": "Value that indicates whether Express Entities are enabled. An express topic holds a message in memory temporarily before writing it to persistent storage.",
          "type": "boolean"
        },
        "enablePartitioning": {
          "description": "Value that indicates whether the topic to be partitioned across multiple message brokers is enabled.",
          "type": "boolean"
        },
        "entityAvailabilityStatus": {
          "$ref": "#/definitions/EntityAvailabilityStatus",
          "description": "Entity availability status for the topic."
        },
        "filteringMessagesBeforePublishing": {
          "description": "Whether messages should be filtered before publishing.",
          "type": "boolean"
        },
        "isAnonymousAccessible": {
          "description": "Value that indicates whether the message is accessible anonymously.",
          "type": "boolean"
        },
        "isExpress": {
          "description": "",
          "type": "boolean"
        },
        "maxSizeInMegabytes": {
          "description": "Maximum size of the topic in megabytes, which is the size of the memory allocated for the topic.",
          "format": "int64",
          "type": "integer"
        },
        "requiresDuplicateDetection": {
          "description": "Value indicating if this topic requires duplicate detection.",
          "type": "boolean"
        },
        "sizeInBytes": {
          "description": "Size of the topic, in bytes.",
          "format": "int64",
          "readOnly": true,
          "type": "integer"
        },
        "status": {
          "$ref": "#/definitions/EntityStatus",
          "description": "Enumerates the possible values for the status of a messaging entity."
        },
        "subscriptionCount": {
          "description": "Number of subscriptions.",
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "supportOrdering": {
          "description": "Value that indicates whether the topic supports ordering.",
          "type": "boolean"
        },
        "updatedAt": {
          "description": "The exact time the message was updated.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "TopicResource": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "Description of topic resource.",
      "properties": {
        "properties": {
          "$ref": "#/definitions/TopicProperties",
          "x-ms-client-flatten": true
        }
      }
    },
    "TrackedResource": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "The Resource definition.",
      "properties": {
        "location": {
          "description": "Resource location",
          "type": "string"
        },
        "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": true,
        "name": "UnavailableReason"
      }
    }
  }
}