Class ServiceBusAdministrationAsyncClient

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

public final class ServiceBusAdministrationAsyncClient extends Object
An asynchronous client for managing a Service Bus namespace. Instantiated via ServiceBusAdministrationClientBuilder.

Create a queue

 // `.subscribe()` is a non-blocking call. It'll move onto the next
 // instruction after setting up the `consumer` and `errorConsumer` callbacks.
 client.createQueue("my-new-queue").subscribe(queue -> {
     System.out.printf("Queue created. Name: %s. Lock Duration: %s.%n",
         queue.getName(), queue.getLockDuration());
 }, error -> {
         System.err.println("Error creating queue: " + error);
     });
 

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.

 // `.subscribe()` is a non-blocking call. It'll move onto the next
 // instruction after setting up the `consumer` and `errorConsumer` callbacks.
 client.getSubscription("my-topic", "my-subscription")
     .flatMap(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.
         return client.updateSubscription(subscription);
     })
     .subscribe(subscription -> {
         System.out.printf("Subscription updated. Name: %s. Delivery count: %s.%n",
             subscription.getSubscriptionName(), subscription.getMaxDeliveryCount());
     }, error -> {
             System.err.println("Error updating subscription: " + error);
         });
 

List all queues

 // `.subscribe()` is a non-blocking call. It'll move onto the next
 // instruction after setting up the `consumer` and `errorConsumer` callbacks.
 client.listQueues().subscribe(queue -> {
     System.out.printf("Queue [%s]. Lock Duration: %s.%n",
         queue.getName(), queue.getLockDuration());
 }, error -> {
         System.err.println("Error fetching queues: " + error);
     });
 
See Also:
  • Method Details

    • createQueue

      public Mono<QueueProperties> createQueue(String queueName)
      Creates a queue with the given name.
      Parameters:
      queueName - Name of the queue to create.
      Returns:
      A Mono that completes with information about 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 Mono<QueueProperties> createQueue(String queueName, CreateQueueOptions queueOptions)
      Creates a queue with the CreateQueueOptions and given queue name.
      Parameters:
      queueName - Name of the queue to create.
      queueOptions - Options about the queue to create.
      Returns:
      A Mono that completes with information about 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.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName or queueOptions is null.
      com.azure.core.exception.ResourceExistsException - if a queue exists with the same queueName.
      See Also:
    • createQueueWithResponse

      public Mono<com.azure.core.http.rest.Response<QueueProperties>> createQueueWithResponse(String queueName, CreateQueueOptions queueOptions)
      Creates a queue and returns the created queue in addition to the HTTP response.
      Parameters:
      queueName - Name of the queue to create.
      queueOptions - Options about the queue to create.
      Returns:
      A Mono that 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.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName or queueOptions is null.
      com.azure.core.exception.ResourceExistsException - if a queue exists with the same queueName.
      See Also:
    • createRule

      public Mono<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:
      A Mono that completes with 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 Mono<RuleProperties> createRule(String topicName, String subscriptionName, String ruleName, 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:
      A Mono that completes with 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 Mono<com.azure.core.http.rest.Response<RuleProperties>> createRuleWithResponse(String topicName, String subscriptionName, String ruleName, CreateRuleOptions ruleOptions)
      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.
      Returns:
      A Mono that 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 Mono<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:
      A Mono that completes with 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 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 Mono<SubscriptionProperties> createSubscription(String topicName, String subscriptionName, CreateSubscriptionOptions subscriptionOptions)
      Creates a subscription with the CreateSubscriptionOptions.
      Parameters:
      topicName - Name of the topic associated with subscription.
      subscriptionName - Name of the subscription.
      subscriptionOptions - Information about the subscription to create.
      Returns:
      A Mono that completes with 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 Mono<com.azure.core.http.rest.Response<SubscriptionProperties>> createSubscriptionWithResponse(String topicName, String subscriptionName, CreateSubscriptionOptions subscriptionOptions)
      Creates a subscription and returns the created subscription 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.
      Returns:
      A Mono that 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.
      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:
    • createTopic

      public Mono<TopicProperties> createTopic(String topicName)
      Creates a topic with the given name.
      Parameters:
      topicName - Name of the topic to create.
      Returns:
      A Mono that completes with 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 Mono<TopicProperties> createTopic(String topicName, CreateTopicOptions topicOptions)
      Creates a topic with the CreateTopicOptions.
      Parameters:
      topicName - Name of the topic to create.
      topicOptions - The options used to create the topic.
      Returns:
      A Mono that completes with 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.
      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 Mono<com.azure.core.http.rest.Response<TopicProperties>> createTopicWithResponse(String topicName, CreateTopicOptions topicOptions)
      Creates a topic and returns the created topic in addition to the HTTP response.
      Parameters:
      topicName - Name of the topic to create.
      topicOptions - The options used to create the topic.
      Returns:
      A Mono that 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 topic.getName() is null or 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 Mono<Void> deleteQueue(String queueName)
      Deletes a queue the matching queueName.
      Parameters:
      queueName - Name of queue to delete.
      Returns:
      A Mono that completes when the queue is 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.
      NullPointerException - if queueName is null.
      IllegalArgumentException - if queueName is an empty string.
      com.azure.core.exception.ResourceNotFoundException - if the queueName does not exist.
      See Also:
    • deleteQueueWithResponse

      public Mono<com.azure.core.http.rest.Response<Void>> deleteQueueWithResponse(String queueName)
      Deletes a queue the matching queueName and returns the HTTP response.
      Parameters:
      queueName - Name of queue to delete.
      Returns:
      A Mono that completes when the queue is deleted and 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.
      NullPointerException - if queueName is null.
      IllegalArgumentException - if queueName is an empty string.
      com.azure.core.exception.ResourceNotFoundException - if the queueName does not exist.
      See Also:
    • deleteRule

      public Mono<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.
      Returns:
      A Mono that completes when the rule is 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 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 Mono<com.azure.core.http.rest.Response<Void>> deleteRuleWithResponse(String topicName, String subscriptionName, String ruleName)
      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.
      Returns:
      A Mono that completes when the rule is deleted and 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 Mono<Void> deleteSubscription(String topicName, String subscriptionName)
      Deletes a subscription the matching subscriptionName.
      Parameters:
      topicName - Name of topic associated with subscription to delete.
      subscriptionName - Name of subscription to delete.
      Returns:
      A Mono that completes when the subscription is 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 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 Mono<com.azure.core.http.rest.Response<Void>> deleteSubscriptionWithResponse(String topicName, String subscriptionName)
      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.
      Returns:
      A Mono that completes when the subscription is deleted and 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 Mono<Void> deleteTopic(String topicName)
      Deletes a topic the matching topicName.
      Parameters:
      topicName - Name of topic to delete.
      Returns:
      A Mono that completes when the topic is 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 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 Mono<com.azure.core.http.rest.Response<Void>> deleteTopicWithResponse(String topicName)
      Deletes a topic the matching topicName and returns the HTTP response.
      Parameters:
      topicName - Name of topic to delete.
      Returns:
      A Mono that completes when the topic is deleted and 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 Mono<QueueProperties> getQueue(String queueName)
      Gets information about the queue.
      Parameters:
      queueName - Name of queue to get information about.
      Returns:
      A Mono that completes with 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 Mono<com.azure.core.http.rest.Response<QueueProperties>> getQueueWithResponse(String queueName)
      Gets information about the queue along with its HTTP response.
      Parameters:
      queueName - Name of queue to get information about.
      Returns:
      A Mono that completes with 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 Mono<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:
      A Mono that completes indicating whether or not the queue 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 queueName is an empty string.
      NullPointerException - if queueName is null.
    • getQueueExistsWithResponse

      public Mono<com.azure.core.http.rest.Response<Boolean>> getQueueExistsWithResponse(String queueName)
      Gets whether or not a queue with queueName exists in the Service Bus namespace.
      Parameters:
      queueName - Name of the queue.
      Returns:
      A Mono that completes indicating whether or not the queue exists along 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 error occurred processing the request.
      IllegalArgumentException - if queueName is an empty string.
      NullPointerException - if queueName is null.
    • getQueueRuntimeProperties

      public Mono<QueueRuntimeProperties> getQueueRuntimeProperties(String queueName)
      Gets runtime properties about the queue.
      Parameters:
      queueName - Name of queue to get information about.
      Returns:
      A Mono that completes with 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 Mono<com.azure.core.http.rest.Response<QueueRuntimeProperties>> getQueueRuntimePropertiesWithResponse(String queueName)
      Gets runtime properties about the queue along with its HTTP response.
      Parameters:
      queueName - Name of queue to get information about.
      Returns:
      A Mono that completes with 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 Mono<NamespaceProperties> getNamespaceProperties()
      Gets information about the Service Bus namespace.
      Returns:
      A Mono that completes with 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 Mono<com.azure.core.http.rest.Response<NamespaceProperties>> getNamespacePropertiesWithResponse()
      Gets information about the Service Bus namespace along with its HTTP response.
      Returns:
      A Mono that completes with 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 Mono<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 Mono<com.azure.core.http.rest.Response<RuleProperties>> getRuleWithResponse(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, 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.
      Returns:
      The associated rule with the corresponding HTTP response.
    • getSubscription

      public Mono<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:
      A Mono that completes with 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 Mono<com.azure.core.http.rest.Response<SubscriptionProperties>> getSubscriptionWithResponse(String topicName, String subscriptionName)
      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.
      Returns:
      A Mono that completes with 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 Mono<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:
      A Mono that completes indicating whether or not 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 Mono<com.azure.core.http.rest.Response<Boolean>> getSubscriptionExistsWithResponse(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:
      A Mono that completes indicating whether or not the subscription exists along 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 error occurred processing the request.
      IllegalArgumentException - if subscriptionName is an empty string.
      NullPointerException - if subscriptionName is null.
    • getSubscriptionRuntimeProperties

      public Mono<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:
      A Mono that completes with 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 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:
    • getSubscriptionRuntimePropertiesWithResponse

      public Mono<com.azure.core.http.rest.Response<SubscriptionRuntimeProperties>> getSubscriptionRuntimePropertiesWithResponse(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:
      A Mono that completes with 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 Mono<TopicProperties> getTopic(String topicName)
      Gets information about the topic.
      Parameters:
      topicName - Name of topic to get information about.
      Returns:
      A Mono that completes with 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 Mono<com.azure.core.http.rest.Response<TopicProperties>> getTopicWithResponse(String topicName)
      Gets information about the topic along with its HTTP response.
      Parameters:
      topicName - Name of topic to get information about.
      Returns:
      A Mono that completes with 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 Mono<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:
      A Mono that completes indicating whether or not 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 Mono<com.azure.core.http.rest.Response<Boolean>> getTopicExistsWithResponse(String topicName)
      Gets whether or not a topic with topicName exists in the Service Bus namespace.
      Parameters:
      topicName - Name of the topic.
      Returns:
      A Mono that completes indicating whether or not the topic exists along 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 error occurred processing the request.
      IllegalArgumentException - if topicName is an empty string.
      NullPointerException - if topicName is null.
    • getTopicRuntimeProperties

      public Mono<TopicRuntimeProperties> getTopicRuntimeProperties(String topicName)
      Gets runtime properties about the topic.
      Parameters:
      topicName - Name of topic to get information about.
      Returns:
      A Mono that completes with 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 Mono<com.azure.core.http.rest.Response<TopicRuntimeProperties>> getTopicRuntimePropertiesWithResponse(String topicName)
      Gets runtime properties about the topic with its HTTP response.
      Parameters:
      topicName - Name of topic to get information about.
      Returns:
      A Mono that completes with 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.PagedFlux<QueueProperties> listQueues()
      Fetches all the queues in the Service Bus namespace.
      Returns:
      A Flux 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.PagedFlux<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:
      A Flux 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.PagedFlux<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 Flux 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.PagedFlux<TopicProperties> listTopics()
      Fetches all the topics in the Service Bus namespace.
      Returns:
      A Flux 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 Mono<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:
      A Mono that completes with 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 Mono<com.azure.core.http.rest.Response<QueueProperties>> updateQueueWithResponse(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:
      A Mono that returns the updated 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.
      See Also:
    • updateRule

      public Mono<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:
      A Mono that 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 Mono<com.azure.core.http.rest.Response<RuleProperties>> updateRuleWithResponse(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:
      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 Mono<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:
      A Mono that returns the updated 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 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 Mono<com.azure.core.http.rest.Response<SubscriptionProperties>> updateSubscriptionWithResponse(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:
      A Mono that returns the 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 Mono<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:
      A Mono that completes with 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 Mono<com.azure.core.http.rest.Response<TopicProperties>> updateTopicWithResponse(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:
      A Mono that completes with the updated topic and 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: