Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the MIT License. See License.txt in the project root for
license information.
/**
* 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.Fluent;
import com.microsoft.azure.management.resources.fluentcore.arm.models.GroupableResource;
import com.microsoft.azure.management.resources.fluentcore.arm.models.Resource;
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.Refreshable;
import com.microsoft.azure.management.resources.fluentcore.model.Updatable;
import com.microsoft.azure.management.servicebus.implementation.NamespaceInner;
import com.microsoft.azure.management.servicebus.implementation.ServiceBusManager;
import org.joda.time.DateTime;
An immutable client-side representation of an Azure Service Bus namespace.
/**
* An immutable client-side representation of an Azure Service Bus namespace.
*/
@Fluent
public interface ServiceBusNamespace extends
GroupableResource<ServiceBusManager, NamespaceInner>,
Refreshable<ServiceBusNamespace>,
Updatable<ServiceBusNamespace.Update> {
Returns: the relative DNS name of the Service Bus namespace
/**
* @return the relative DNS name of the Service Bus namespace
*/
String dnsLabel();
Returns: fully qualified domain name (FQDN) of the Service Bus namespace
/**
* @return fully qualified domain name (FQDN) of the Service Bus namespace
*/
String fqdn();
Returns: sku value
/**
* @return sku value
*/
NamespaceSku sku();
Returns: time the namespace was created
/**
* @return time the namespace was created
*/
DateTime createdAt();
Returns: time the namespace was updated
/**
* @return time the namespace was updated
*/
DateTime updatedAt();
Returns: entry point to manage queue entities in the Service Bus namespace
/**
* @return entry point to manage queue entities in the Service Bus namespace
*/
Queues queues();
Returns: entry point to manage topics entities in the Service Bus namespace
/**
* @return entry point to manage topics entities in the Service Bus namespace
*/
Topics topics();
Returns: entry point to manage authorization rules for the Service Bus namespace
/**
* @return entry point to manage authorization rules for the Service Bus namespace
*/
NamespaceAuthorizationRules authorizationRules();
The entirety of the Service Bus namespace definition.
/**
* The entirety of the Service Bus namespace definition.
*/
interface Definition extends
ServiceBusNamespace.DefinitionStages.Blank,
ServiceBusNamespace.DefinitionStages.WithGroup,
ServiceBusNamespace.DefinitionStages.WithCreate {
}
Grouping of Service Bus namespace definition stages.
/**
* Grouping of Service Bus namespace definition stages.
*/
interface DefinitionStages {
The first stage of a Service Bus namespace definition.
/**
* The first stage of a Service Bus namespace definition.
*/
interface Blank extends GroupableResource.DefinitionWithRegion<WithGroup> {
}
The stage of the Service Bus namespace definition allowing to specify the resource group.
/**
* The stage of the Service Bus namespace definition allowing to specify the resource group.
*/
interface WithGroup extends GroupableResource.DefinitionStages.WithGroup<WithCreate> {
}
The stage of the Service Bus namespace definition allowing to specify the sku.
/**
* The stage of the Service Bus namespace definition allowing to specify the sku.
*/
interface WithSku {
Specifies the namespace sku.
Params: - namespaceSku – the sku
Returns: next stage of the Service Bus namespace definition
/**
* Specifies the namespace sku.
*
* @param namespaceSku the sku
* @return next stage of the Service Bus namespace definition
*/
WithCreate withSku(NamespaceSku namespaceSku);
}
The stage of the Service Bus namespace definition allowing to add a new queue in the namespace.
/**
* The stage of the Service Bus namespace definition allowing to add a new queue in the namespace.
*/
interface WithQueue {
Creates a queue entity in the Service Bus namespace.
Params: - name – queue name
- maxSizeInMB – maximum size of memory allocated for the queue entity
Returns: next stage of the Service Bus namespace definition
/**
* Creates a queue entity in the Service Bus namespace.
*
* @param name queue name
* @param maxSizeInMB maximum size of memory allocated for the queue entity
* @return next stage of the Service Bus namespace definition
*/
WithCreate withNewQueue(String name, int maxSizeInMB);
}
The stage of the Service Bus namespace definition allowing to add a new topic in the namespace.
/**
* The stage of the Service Bus namespace definition allowing to add a new topic in the namespace.
*/
interface WithTopic {
Creates a topic entity in the Service Bus namespace.
Params: - name – topic name
- maxSizeInMB – maximum size of memory allocated for the topic entity
Returns: next stage of the Service Bus namespace definition
/**
* Creates a topic entity in the Service Bus namespace.
*
* @param name topic name
* @param maxSizeInMB maximum size of memory allocated for the topic entity
* @return next stage of the Service Bus namespace definition
*/
WithCreate withNewTopic(String name, int maxSizeInMB);
}
The stage of the Service Bus namespace definition allowing to add an authorization rule for accessing
the namespace.
/**
* The stage of the Service Bus namespace definition allowing to add an authorization rule for accessing
* the namespace.
*/
interface WithAuthorizationRule {
Creates a send authorization rule for the Service Bus namespace.
Params: - name – rule name
Returns: next stage of the Service Bus namespace definition
/**
* Creates a send authorization rule for the Service Bus namespace.
*
* @param name rule name
* @return next stage of the Service Bus namespace definition
*/
WithCreate withNewSendRule(String name);
Creates a listen authorization rule for the Service Bus namespace.
Params: - name – rule name
Returns: next stage of the Service Bus namespace definition
/**
* Creates a listen authorization rule for the Service Bus namespace.
*
* @param name rule name
* @return next stage of the Service Bus namespace definition
*/
WithCreate withNewListenRule(String name);
Creates a manage authorization rule for the Service Bus namespace.
Params: - name – rule name
Returns: next stage of the Service Bus namespace definition
/**
* Creates a manage authorization rule for the Service Bus namespace.
*
* @param name rule name
* @return next stage of the Service Bus namespace definition
*/
WithCreate withNewManageRule(String name);
}
The stage of the definition which contains all the minimum required inputs for the resource to be created (via Creatable<ServiceBusNamespace>.create()
), but also allows for any other optional settings to be specified. /**
* 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<ServiceBusNamespace>,
Resource.DefinitionWithTags<WithCreate>,
ServiceBusNamespace.DefinitionStages.WithSku,
ServiceBusNamespace.DefinitionStages.WithQueue,
ServiceBusNamespace.DefinitionStages.WithTopic,
ServiceBusNamespace.DefinitionStages.WithAuthorizationRule {
}
}
The template for a Service Bus namespace update operation, containing all the settings that can be modified.
/**
* The template for a Service Bus namespace update operation, containing all the settings that can be modified.
*/
interface Update extends
Appliable<ServiceBusNamespace>,
Resource.UpdateWithTags<Update>,
ServiceBusNamespace.UpdateStages.WithSku,
ServiceBusNamespace.UpdateStages.WithQueue,
ServiceBusNamespace.UpdateStages.WithTopic,
ServiceBusNamespace.UpdateStages.WithAuthorizationRule {
}
Grouping of all the Service Bus namespace update stages.
/**
* Grouping of all the Service Bus namespace update stages.
*/
interface UpdateStages {
The stage of the Service Bus namespace update allowing to change the sku.
/**
* The stage of the Service Bus namespace update allowing to change the sku.
*/
interface WithSku {
Specifies the namespace sku.
Params: - namespaceSku – the sku
Returns: next stage of the Service Bus namespace update
/**
* Specifies the namespace sku.
*
* @param namespaceSku the sku
* @return next stage of the Service Bus namespace update
*/
Update withSku(NamespaceSku namespaceSku);
}
The stage of the Service Bus namespace update allowing to manage queues in the namespace.
/**
* The stage of the Service Bus namespace update allowing to manage queues in the namespace.
*/
interface WithQueue {
Creates a queue entity in the Service Bus namespace.
Params: - name – queue name
- maxSizeInMB – maximum size of memory allocated for the queue entity
Returns: next stage of the Service Bus namespace update
/**
* Creates a queue entity in the Service Bus namespace.
*
* @param name queue name
* @param maxSizeInMB maximum size of memory allocated for the queue entity
* @return next stage of the Service Bus namespace update
*/
Update withNewQueue(String name, int maxSizeInMB);
Removes a queue entity from the Service Bus namespace.
Params: - name – queue name
Returns: next stage of the Service Bus namespace update
/**
* Removes a queue entity from the Service Bus namespace.
*
* @param name queue name
* @return next stage of the Service Bus namespace update
*/
Update withoutQueue(String name);
}
The stage of the Service Bus namespace update allowing to manage topics in the namespace.
/**
* The stage of the Service Bus namespace update allowing to manage topics in the namespace.
*/
interface WithTopic {
Creates a topic entity in the Service Bus namespace.
Params: - name – topic name
- maxSizeInMB – maximum size of memory allocated for the topic entity
Returns: next stage of the Service Bus namespace update
/**
* Creates a topic entity in the Service Bus namespace.
*
* @param name topic name
* @param maxSizeInMB maximum size of memory allocated for the topic entity
* @return next stage of the Service Bus namespace update
*/
Update withNewTopic(String name, int maxSizeInMB);
Removes a topic entity from the Service Bus namespace.
Params: - name – topic name
Returns: next stage of the Service Bus namespace update
/**
* Removes a topic entity from the Service Bus namespace.
*
* @param name topic name
* @return next stage of the Service Bus namespace update
*/
Update withoutTopic(String name);
}
The stage of the Service Bus namespace update allowing manage authorization rules
for the namespace.
/**
* The stage of the Service Bus namespace update allowing manage authorization rules
* for the namespace.
*/
interface WithAuthorizationRule {
Creates a send authorization rule for the Service Bus namespace.
Params: - name – rule name
Returns: next stage of the Service Bus namespace update
/**
* Creates a send authorization rule for the Service Bus namespace.
*
* @param name rule name
* @return next stage of the Service Bus namespace update
*/
Update withNewSendRule(String name);
Creates a listen authorization rule for the Service Bus namespace.
Params: - name – rule name
Returns: next stage of the Service Bus namespace update
/**
* Creates a listen authorization rule for the Service Bus namespace.
*
* @param name rule name
* @return next stage of the Service Bus namespace update
*/
Update withNewListenRule(String name);
Creates a manage authorization rule for the Service Bus namespace.
Params: - name – rule name
Returns: next stage of the Service Bus namespace update
/**
* Creates a manage authorization rule for the Service Bus namespace.
*
* @param name rule name
* @return next stage of the Service Bus namespace update
*/
Update withNewManageRule(String name);
Removes an authorization rule from the Service Bus namespace.
Params: - name – rule name
Returns: next stage of the Service Bus namespace update
/**
* Removes an authorization rule from the Service Bus namespace.
*
* @param name rule name
* @return next stage of the Service Bus namespace update
*/
Update withoutAuthorizationRule(String name);
}
}
}