Class ServiceBusAdministrationClient

java.lang.Object
com.azure.messaging.servicebus.administration.ServiceBusAdministrationClient

public final class ServiceBusAdministrationClient extends Object
A synchronous client for managing a Service Bus namespace.

Create a queue

 QueueProperties queue = client.createQueue("my-new-queue");
 System.out.printf("Queue created. Name: %s. Lock Duration: %s.%n",
     queue.getName(), queue.getLockDuration());
 

Edit an existing subscription

 // To update the subscription we have to:
 // 1. Get the subscription info from the service.
 // 2. Update the SubscriptionProperties we want to change.
 // 3. Call the updateSubscription() with the updated object.
 SubscriptionProperties subscription = client.getSubscription("my-topic", "my-subscription");

 System.out.println("Original delivery count: " + subscription.getMaxDeliveryCount());

 // Updating it to a new value.
 subscription.setMaxDeliveryCount(5);

 // Persisting the updates to the subscription object.
 SubscriptionProperties updated = client.updateSubscription(subscription);

 System.out.printf("Subscription updated. Name: %s. Delivery count: %s.%n",
     updated.getSubscriptionName(), updated.getMaxDeliveryCount());
 

List all queues

 client.listQueues().forEach(queue -> {
     System.out.printf("Queue [%s]. Lock Duration: %s.%n",
         queue.getName(), queue.getLockDuration());
 });
 
