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.eventhub;
import com.microsoft.azure.PagedList;
import com.microsoft.azure.management.apigeneration.Beta;
import com.microsoft.azure.management.apigeneration.Fluent;
import com.microsoft.azure.management.eventhub.implementation.EHNamespaceInner;
import com.microsoft.azure.management.eventhub.implementation.EventHubManager;
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 org.joda.time.DateTime;
import rx.Observable;
Type representing an Azure EventHub namespace.
/**
* Type representing an Azure EventHub namespace.
*/
@Fluent
@Beta(Beta.SinceVersion.V1_7_0)
public interface EventHubNamespace extends
GroupableResource<EventHubManager, EHNamespaceInner>,
Refreshable<EventHubNamespace>,
Updatable<EventHubNamespace.Update> {
Returns: namespace sku
/**
* @return namespace sku
*/
@Beta(Beta.SinceVersion.V1_7_0)
EventHubNamespaceSkuType sku();
Returns: resource id of the Azure Insights metrics associated with the namespace
/**
* @return resource id of the Azure Insights metrics associated with the namespace
*/
@Beta(Beta.SinceVersion.V1_7_0)
String azureInsightMetricId();
Returns: the service bus endpoint associated with the namespace
/**
* @return the service bus endpoint associated with the namespace
*/
@Beta(Beta.SinceVersion.V1_7_0)
String serviceBusEndpoint();
Returns: namespace created time
/**
* @return namespace created time
*/
@Beta(Beta.SinceVersion.V1_7_0)
DateTime createdAt();
Returns: namespace last modified time
/**
* @return namespace last modified time
*/
@Beta(Beta.SinceVersion.V1_7_0)
DateTime updatedAt();
Returns: provisioning state of the namespace
/**
* @return provisioning state of the namespace
*/
@Beta(Beta.SinceVersion.V1_7_0)
String provisioningState();
Returns: true if auto-scale is enabled for the namespace, false otherwise
/**
* @return true if auto-scale is enabled for the namespace, false otherwise
*/
@Beta(Beta.SinceVersion.V1_7_0)
boolean isAutoScaleEnabled();
Returns: current throughput units set for the namespace
/**
* @return current throughput units set for the namespace
*/
@Beta(Beta.SinceVersion.V1_7_0)
int currentThroughputUnits();
Returns: maximum throughput unit that auto-scalar is allowed to set
/**
* @return maximum throughput unit that auto-scalar is allowed to set
*/
@Beta(Beta.SinceVersion.V1_7_0)
int throughputUnitsUpperLimit();
Returns: the event hubs in the namespace
/**
* @return the event hubs in the namespace
*/
@Beta(Beta.SinceVersion.V1_7_0)
Observable<EventHub> listEventHubsAsync();
Returns: the authorization rules for the event hub namespace
/**
* @return the authorization rules for the event hub namespace
*/
@Beta(Beta.SinceVersion.V1_7_0)
Observable<EventHubNamespaceAuthorizationRule> listAuthorizationRulesAsync();
Returns: list of event hubs in the namespace
/**
* @return list of event hubs in the namespace
*/
@Beta(Beta.SinceVersion.V1_7_0)
PagedList<EventHub> listEventHubs();
Returns: list of authorization rules for the event hub namespace
/**
* @return list of authorization rules for the event hub namespace
*/
@Beta(Beta.SinceVersion.V1_7_0)
PagedList<EventHubNamespaceAuthorizationRule> listAuthorizationRules();
The entirety of the event hub namespace definition.
/**
* The entirety of the event hub namespace definition.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface Definition extends
EventHubNamespace.DefinitionStages.Blank,
EventHubNamespace.DefinitionStages.WithGroup,
EventHubNamespace.DefinitionStages.WithCreate {
}
Grouping of event hub namespace definition stages.
/**
* Grouping of event hub namespace definition stages.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface DefinitionStages {
The first stage of a event hub namespace definition.
/**
* The first stage of a event hub namespace definition.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface Blank extends GroupableResource.DefinitionWithRegion<WithGroup> {
}
The stage of the event hub namespace definition allowing to specify the resource group.
/**
* The stage of the event hub namespace definition allowing to specify the resource group.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface WithGroup extends GroupableResource.DefinitionStages.WithGroup<WithCreate> {
}
The stage of the event hub namespace definition allowing to specify the sku.
/**
* The stage of the event hub namespace definition allowing to specify the sku.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface WithSku {
Specifies the namespace sku.
Params: - namespaceSku – the sku
Returns: next stage of the event hub namespace definition
/**
* Specifies the namespace sku.
*
* @param namespaceSku the sku
* @return next stage of the event hub namespace definition
*/
WithCreate withSku(EventHubNamespaceSkuType namespaceSku);
}
The stage of the event hub namespace definition allowing to add new event hub in the namespace.
/**
* The stage of the event hub namespace definition allowing to add new event hub in the namespace.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface WithEventHub {
Specifies that a new event hub should be created in the namespace.
Params: - eventHubName – event hub name
Returns: next stage of the event hub namespace definition
/**
* Specifies that a new event hub should be created in the namespace.
*
* @param eventHubName event hub name
* @return next stage of the event hub namespace definition
*/
@Beta(Beta.SinceVersion.V1_7_0)
WithCreate withNewEventHub(String eventHubName);
Specifies that a new event hub should be created in the namespace.
Params: - eventHubName – event hub name
- partitionCount – the number of partitions in the event hub
Returns: next stage of the event hub namespace definition
/**
* Specifies that a new event hub should be created in the namespace.
*
* @param eventHubName event hub name
* @param partitionCount the number of partitions in the event hub
* @return next stage of the event hub namespace definition
*/
@Beta(Beta.SinceVersion.V1_7_0)
WithCreate withNewEventHub(String eventHubName, int partitionCount);
Specifies that a new event hub should be created in the namespace.
Params: - eventHubName – event hub name
- partitionCount – the number of partitions in the event hub
- retentionPeriodInDays – the retention period for events in days
Returns: next stage of the event hub namespace definition
/**
* Specifies that a new event hub should be created in the namespace.
*
* @param eventHubName event hub name
* @param partitionCount the number of partitions in the event hub
* @param retentionPeriodInDays the retention period for events in days
* @return next stage of the event hub namespace definition
*/
@Beta(Beta.SinceVersion.V1_7_0)
WithCreate withNewEventHub(String eventHubName, int partitionCount, int retentionPeriodInDays);
}
The stage of the event hub namespace definition allowing to add authorization rule for accessing
the event hub.
/**
* The stage of the event hub namespace definition allowing to add authorization rule for accessing
* the event hub.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface WithAuthorizationRule {
Specifies that a new authorization rule should be created that has send access to the event hub namespace.
Params: - ruleName – rule name
Returns: next stage of the event hub namespace definition
/**
* Specifies that a new authorization rule should be created that has send access to the event hub namespace.
*
* @param ruleName rule name
* @return next stage of the event hub namespace definition
*/
@Beta(Beta.SinceVersion.V1_7_0)
WithCreate withNewSendRule(String ruleName);
Specifies that a new authorization rule should be created that has listen access to the event hub namespace.
Params: - ruleName – rule name
Returns: next stage of the event hub namespace definition
/**
* Specifies that a new authorization rule should be created that has listen access to the event hub namespace.
*
* @param ruleName rule name
* @return next stage of the event hub namespace definition
*/
@Beta(Beta.SinceVersion.V1_7_0)
WithCreate withNewListenRule(String ruleName);
Specifies that a new authorization rule should be created that has manage access to the event hub namespace.
Params: - ruleName – rule name
Returns: next stage of the event hub namespace definition
/**
* Specifies that a new authorization rule should be created that has manage access to the event hub namespace.
*
* @param ruleName rule name
* @return next stage of the event hub namespace definition
*/
@Beta(Beta.SinceVersion.V1_7_0)
WithCreate withNewManageRule(String ruleName);
}
The stage of the event hub namespace definition allowing to specify the throughput unit settings.
/**
* The stage of the event hub namespace definition allowing to specify the throughput unit settings.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface WithThroughputConfiguration {
Enables the scaling up the throughput units automatically based on load.
Returns: next stage of the event hub namespace definition
/**
* Enables the scaling up the throughput units automatically based on load.
*
* @return next stage of the event hub namespace definition
*/
@Beta(Beta.SinceVersion.V1_7_0)
WithCreate withAutoScaling();
Specifies the current throughput units.
Params: - units – throughput units
Returns: next stage of the event hub namespace definition
/**
* Specifies the current throughput units.
*
* @param units throughput units
* @return next stage of the event hub namespace definition
*/
@Beta(Beta.SinceVersion.V1_7_0)
WithCreate withCurrentThroughputUnits(int units);
Specifies the maximum throughput units that auto-scalar is allowed to scale-up.
Params: - units – throughput units
Returns: next stage of the event hub namespace definition
/**
* Specifies the maximum throughput units that auto-scalar is allowed to scale-up.
*
* @param units throughput units
* @return next stage of the event hub namespace definition
*/
@Beta(Beta.SinceVersion.V1_7_0)
WithCreate withThroughputUnitsUpperLimit(int units);
}
The stage of the definition which contains all the minimum required inputs for the resource to be created (via Creatable<EventHubNamespace>.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.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface WithCreate extends
Creatable<EventHubNamespace>,
Resource.DefinitionWithTags<WithCreate>,
EventHubNamespace.DefinitionStages.WithSku,
EventHubNamespace.DefinitionStages.WithEventHub,
EventHubNamespace.DefinitionStages.WithAuthorizationRule,
EventHubNamespace.DefinitionStages.WithThroughputConfiguration {
}
}
The template for a event hub namespace update operation, containing all the settings that can be modified.
/**
* The template for a event hub namespace update operation, containing all the settings that can be modified.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface Update extends
Appliable<EventHubNamespace>,
Resource.UpdateWithTags<Update>,
EventHubNamespace.UpdateStages.WithSku,
EventHubNamespace.UpdateStages.WithEventHub,
EventHubNamespace.UpdateStages.WithAuthorizationRule,
EventHubNamespace.UpdateStages.WithThroughputConfiguration {
}
Grouping of all the event hub namespace update stages.
/**
* Grouping of all the event hub namespace update stages.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface UpdateStages {
The stage of the event hub namespace update allowing to change the sku.
/**
* The stage of the event hub namespace update allowing to change the sku.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface WithSku {
Specifies the namespace sku.
Params: - namespaceSku – the sku
Returns: next stage of the event hub namespace update
/**
* Specifies the namespace sku.
*
* @param namespaceSku the sku
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withSku(EventHubNamespaceSkuType namespaceSku);
}
The stage of the event hub namespace update allowing to add new event hub in the namespace.
/**
* The stage of the event hub namespace update allowing to add new event hub in the namespace.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface WithEventHub {
Specifies that a new event hub should be created in the namespace.
Params: - eventHubName – event hub name
Returns: next stage of the event hub namespace update
/**
* Specifies that a new event hub should be created in the namespace.
*
* @param eventHubName event hub name
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withNewEventHub(String eventHubName);
Specifies that a new event hub should be created in the namespace.
Params: - eventHubName – event hub name
- partitionCount – the number of partitions in the event hub
Returns: next stage of the event hub namespace update
/**
* Specifies that a new event hub should be created in the namespace.
*
* @param eventHubName event hub name
* @param partitionCount the number of partitions in the event hub
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withNewEventHub(String eventHubName, int partitionCount);
Specifies that a new event hub should be created in the namespace.
Params: - eventHubName – event hub name
- partitionCount – the number of partitions in the event hub
- retentionPeriodInDays – the retention period for events in days
Returns: next stage of the event hub namespace update
/**
* Specifies that a new event hub should be created in the namespace.
*
* @param eventHubName event hub name
* @param partitionCount the number of partitions in the event hub
* @param retentionPeriodInDays the retention period for events in days
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withNewEventHub(String eventHubName, int partitionCount, int retentionPeriodInDays);
Deletes an event hub in the event hub namespace.
Params: - eventHubName – event hub name
Returns: next stage of the event hub namespace update
/**
* Deletes an event hub in the event hub namespace.
*
* @param eventHubName event hub name
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withoutEventHub(String eventHubName);
}
The stage of the event hub namespace update allowing to add authorization rule for accessing
the event hub.
/**
* The stage of the event hub namespace update allowing to add authorization rule for accessing
* the event hub.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface WithAuthorizationRule {
Specifies that a new authorization rule should be created that has send access to the event hub namespace.
Params: - ruleName – rule name
Returns: next stage of the event hub namespace update
/**
* Specifies that a new authorization rule should be created that has send access to the event hub namespace.
*
* @param ruleName rule name
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withNewSendRule(String ruleName);
Specifies that a new authorization rule should be created that has listen access to the event hub namespace.
Params: - ruleName – rule name
Returns: next stage of the event hub namespace update
/**
* Specifies that a new authorization rule should be created that has listen access to the event hub namespace.
*
* @param ruleName rule name
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withNewListenRule(String ruleName);
Specifies that a new authorization rule should be created that has manage access to the event hub namespace.
Params: - ruleName – rule name
Returns: next stage of the event hub namespace update
/**
* Specifies that a new authorization rule should be created that has manage access to the event hub namespace.
*
* @param ruleName rule name
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withNewManageRule(String ruleName);
Deletes an authorization rule associated with the event hub namespace.
Params: - ruleName – rule name
Returns: next stage of the event hub namespace update
/**
* Deletes an authorization rule associated with the event hub namespace.
*
* @param ruleName rule name
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withoutAuthorizationRule(String ruleName);
}
The stage of the event hub namespace update allowing to specify the throughput unit settings.
/**
* The stage of the event hub namespace update allowing to specify the throughput unit settings.
*/
@Beta(Beta.SinceVersion.V1_7_0)
interface WithThroughputConfiguration {
Enables the scaling up the throughput units automatically based on load.
Returns: next stage of the event hub namespace update
/**
* Enables the scaling up the throughput units automatically based on load.
*
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withAutoScaling();
Specifies the current throughput units.
Params: - units – throughput units
Returns: next stage of the event hub namespace update
/**
* Specifies the current throughput units.
*
* @param units throughput units
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withCurrentThroughputUnits(int units);
Specifies the maximum throughput units that auto-scalar is allowed to scale-up.
Params: - units – throughput units
Returns: next stage of the event hub namespace update
/**
* Specifies the maximum throughput units that auto-scalar is allowed to scale-up.
*
* @param units throughput units
* @return next stage of the event hub namespace update
*/
@Beta(Beta.SinceVersion.V1_7_0)
Update withThroughputUnitsUpperLimit(int units);
}
}
}