/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */ package com.microsoft.azure.management.servicebus; import com.microsoft.azure.management.apigeneration.Beta; import com.microsoft.azure.management.apigeneration.Fluent; import com.microsoft.azure.management.resources.fluentcore.model.Appliable; import com.microsoft.azure.management.resources.fluentcore.model.Creatable; import com.microsoft.azure.management.resources.fluentcore.model.Updatable; /** * Type representing authorization rule defined for topic. */ @Fluent @Beta public interface TopicAuthorizationRule extends AuthorizationRule<TopicAuthorizationRule>, Updatable<TopicAuthorizationRule.Update> { /** * @return the name of the namespace that the parent topic belongs to */ String namespaceName(); /** * @return the name of the parent topic name */ String topicName(); /** * Grouping of Service Bus topic authorization rule definition stages. */ interface DefinitionStages { /** * The first stage of topic authorization rule definition. */ interface Blank extends AuthorizationRule .DefinitionStages .WithListenOrSendOrManage<TopicAuthorizationRule.DefinitionStages.WithCreate> { } /** * The stage of the definition which contains all the minimum required inputs for * the resource to be created (via {@link WithCreate#create()}), but also allows * for any other optional settings to be specified. */ interface WithCreate extends Creatable<TopicAuthorizationRule> { } } /** * The entirety of the topic authorization rule definition. */ interface Definition extends TopicAuthorizationRule.DefinitionStages.Blank, TopicAuthorizationRule.DefinitionStages.WithCreate { } /** * The entirety of the topic authorization rule update. */ interface Update extends Appliable<TopicAuthorizationRule>, AuthorizationRule.UpdateStages.WithListenOrSendOrManage<TopicAuthorizationRule.Update> { } }