See Also:
  • Method Details

    • createQueue

      public QueueProperties createQueue(String queueName)
      Creates a queue with the given name.
      Parameters:
      queueName - Name of the queue to create.
      Returns:
      The created queue.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the queue quota is exceeded, or an error occurred processing the request.
      NullPointerException - if queueName is null.
      IllegalArgumentException - if queueName is an empty string.
      com.azure.core.exception.ResourceExistsException - if a queue exists with the same queueName.
      See Also:
    • createQueue

      public QueueProperties createQueue(String queueName, CreateQueueOptions queueOptions)
      Creates a queue with the CreateQueueOptions.
      Parameters:
      queueName - Name of the queue to create.
      queueOptions - Information about the queue to create.
      Returns:
      The created queue.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the queue quota is exceeded, or an error occurred processing the request.
      NullPointerException - if queue is null.
      com.azure.core.exception.ResourceExistsException - if a queue exists with the same queueName.
      See Also:
    • createQueueWithResponse

      public com.azure.core.http.rest.Response<QueueProperties> createQueueWithResponse(String queueName, CreateQueueOptions queueOptions, com.azure.core.util.Context context)
      Creates a queue and returns the created queue in addition to the HTTP response.
      Parameters:
      queueName - Name of the queue to create.
      queueOptions - Information about the queue to create.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The created queue in addition to the HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the queue quota is exceeded, or an error occurred processing the request.
      NullPointerException - if queue is null.
      com.azure.core.exception.ResourceExistsException - if a queue exists with the same queueName.
      See Also:
    • createRule

      public RuleProperties createRule(String topicName, String subscriptionName, String ruleName)
      Creates a rule under the given topic and subscription
      Parameters:
      topicName - Name of the topic associated with rule.
      subscriptionName - Name of the subscription associated with the rule.
      ruleName - Name of the rule.
      Returns:
      Information about the created rule.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if topicName or ruleName are are empty strings.
      NullPointerException - if topicName or ruleName are are null.
      com.azure.core.exception.ResourceExistsException - if a rule exists with the same topic, subscription, and rule name.
    • createRule

      public RuleProperties createRule(String topicName, String ruleName, String subscriptionName, CreateRuleOptions ruleOptions)
      Creates a rule with the CreateRuleOptions.
      Parameters:
      topicName - Name of the topic associated with rule.
      subscriptionName - Name of the subscription associated with the rule.
      ruleName - Name of the rule.
      ruleOptions - Information about the rule to create.
      Returns:
      Information about the created rule.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if topicName or ruleName are are empty strings.
      NullPointerException - if topicName, ruleName, or ruleOptions are are null.
      com.azure.core.exception.ResourceExistsException - if a rule exists with the same topic and rule name.
    • createRuleWithResponse

      public com.azure.core.http.rest.Response<RuleProperties> createRuleWithResponse(String topicName, String subscriptionName, String ruleName, CreateRuleOptions ruleOptions, com.azure.core.util.Context context)
      Creates a rule and returns the created rule in addition to the HTTP response.
      Parameters:
      topicName - Name of the topic associated with rule.
      subscriptionName - Name of the subscription associated with the rule.
      ruleName - Name of the rule.
      ruleOptions - Information about the rule to create.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The created rule in addition to the HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if topicName or ruleName are are empty strings.
      NullPointerException - if topicName, ruleName, or ruleOptions are are null.
      com.azure.core.exception.ResourceExistsException - if a rule exists with the same topic and rule name.
    • createSubscription

      public SubscriptionProperties createSubscription(String topicName, String subscriptionName)
      Creates a subscription with the given topic and subscription names.
      Parameters:
      topicName - Name of the topic associated with subscription.
      subscriptionName - Name of the subscription.
      Returns:
      Information about the created subscription.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the quota is exceeded, or an error occurred processing the request.
      NullPointerException - if topicName or subscriptionName are are empty strings.
      IllegalArgumentException - if topicName or subscriptionName are are null.
      com.azure.core.exception.ResourceExistsException - if a subscription exists with the same topic and subscription name.
      See Also:
    • createSubscription

      public SubscriptionProperties createSubscription(String topicName, String subscriptionName, CreateSubscriptionOptions subscriptionOptions)
      Creates a subscription with the SubscriptionProperties.
      Parameters:
      topicName - Name of the topic associated with subscription.
      subscriptionName - Name of the subscription.
      subscriptionOptions - Information about the subscription to create.
      Returns:
      Information about the created subscription.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if topicName or subscriptionName are are empty strings.
      NullPointerException - if topicName, subscriptionName, or subscriptionOptions are are null.
      com.azure.core.exception.ResourceExistsException - if a subscription exists with the same topic and subscription name.
      See Also:
    • createSubscriptionWithResponse

      public com.azure.core.http.rest.Response<SubscriptionProperties> createSubscriptionWithResponse(String topicName, String subscriptionName, CreateSubscriptionOptions subscriptionOptions, com.azure.core.util.Context context)
      Creates a queue and returns the created queue in addition to the HTTP response.
      Parameters:
      topicName - Name of the topic associated with subscription.
      subscriptionName - Name of the subscription.
      subscriptionOptions - Information about the subscription to create.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The created subscription in addition to the HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the quota is exceeded, or an error occurred processing the request.
      NullPointerException - if subscription is null.
      com.azure.core.exception.ResourceExistsException - if a subscription exists with the same topic and subscription name.
      See Also:
    • createTopic

      public TopicProperties createTopic(String topicName)
      Creates a topic with the given name.
      Parameters:
      topicName - Name of the topic to create.
      Returns:
      Information about the created topic.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the topic quota is exceeded, or an error occurred processing the request.
      NullPointerException - if topicName is null.
      IllegalArgumentException - if topicName is an empty string.
      com.azure.core.exception.ResourceExistsException - if a topic exists with the same topicName.
      See Also:
    • createTopic

      public TopicProperties createTopic(String topicName, CreateTopicOptions topicOptions)
      Creates a topic with the CreateTopicOptions.
      Parameters:
      topicName - Name of the topic to create.
      topicOptions - Information about the topic to create.
      Returns:
      Information about the created topic.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the topicOptions quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName or topicOptions is null.
      com.azure.core.exception.ResourceExistsException - if a topic exists with the same topicName.
      See Also:
    • createTopicWithResponse

      public com.azure.core.http.rest.Response<TopicProperties> createTopicWithResponse(String topicName, CreateTopicOptions topicOptions, com.azure.core.util.Context context)
      Creates a topic and returns the created topic in addition to the HTTP response.
      Parameters:
      topicName - Name of the topic to create.
      topicOptions - Information about the topic to create.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The created topic in addition to the HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the topic quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName or topicOptions is null.
      com.azure.core.exception.ResourceExistsException - if a topic exists with the same topicName.
      See Also:
    • deleteQueue

      public void deleteQueue(String queueName)
      Deletes a queue the matching queueName.
      Parameters:
      queueName - Name of queue to delete.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName is null.
      com.azure.core.exception.ResourceNotFoundException - if the queueName does not exist.
      See Also:
    • deleteQueueWithResponse

      public com.azure.core.http.rest.Response<Void> deleteQueueWithResponse(String queueName, com.azure.core.util.Context context)
      Deletes a queue the matching queueName and returns the HTTP response.
      Parameters:
      queueName - Name of queue to delete.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The HTTP response when the queue is successfully deleted.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName is null.
      com.azure.core.exception.ResourceNotFoundException - if the queueName does not exist.
      See Also:
    • deleteRule

      public void deleteRule(String topicName, String subscriptionName, String ruleName)
      Deletes a rule the matching ruleName.
      Parameters:
      topicName - Name of topic associated with rule to delete.
      subscriptionName - Name of the subscription associated with the rule to delete.
      ruleName - Name of rule to delete.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName or ruleName is an empty string.
      NullPointerException - if topicName or ruleName is null.
      com.azure.core.exception.ResourceNotFoundException - if the ruleName does not exist.
    • deleteRuleWithResponse

      public com.azure.core.http.rest.Response<Void> deleteRuleWithResponse(String topicName, String subscriptionName, String ruleName, com.azure.core.util.Context context)
      Deletes a rule the matching ruleName and returns the HTTP response.
      Parameters:
      topicName - Name of topic associated with rule to delete.
      subscriptionName - Name of the subscription associated with the rule to delete.
      ruleName - Name of rule to delete.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName, subscriptionName, or ruleName is an empty string.
      NullPointerException - if topicName, subscriptionName, or ruleName is null.
      com.azure.core.exception.ResourceNotFoundException - if the ruleName does not exist.
    • deleteSubscription

      public void deleteSubscription(String topicName, String subscriptionName)
      Deletes a subscription matching the subscriptionName in topic topicName.
      Parameters:
      topicName - Name of topic associated with subscription to delete.
      subscriptionName - Name of subscription to delete.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName or subscriptionName is an empty string.
      NullPointerException - if topicName or subscriptionName is null.
      com.azure.core.exception.ResourceNotFoundException - if the subscriptionName does not exist.
      See Also:
    • deleteSubscriptionWithResponse

      public com.azure.core.http.rest.Response<Void> deleteSubscriptionWithResponse(String topicName, String subscriptionName, com.azure.core.util.Context context)
      Deletes a subscription the matching subscriptionName and returns the HTTP response.
      Parameters:
      topicName - Name of topic associated with subscription to delete.
      subscriptionName - Name of subscription to delete.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName or subscriptionName is an empty string.
      NullPointerException - if topicName or subscriptionName is null.
      com.azure.core.exception.ResourceNotFoundException - if the subscriptionName does not exist.
      See Also:
    • deleteTopic

      public void deleteTopic(String topicName)
      Deletes a topic the matching topicName.
      Parameters:
      topicName - Name of topic to delete.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName is null.
      com.azure.core.exception.ResourceNotFoundException - if the topicName does not exist.
      See Also:
    • deleteTopicWithResponse

      public com.azure.core.http.rest.Response<Void> deleteTopicWithResponse(String topicName, com.azure.core.util.Context context)
      Deletes a topic the matching topicName and returns the HTTP response.
      Parameters:
      topicName - Name of topic to delete.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName is null.
      com.azure.core.exception.ResourceNotFoundException - if the topicName does not exist.
      See Also:
    • getQueue

      public QueueProperties getQueue(String queueName)
      Gets information about the queue.
      Parameters:
      queueName - Name of queue to get information about.
      Returns:
      Information about the queue.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName is null.
      com.azure.core.exception.ResourceNotFoundException - if the queueName does not exist.
      See Also:
    • getQueueWithResponse

      public com.azure.core.http.rest.Response<QueueProperties> getQueueWithResponse(String queueName, com.azure.core.util.Context context)
      Gets information about the queue along with its HTTP response.
      Parameters:
      queueName - Name of queue to get information about.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      Information about the queue and the associated HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName is null.
      com.azure.core.exception.ResourceNotFoundException - if the queueName does not exist.
      See Also:
    • getQueueExists

      public boolean getQueueExists(String queueName)
      Gets whether or not a queue with queueName exists in the Service Bus namespace.
      Parameters:
      queueName - Name of the queue.
      Returns:
      true if the queue exists; otherwise false.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName is null.
    • getQueueExistsWithResponse

      public com.azure.core.http.rest.Response<Boolean> getQueueExistsWithResponse(String queueName, com.azure.core.util.Context context)
      Gets whether or not a queue with queueName exists in the Service Bus namespace.
      Parameters:
      queueName - Name of the queue.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The HTTP response and true if the queue exists; otherwise false.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName is null.
    • getQueueRuntimeProperties

      public QueueRuntimeProperties getQueueRuntimeProperties(String queueName)
      Gets runtime properties about the queue.
      Parameters:
      queueName - Name of queue to get information about.
      Returns:
      Runtime properties about the queue.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName is null.
      com.azure.core.exception.ResourceNotFoundException - if the queueName does not exist.
      See Also:
    • getQueueRuntimePropertiesWithResponse

      public com.azure.core.http.rest.Response<QueueRuntimeProperties> getQueueRuntimePropertiesWithResponse(String queueName, com.azure.core.util.Context context)
      Gets runtime properties about the queue along with its HTTP response.
      Parameters:
      queueName - Name of queue to get information about.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      Runtime properties about the queue and the associated HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName is null.
      com.azure.core.exception.ResourceNotFoundException - if the queueName does not exist.
      See Also:
    • getNamespaceProperties

      public NamespaceProperties getNamespaceProperties()
      Gets information about the Service Bus namespace.
      Returns:
      Information about the Service Bus namespace.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
    • getNamespacePropertiesWithResponse

      public com.azure.core.http.rest.Response<NamespaceProperties> getNamespacePropertiesWithResponse(com.azure.core.util.Context context)
      Gets information about the Service Bus namespace along with its HTTP response.
      Parameters:
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      Information about the namespace and the associated HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
    • getRule

      public RuleProperties getRule(String topicName, String subscriptionName, String ruleName)
      Gets a rule from the service namespace. Only following data types are deserialized in Filters and Action parameters - string, int, long, boolean, double, and OffsetDateTime. Other data types would return its string value.
      Parameters:
      topicName - The name of the topic relative to service bus namespace.
      subscriptionName - The subscription name the rule belongs to.
      ruleName - The name of the rule to retrieve.
      Returns:
      The associated rule.
    • getRuleWithResponse

      public com.azure.core.http.rest.Response<RuleProperties> getRuleWithResponse(String topicName, String subscriptionName, String ruleName, com.azure.core.util.Context context)
      Gets a rule from the service namespace. Only following data types are deserialized in Filters and Action parameters - string, int, long, bool, double, and OffsetDateTime. Other data types would return its string value.
      Parameters:
      topicName - The name of the topic relative to service bus namespace.
      subscriptionName - The subscription name the rule belongs to.
      ruleName - The name of the rule to retrieve.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The associated rule with the corresponding HTTP response.
    • getSubscription

      public SubscriptionProperties getSubscription(String topicName, String subscriptionName)
      Gets information about the queue.
      Parameters:
      topicName - Name of topic associated with subscription.
      subscriptionName - Name of subscription to get information about.
      Returns:
      Information about the subscription.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName or subscriptionName are empty strings.
      NullPointerException - if topicName or subscriptionName are null.
      com.azure.core.exception.ResourceNotFoundException - if the subscriptionName does not exist in the topicName.
      See Also:
    • getSubscriptionWithResponse

      public com.azure.core.http.rest.Response<SubscriptionProperties> getSubscriptionWithResponse(String topicName, String subscriptionName, com.azure.core.util.Context context)
      Gets information about the subscription along with its HTTP response.
      Parameters:
      topicName - Name of topic associated with subscription.
      subscriptionName - Name of subscription to get information about.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      Information about the subscription and the associated HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName or subscriptionName are empty strings.
      NullPointerException - if topicName or subscriptionName are null.
      com.azure.core.exception.ResourceNotFoundException - if the subscriptionName does not exist.
      See Also:
    • getSubscriptionExists

      public boolean getSubscriptionExists(String topicName, String subscriptionName)
      Gets whether or not a subscription within a topic exists.
      Parameters:
      topicName - Name of topic associated with subscription.
      subscriptionName - Name of the subscription.
      Returns:
      true if the subscription exists.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if subscriptionName is an empty string.
      NullPointerException - if subscriptionName is null.
    • getSubscriptionExistsWithResponse

      public com.azure.core.http.rest.Response<Boolean> getSubscriptionExistsWithResponse(String topicName, String subscriptionName, com.azure.core.util.Context context)
      Gets whether or not a subscription within a topic exists.
      Parameters:
      topicName - Name of topic associated with subscription.
      subscriptionName - Name of the subscription.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The HTTP response and true if the subscription exists; otherwise false.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if subscriptionName is an empty string.
      NullPointerException - if subscriptionName is null.
    • getSubscriptionRuntimeProperties

      public SubscriptionRuntimeProperties getSubscriptionRuntimeProperties(String topicName, String subscriptionName)
      Gets runtime properties about the subscription.
      Parameters:
      topicName - Name of topic associated with subscription.
      subscriptionName - Name of subscription to get information about.
      Returns:
      Runtime properties about the subscription.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if subscriptionName is an empty string.
      NullPointerException - if subscriptionName is null.
      com.azure.core.exception.ResourceNotFoundException - if the subscriptionName does not exist.
      See Also:
    • getSubscriptionRuntimePropertiesWithResponse

      public com.azure.core.http.rest.Response<SubscriptionRuntimeProperties> getSubscriptionRuntimePropertiesWithResponse(String topicName, String subscriptionName, com.azure.core.util.Context context)
      Gets runtime properties about the subscription.
      Parameters:
      topicName - Name of topic associated with subscription.
      subscriptionName - Name of subscription to get information about.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      Runtime properties about the subscription.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if subscriptionName is an empty string.
      NullPointerException - if subscriptionName is null.
      com.azure.core.exception.ResourceNotFoundException - if the subscriptionName does not exist.
      See Also:
    • getTopic

      public TopicProperties getTopic(String topicName)
      Gets information about the topic.
      Parameters:
      topicName - Name of topic to get information about.
      Returns:
      Information about the topic.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName is null.
      com.azure.core.exception.ResourceNotFoundException - if the topicName does not exist.
      See Also:
    • getTopicWithResponse

      public com.azure.core.http.rest.Response<TopicProperties> getTopicWithResponse(String topicName, com.azure.core.util.Context context)
      Gets information about the topic along with its HTTP response.
      Parameters:
      topicName - Name of topic to get information about.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      Information about the topic and the associated HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName is null.
      com.azure.core.exception.ResourceNotFoundException - if the topicName does not exist.
      See Also:
    • getTopicExists

      public boolean getTopicExists(String topicName)
      Gets whether or not a topic with topicName exists in the Service Bus namespace.
      Parameters:
      topicName - Name of the topic.
      Returns:
      true if the topic exists.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName is null.
    • getTopicExistsWithResponse

      public com.azure.core.http.rest.Response<Boolean> getTopicExistsWithResponse(String topicName, com.azure.core.util.Context context)
      Gets whether or not a topic with topicName exists in the Service Bus namespace.
      Parameters:
      topicName - Name of the topic.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The HTTP response and true if the topic exists; otherwise false.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName is null.
    • getTopicRuntimeProperties

      public TopicRuntimeProperties getTopicRuntimeProperties(String topicName)
      Gets runtime properties about the topic.
      Parameters:
      topicName - Name of topic to get information about.
      Returns:
      Runtime properties about the topic.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName is null.
      com.azure.core.exception.ResourceNotFoundException - if the topicName does not exist.
      See Also:
    • getTopicRuntimePropertiesWithResponse

      public com.azure.core.http.rest.Response<TopicRuntimeProperties> getTopicRuntimePropertiesWithResponse(String topicName, com.azure.core.util.Context context)
      Gets runtime properties about the topic with its HTTP response.
      Parameters:
      topicName - Name of topic to get information about.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      Runtime properties about the topic and the associated HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName is null.
      com.azure.core.exception.ResourceNotFoundException - if the topicName does not exist.
      See Also:
    • listQueues

      public com.azure.core.http.rest.PagedIterable<QueueProperties> listQueues()
      Fetches all the queues in the Service Bus namespace.
      Returns:
      A PagedIterable of queues in the Service Bus namespace.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      See Also:
    • listQueues

      public com.azure.core.http.rest.PagedIterable<QueueProperties> listQueues(com.azure.core.util.Context context)
      Fetches all the queues in the Service Bus namespace.
      Parameters:
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      A PagedIterable of queues in the Service Bus namespace.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      See Also:
    • listRules

      public com.azure.core.http.rest.PagedIterable<RuleProperties> listRules(String topicName, String subscriptionName)
      Fetches all the rules for a topic and subscription.
      Parameters:
      topicName - The topic name under which all the rules need to be retrieved.
      subscriptionName - The name of the subscription for which all rules need to be retrieved.
      Returns:
      An iterable of rules for the topicName and subscriptionName.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      NullPointerException - if topicName or subscriptionName is null.
      IllegalArgumentException - if topicName or subscriptionName is an empty string.
      See Also:
    • listSubscriptions

      public com.azure.core.http.rest.PagedIterable<SubscriptionProperties> listSubscriptions(String topicName)
      Fetches all the subscriptions for a topic.
      Parameters:
      topicName - The topic name under which all the subscriptions need to be retrieved.
      Returns:
      A paged iterable of subscriptions for the topicName.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      NullPointerException - if topicName is null.
      IllegalArgumentException - if topicName is an empty string.
      See Also:
    • listSubscriptions

      public com.azure.core.http.rest.PagedIterable<SubscriptionProperties> listSubscriptions(String topicName, com.azure.core.util.Context context)
      Fetches all the subscriptions for a topic.
      Parameters:
      topicName - The topic name under which all the subscriptions need to be retrieved.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      A paged iterable of subscriptions for the topicName.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      NullPointerException - if topicName is null.
      IllegalArgumentException - if topicName is an empty string.
      See Also:
    • listTopics

      public com.azure.core.http.rest.PagedIterable<TopicProperties> listTopics()
      Fetches all the topics in the Service Bus namespace.
      Returns:
      A paged iterable of topics in the Service Bus namespace.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      See Also:
    • listTopics

      public com.azure.core.http.rest.PagedIterable<TopicProperties> listTopics(com.azure.core.util.Context context)
      Fetches all the topics in the Service Bus namespace.
      Parameters:
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      A paged iterable of topics in the Service Bus namespace.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      See Also:
    • updateQueue

      public QueueProperties updateQueue(QueueProperties queue)
      Updates a queue with the given QueueProperties. The QueueProperties must be fully populated as all of the properties are replaced. If a property is not set the service default value is used. The suggested flow is:
      1. Get queue description.
      2. Update the required elements.
      3. Pass the updated description into this method.

      There are a subset of properties that can be updated. More information can be found in the links below. They are:

      Parameters:
      queue - Information about the queue to update. You must provide all the property values that are desired on the updated entity. Any values not provided are set to the service default values.
      Returns:
      The updated queue.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the queue quota is exceeded, or an error occurred processing the request.
      NullPointerException - if queue is null.
      See Also:
    • updateQueueWithResponse

      public com.azure.core.http.rest.Response<QueueProperties> updateQueueWithResponse(QueueProperties queue, com.azure.core.util.Context context)
      Updates a queue with the given QueueProperties. The QueueProperties must be fully populated as all of the properties are replaced. If a property is not set the service default value is used. The suggested flow is:
      1. Get queue description.
      2. Update the required elements.
      3. Pass the updated description into this method.

      There are a subset of properties that can be updated. More information can be found in the links below. They are:

      Parameters:
      queue - Information about the queue to update. You must provide all the property values that are desired on the updated entity. Any values not provided are set to the service default values.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The updated queue with its HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the queue quota is exceeded, or an error occurred processing the request.
      NullPointerException - if queue is null.
      See Also:
    • updateRule

      public RuleProperties updateRule(String topicName, String subscriptionName, RuleProperties rule)
      Updates a rule with the given RuleProperties. The RuleProperties must be fully populated as all of the properties are replaced. If a property is not set the service default value is used. The suggested flow is:
      1. Get rule description.
      2. Update the required elements.
      3. Pass the updated description into this method.
      Parameters:
      topicName - The topic name under which the rule is updated.
      subscriptionName - The name of the subscription for which the rule is updated.
      rule - Information about the rule to update. You must provide all the property values that are desired on the updated entity. Any values not provided are set to the service default values.
      Returns:
      The updated rule.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the rule quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if RuleProperties.getName() is null or an empty string.
      NullPointerException - if rule is null.
    • updateRuleWithResponse

      public com.azure.core.http.rest.Response<RuleProperties> updateRuleWithResponse(String topicName, String subscriptionName, RuleProperties rule, com.azure.core.util.Context context)
      Updates a rule with the given RuleProperties. The RuleProperties must be fully populated as all of the properties are replaced. If a property is not set the service default value is used. The suggested flow is:
      1. Get rule description.
      2. Update the required elements.
      3. Pass the updated description into this method.
      Parameters:
      topicName - The topic name under which the rule is updated.
      subscriptionName - The name of the subscription for which the rule is updated.
      rule - Information about the rule to update. You must provide all the property values that are desired on the updated entity. Any values not provided are set to the service default values.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      A Mono that returns the updated rule in addition to the HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the rule quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if RuleProperties.getName() is null or an empty string.
      NullPointerException - if rule is null.
      See Also:
    • updateSubscription

      public SubscriptionProperties updateSubscription(SubscriptionProperties subscription)
      Updates a subscription with the given SubscriptionProperties. The SubscriptionProperties must be fully populated as all of the properties are replaced. If a property is not set the service default value is used. The suggested flow is:
      1. Get subscription description.
      2. Update the required elements.
      3. Pass the updated description into this method.

      There are a subset of properties that can be updated. More information can be found in the links below. They are:

      Parameters:
      subscription - Information about the subscription to update. You must provide all the property values that are desired on the updated entity. Any values not provided are set to the service default values.
      Returns:
      Updated subscription in addition to the HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the subscription quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if SubscriptionProperties.getTopicName() or SubscriptionProperties.getSubscriptionName() is null or an empty string.
      NullPointerException - if subscription is null.
      See Also:
    • updateSubscriptionWithResponse

      public com.azure.core.http.rest.Response<SubscriptionProperties> updateSubscriptionWithResponse(SubscriptionProperties subscription, com.azure.core.util.Context context)
      Updates a subscription with the given SubscriptionProperties. The SubscriptionProperties must be fully populated as all of the properties are replaced. If a property is not set the service default value is used. The suggested flow is:
      1. Get subscription description.
      2. Update the required elements.
      3. Pass the updated description into this method.

      There are a subset of properties that can be updated. More information can be found in the links below. They are:

      Parameters:
      subscription - Information about the subscription to update. You must provide all the property values that are desired on the updated entity. Any values not provided are set to the service default values.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      Updated subscription in addition to the HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the subscription quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if SubscriptionProperties.getTopicName() or SubscriptionProperties.getSubscriptionName() is null or an empty string.
      NullPointerException - if subscription is null.
      See Also:
    • updateTopic

      public TopicProperties updateTopic(TopicProperties topic)
      Updates a topic with the given TopicProperties. The TopicProperties must be fully populated as all of the properties are replaced. If a property is not set the service default value is used. The suggested flow is:
      1. Get topic description.
      2. Update the required elements.
      3. Pass the updated description into this method.

      There are a subset of properties that can be updated. More information can be found in the links below. They are:

      Parameters:
      topic - Information about the topic to update. You must provide all the property values that are desired on the updated entity. Any values not provided are set to the service default values.
      Returns:
      The updated topic.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the topic quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if topic.getName() is null or an empty string.
      NullPointerException - if topic is null.
      See Also:
    • updateTopicWithResponse

      public com.azure.core.http.rest.Response<TopicProperties> updateTopicWithResponse(TopicProperties topic, com.azure.core.util.Context context)
      Updates a topic with the given TopicProperties. The TopicProperties must be fully populated as all of the properties are replaced. If a property is not set the service default value is used. The suggested flow is:
      1. Get topic description.
      2. Update the required elements.
      3. Pass the updated description into this method.

      There are a subset of properties that can be updated. More information can be found in the links below. They are:

      Parameters:
      topic - Information about the topic to update. You must provide all the property values that are desired on the updated entity. Any values not provided are set to the service default values.
      context - Additional context that is passed through the HTTP pipeline during the service call.
      Returns:
      The updated topic with its HTTP response.
      Throws:
      com.azure.core.exception.ClientAuthenticationException - if the client's credentials do not have access to modify the namespace.
      com.azure.core.exception.HttpResponseException - If the request body was invalid, the topic quota is exceeded, or an error occurred processing the request.
      IllegalArgumentException - if topic.getName() is null or an empty string.
      NullPointerException - if topic is null.
      See Also: