scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval
+ = Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of EventHubs service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the EventHubs service API instance.
+ */
+ public EventHubsManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ String clientVersion = PROPERTIES.getOrDefault(SDK_VERSION, "UnknownVersion");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder.append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.eventhubs.generated")
+ .append("/")
+ .append(clientVersion);
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder.append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new BearerTokenAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies.addAll(this.policies.stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline = new HttpPipelineBuilder().httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new EventHubsManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of Clusters. It manages Cluster.
+ *
+ * @return Resource collection API of Clusters.
+ */
+ public Clusters clusters() {
+ if (this.clusters == null) {
+ this.clusters = new ClustersImpl(clientObject.getClusters(), this);
+ }
+ return clusters;
+ }
+
+ /**
+ * Gets the resource collection API of Namespaces. It manages EHNamespace, AuthorizationRule.
+ *
+ * @return Resource collection API of Namespaces.
+ */
+ public Namespaces namespaces() {
+ if (this.namespaces == null) {
+ this.namespaces = new NamespacesImpl(clientObject.getNamespaces(), this);
+ }
+ return namespaces;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateEndpointConnections. It manages PrivateEndpointConnection.
+ *
+ * @return Resource collection API of PrivateEndpointConnections.
+ */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections
+ = new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateLinkResources.
+ *
+ * @return Resource collection API of PrivateLinkResources.
+ */
+ public PrivateLinkResources privateLinkResources() {
+ if (this.privateLinkResources == null) {
+ this.privateLinkResources = new PrivateLinkResourcesImpl(clientObject.getPrivateLinkResources(), this);
+ }
+ return privateLinkResources;
+ }
+
+ /**
+ * Gets the resource collection API of NetworkSecurityPerimeterConfigurations.
+ *
+ * @return Resource collection API of NetworkSecurityPerimeterConfigurations.
+ */
+ public NetworkSecurityPerimeterConfigurations networkSecurityPerimeterConfigurations() {
+ if (this.networkSecurityPerimeterConfigurations == null) {
+ this.networkSecurityPerimeterConfigurations = new NetworkSecurityPerimeterConfigurationsImpl(
+ clientObject.getNetworkSecurityPerimeterConfigurations(), this);
+ }
+ return networkSecurityPerimeterConfigurations;
+ }
+
+ /**
+ * Gets the resource collection API of NetworkSecurityPerimeterConfigurationsOperations.
+ *
+ * @return Resource collection API of NetworkSecurityPerimeterConfigurationsOperations.
+ */
+ public NetworkSecurityPerimeterConfigurationsOperations networkSecurityPerimeterConfigurationsOperations() {
+ if (this.networkSecurityPerimeterConfigurationsOperations == null) {
+ this.networkSecurityPerimeterConfigurationsOperations
+ = new NetworkSecurityPerimeterConfigurationsOperationsImpl(
+ clientObject.getNetworkSecurityPerimeterConfigurationsOperations(), this);
+ }
+ return networkSecurityPerimeterConfigurationsOperations;
+ }
+
+ /**
+ * Gets the resource collection API of Configurations.
+ *
+ * @return Resource collection API of Configurations.
+ */
+ public Configurations configurations() {
+ if (this.configurations == null) {
+ this.configurations = new ConfigurationsImpl(clientObject.getConfigurations(), this);
+ }
+ return configurations;
+ }
+
+ /**
+ * Gets the resource collection API of DisasterRecoveryConfigs. It manages ArmDisasterRecovery.
+ *
+ * @return Resource collection API of DisasterRecoveryConfigs.
+ */
+ public DisasterRecoveryConfigs disasterRecoveryConfigs() {
+ if (this.disasterRecoveryConfigs == null) {
+ this.disasterRecoveryConfigs
+ = new DisasterRecoveryConfigsImpl(clientObject.getDisasterRecoveryConfigs(), this);
+ }
+ return disasterRecoveryConfigs;
+ }
+
+ /**
+ * Gets the resource collection API of EventHubs. It manages Eventhub.
+ *
+ * @return Resource collection API of EventHubs.
+ */
+ public EventHubs eventHubs() {
+ if (this.eventHubs == null) {
+ this.eventHubs = new EventHubsImpl(clientObject.getEventHubs(), this);
+ }
+ return eventHubs;
+ }
+
+ /**
+ * Gets the resource collection API of ConsumerGroups. It manages ConsumerGroup.
+ *
+ * @return Resource collection API of ConsumerGroups.
+ */
+ public ConsumerGroups consumerGroups() {
+ if (this.consumerGroups == null) {
+ this.consumerGroups = new ConsumerGroupsImpl(clientObject.getConsumerGroups(), this);
+ }
+ return consumerGroups;
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of SchemaRegistries. It manages SchemaGroup.
+ *
+ * @return Resource collection API of SchemaRegistries.
+ */
+ public SchemaRegistries schemaRegistries() {
+ if (this.schemaRegistries == null) {
+ this.schemaRegistries = new SchemaRegistriesImpl(clientObject.getSchemaRegistries(), this);
+ }
+ return schemaRegistries;
+ }
+
+ /**
+ * Gets the resource collection API of ApplicationGroups. It manages ApplicationGroup.
+ *
+ * @return Resource collection API of ApplicationGroups.
+ */
+ public ApplicationGroups applicationGroups() {
+ if (this.applicationGroups == null) {
+ this.applicationGroups = new ApplicationGroupsImpl(clientObject.getApplicationGroups(), this);
+ }
+ return applicationGroups;
+ }
+
+ /**
+ * Gets wrapped service client EventHubManagementClient providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client EventHubManagementClient.
+ */
+ public EventHubManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ApplicationGroupsClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ApplicationGroupsClient.java
new file mode 100644
index 000000000000..4854a4566fa0
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ApplicationGroupsClient.java
@@ -0,0 +1,137 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.ApplicationGroupInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ApplicationGroupsClient.
+ */
+public interface ApplicationGroupsClient {
+ /**
+ * Gets a list of application groups for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of application groups for a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByNamespace(String resourceGroupName, String namespaceName);
+
+ /**
+ * Gets a list of application groups for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of application groups for a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByNamespace(String resourceGroupName, String namespaceName,
+ Context context);
+
+ /**
+ * Creates or updates an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param parameters The ApplicationGroup.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Application Group object along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateApplicationGroupWithResponse(String resourceGroupName,
+ String namespaceName, String applicationGroupName, ApplicationGroupInner parameters, Context context);
+
+ /**
+ * Creates or updates an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param parameters The ApplicationGroup.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Application Group object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGroupInner createOrUpdateApplicationGroup(String resourceGroupName, String namespaceName,
+ String applicationGroupName, ApplicationGroupInner parameters);
+
+ /**
+ * Deletes an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String namespaceName, String applicationGroupName,
+ Context context);
+
+ /**
+ * Deletes an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String namespaceName, String applicationGroupName);
+
+ /**
+ * Gets an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an ApplicationGroup for a Namespace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String namespaceName,
+ String applicationGroupName, Context context);
+
+ /**
+ * Gets an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an ApplicationGroup for a Namespace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ApplicationGroupInner get(String resourceGroupName, String namespaceName, String applicationGroupName);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ClustersClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ClustersClient.java
new file mode 100644
index 000000000000..7f0c7c30b257
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ClustersClient.java
@@ -0,0 +1,318 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.AvailableClustersListInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.ClusterInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.EHNamespaceIdListResultInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ClustersClient.
+ */
+public interface ClustersClient {
+ /**
+ * List the quantity of available pre-provisioned Event Hubs Clusters, indexed by Azure region.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Available Clusters operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listAvailableClusterRegionWithResponse(Context context);
+
+ /**
+ * List the quantity of available pre-provisioned Event Hubs Clusters, indexed by Azure region.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Available Clusters operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AvailableClustersListInner listAvailableClusterRegion();
+
+ /**
+ * Lists the available Event Hubs Clusters within an ARM resource group.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Event Hubs Clusters operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists the available Event Hubs Clusters within an ARM resource group.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Event Hubs Clusters operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists the available Event Hubs Clusters within an ARM resource group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Event Hubs Clusters operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists the available Event Hubs Clusters within an ARM resource group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Event Hubs Clusters operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets the resource description of the specified Event Hubs Cluster.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the resource description of the specified Event Hubs Cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String clusterName,
+ Context context);
+
+ /**
+ * Gets the resource description of the specified Event Hubs Cluster.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the resource description of the specified Event Hubs Cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner getByResourceGroup(String resourceGroupName, String clusterName);
+
+ /**
+ * Creates or updates an instance of an Event Hubs Cluster.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param parameters Parameters for creating a eventhub cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of single Event Hubs Cluster resource in List or Get operations.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterInner> beginCreateOrUpdate(String resourceGroupName, String clusterName,
+ ClusterInner parameters);
+
+ /**
+ * Creates or updates an instance of an Event Hubs Cluster.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param parameters Parameters for creating a eventhub cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of single Event Hubs Cluster resource in List or Get operations.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterInner> beginCreateOrUpdate(String resourceGroupName, String clusterName,
+ ClusterInner parameters, Context context);
+
+ /**
+ * Creates or updates an instance of an Event Hubs Cluster.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param parameters Parameters for creating a eventhub cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single Event Hubs Cluster resource in List or Get operations.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner createOrUpdate(String resourceGroupName, String clusterName, ClusterInner parameters);
+
+ /**
+ * Creates or updates an instance of an Event Hubs Cluster.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param parameters Parameters for creating a eventhub cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single Event Hubs Cluster resource in List or Get operations.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner createOrUpdate(String resourceGroupName, String clusterName, ClusterInner parameters, Context context);
+
+ /**
+ * Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param parameters The properties of the Event Hubs Cluster which should be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of single Event Hubs Cluster resource in List or Get operations.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterInner> beginUpdate(String resourceGroupName, String clusterName,
+ ClusterInner parameters);
+
+ /**
+ * Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param parameters The properties of the Event Hubs Cluster which should be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of single Event Hubs Cluster resource in List or Get operations.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ClusterInner> beginUpdate(String resourceGroupName, String clusterName,
+ ClusterInner parameters, Context context);
+
+ /**
+ * Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param parameters The properties of the Event Hubs Cluster which should be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single Event Hubs Cluster resource in List or Get operations.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner update(String resourceGroupName, String clusterName, ClusterInner parameters);
+
+ /**
+ * Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param parameters The properties of the Event Hubs Cluster which should be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single Event Hubs Cluster resource in List or Get operations.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterInner update(String resourceGroupName, String clusterName, ClusterInner parameters, Context context);
+
+ /**
+ * Deletes an existing Event Hubs Cluster. This operation is idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String clusterName);
+
+ /**
+ * Deletes an existing Event Hubs Cluster. This operation is idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String clusterName, Context context);
+
+ /**
+ * Deletes an existing Event Hubs Cluster. This operation is idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String clusterName);
+
+ /**
+ * Deletes an existing Event Hubs Cluster. This operation is idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String clusterName, Context context);
+
+ /**
+ * List all Event Hubs Namespace IDs in an Event Hubs Dedicated Cluster.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Namespace IDs operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listNamespacesWithResponse(String resourceGroupName, String clusterName,
+ Context context);
+
+ /**
+ * List all Event Hubs Namespace IDs in an Event Hubs Dedicated Cluster.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Namespace IDs operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EHNamespaceIdListResultInner listNamespaces(String resourceGroupName, String clusterName);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ConfigurationsClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ConfigurationsClient.java
new file mode 100644
index 000000000000..fcfffb7adfa3
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ConfigurationsClient.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.ClusterQuotaConfigurationPropertiesInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ConfigurationsClient.
+ */
+public interface ConfigurationsClient {
+ /**
+ * Replace all specified Event Hubs Cluster settings with those contained in the request body. Leaves the settings
+ * not specified in the request body unmodified.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param parameters Parameters for creating an Event Hubs Cluster resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return contains all settings for the cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response patchWithResponse(String resourceGroupName, String clusterName,
+ ClusterQuotaConfigurationPropertiesInner parameters, Context context);
+
+ /**
+ * Replace all specified Event Hubs Cluster settings with those contained in the request body. Leaves the settings
+ * not specified in the request body unmodified.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param parameters Parameters for creating an Event Hubs Cluster resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return contains all settings for the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterQuotaConfigurationPropertiesInner patch(String resourceGroupName, String clusterName,
+ ClusterQuotaConfigurationPropertiesInner parameters);
+
+ /**
+ * Get all Event Hubs Cluster settings - a collection of key/value pairs which represent the quotas and settings
+ * imposed on the cluster.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all Event Hubs Cluster settings - a collection of key/value pairs which represent the quotas and settings
+ * imposed on the cluster along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String clusterName,
+ Context context);
+
+ /**
+ * Get all Event Hubs Cluster settings - a collection of key/value pairs which represent the quotas and settings
+ * imposed on the cluster.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param clusterName The name of the Event Hubs Cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all Event Hubs Cluster settings - a collection of key/value pairs which represent the quotas and settings
+ * imposed on the cluster.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterQuotaConfigurationPropertiesInner get(String resourceGroupName, String clusterName);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ConsumerGroupsClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ConsumerGroupsClient.java
new file mode 100644
index 000000000000..96d6655da13c
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/ConsumerGroupsClient.java
@@ -0,0 +1,153 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.ConsumerGroupInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ConsumerGroupsClient.
+ */
+public interface ConsumerGroupsClient {
+ /**
+ * Creates or updates an Event Hubs consumer group as a nested resource within a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param consumerGroupName The consumer group name.
+ * @param parameters Parameters supplied to create or update a consumer group resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in List or Get Consumer group operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName, String namespaceName,
+ String eventHubName, String consumerGroupName, ConsumerGroupInner parameters, Context context);
+
+ /**
+ * Creates or updates an Event Hubs consumer group as a nested resource within a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param consumerGroupName The consumer group name.
+ * @param parameters Parameters supplied to create or update a consumer group resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in List or Get Consumer group operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConsumerGroupInner createOrUpdate(String resourceGroupName, String namespaceName, String eventHubName,
+ String consumerGroupName, ConsumerGroupInner parameters);
+
+ /**
+ * Deletes a consumer group from the specified Event Hub and resource group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param consumerGroupName The consumer group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String namespaceName, String eventHubName,
+ String consumerGroupName, Context context);
+
+ /**
+ * Deletes a consumer group from the specified Event Hub and resource group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param consumerGroupName The consumer group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String namespaceName, String eventHubName, String consumerGroupName);
+
+ /**
+ * Gets a description for the specified consumer group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param consumerGroupName The consumer group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a description for the specified consumer group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String namespaceName, String eventHubName,
+ String consumerGroupName, Context context);
+
+ /**
+ * Gets a description for the specified consumer group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param consumerGroupName The consumer group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a description for the specified consumer group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ConsumerGroupInner get(String resourceGroupName, String namespaceName, String eventHubName,
+ String consumerGroupName);
+
+ /**
+ * Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists in the
+ * Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the consumer groups in a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEventHub(String resourceGroupName, String namespaceName,
+ String eventHubName);
+
+ /**
+ * Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists in the
+ * Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param skip Skip is only used if a previous operation returned a partial result. If a previous response contains
+ * a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting
+ * point to use for subsequent calls.
+ * @param top May be used to limit the number of results to the most recent N usageDetails.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the consumer groups in a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByEventHub(String resourceGroupName, String namespaceName,
+ String eventHubName, Integer skip, Integer top, Context context);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/DisasterRecoveryConfigsClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/DisasterRecoveryConfigsClient.java
new file mode 100644
index 000000000000..3ae4e361488e
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/DisasterRecoveryConfigsClient.java
@@ -0,0 +1,324 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.AccessKeysInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.ArmDisasterRecoveryInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.AuthorizationRuleInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.CheckNameAvailabilityResultInner;
+import com.azure.resourcemanager.eventhubs.generated.models.CheckNameAvailabilityParameter;
+
+/**
+ * An instance of this class provides access to all the operations defined in DisasterRecoveryConfigsClient.
+ */
+public interface DisasterRecoveryConfigsClient {
+ /**
+ * Gets a list of authorization rules for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of authorization rules for a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAuthorizationRules(String resourceGroupName, String namespaceName,
+ String alias);
+
+ /**
+ * Gets a list of authorization rules for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of authorization rules for a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAuthorizationRules(String resourceGroupName, String namespaceName,
+ String alias, Context context);
+
+ /**
+ * Gets an AuthorizationRule for a Namespace by rule name.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an AuthorizationRule for a Namespace by rule name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getAuthorizationRuleWithResponse(String resourceGroupName, String namespaceName,
+ String alias, String authorizationRuleName, Context context);
+
+ /**
+ * Gets an AuthorizationRule for a Namespace by rule name.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param authorizationRuleName The authorization rule name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an AuthorizationRule for a Namespace by rule name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AuthorizationRuleInner getAuthorizationRule(String resourceGroupName, String namespaceName, String alias,
+ String authorizationRuleName);
+
+ /**
+ * Gets the primary and secondary connection strings for the Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the primary and secondary connection strings for the Namespace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listKeysWithResponse(String resourceGroupName, String namespaceName, String alias,
+ String authorizationRuleName, Context context);
+
+ /**
+ * Gets the primary and secondary connection strings for the Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param authorizationRuleName The authorization rule name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the primary and secondary connection strings for the Namespace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessKeysInner listKeys(String resourceGroupName, String namespaceName, String alias,
+ String authorizationRuleName);
+
+ /**
+ * Check the give Namespace name availability.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters to check availability of the given Alias name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Result of the CheckNameAvailability operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithResponse(String resourceGroupName,
+ String namespaceName, CheckNameAvailabilityParameter parameters, Context context);
+
+ /**
+ * Check the give Namespace name availability.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters to check availability of the given Alias name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Result of the CheckNameAvailability operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameAvailabilityResultInner checkNameAvailability(String resourceGroupName, String namespaceName,
+ CheckNameAvailabilityParameter parameters);
+
+ /**
+ * Gets all Alias(Disaster Recovery configurations).
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all Alias(Disaster Recovery configurations) as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String namespaceName);
+
+ /**
+ * Gets all Alias(Disaster Recovery configurations).
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all Alias(Disaster Recovery configurations) as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String namespaceName, Context context);
+
+ /**
+ * Creates or updates a new Alias(Disaster Recovery configuration).
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param parameters Parameters required to create an Alias(Disaster Recovery configuration).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in List or Get Alias(Disaster Recovery configuration) operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName, String namespaceName,
+ String alias, ArmDisasterRecoveryInner parameters, Context context);
+
+ /**
+ * Creates or updates a new Alias(Disaster Recovery configuration).
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param parameters Parameters required to create an Alias(Disaster Recovery configuration).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in List or Get Alias(Disaster Recovery configuration) operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ArmDisasterRecoveryInner createOrUpdate(String resourceGroupName, String namespaceName, String alias,
+ ArmDisasterRecoveryInner parameters);
+
+ /**
+ * Deletes an Alias(Disaster Recovery configuration).
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String namespaceName, String alias, Context context);
+
+ /**
+ * Deletes an Alias(Disaster Recovery configuration).
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String namespaceName, String alias);
+
+ /**
+ * Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in List or Get Alias(Disaster Recovery configuration) operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String namespaceName, String alias,
+ Context context);
+
+ /**
+ * Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in List or Get Alias(Disaster Recovery configuration) operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ArmDisasterRecoveryInner get(String resourceGroupName, String namespaceName, String alias);
+
+ /**
+ * This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response breakPairingWithResponse(String resourceGroupName, String namespaceName, String alias,
+ Context context);
+
+ /**
+ * This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void breakPairing(String resourceGroupName, String namespaceName, String alias);
+
+ /**
+ * Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response failOverWithResponse(String resourceGroupName, String namespaceName, String alias, Context context);
+
+ /**
+ * Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param alias The Disaster Recovery configuration name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void failOver(String resourceGroupName, String namespaceName, String alias);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/EventHubManagementClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/EventHubManagementClient.java
new file mode 100644
index 000000000000..21c1809a6c07
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/EventHubManagementClient.java
@@ -0,0 +1,140 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/**
+ * The interface for EventHubManagementClient class.
+ */
+public interface EventHubManagementClient {
+ /**
+ * Gets Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms
+ * part of the URI for every service call.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the ClustersClient object to access its operations.
+ *
+ * @return the ClustersClient object.
+ */
+ ClustersClient getClusters();
+
+ /**
+ * Gets the NamespacesClient object to access its operations.
+ *
+ * @return the NamespacesClient object.
+ */
+ NamespacesClient getNamespaces();
+
+ /**
+ * Gets the PrivateEndpointConnectionsClient object to access its operations.
+ *
+ * @return the PrivateEndpointConnectionsClient object.
+ */
+ PrivateEndpointConnectionsClient getPrivateEndpointConnections();
+
+ /**
+ * Gets the PrivateLinkResourcesClient object to access its operations.
+ *
+ * @return the PrivateLinkResourcesClient object.
+ */
+ PrivateLinkResourcesClient getPrivateLinkResources();
+
+ /**
+ * Gets the NetworkSecurityPerimeterConfigurationsClient object to access its operations.
+ *
+ * @return the NetworkSecurityPerimeterConfigurationsClient object.
+ */
+ NetworkSecurityPerimeterConfigurationsClient getNetworkSecurityPerimeterConfigurations();
+
+ /**
+ * Gets the NetworkSecurityPerimeterConfigurationsOperationsClient object to access its operations.
+ *
+ * @return the NetworkSecurityPerimeterConfigurationsOperationsClient object.
+ */
+ NetworkSecurityPerimeterConfigurationsOperationsClient getNetworkSecurityPerimeterConfigurationsOperations();
+
+ /**
+ * Gets the ConfigurationsClient object to access its operations.
+ *
+ * @return the ConfigurationsClient object.
+ */
+ ConfigurationsClient getConfigurations();
+
+ /**
+ * Gets the DisasterRecoveryConfigsClient object to access its operations.
+ *
+ * @return the DisasterRecoveryConfigsClient object.
+ */
+ DisasterRecoveryConfigsClient getDisasterRecoveryConfigs();
+
+ /**
+ * Gets the EventHubsClient object to access its operations.
+ *
+ * @return the EventHubsClient object.
+ */
+ EventHubsClient getEventHubs();
+
+ /**
+ * Gets the ConsumerGroupsClient object to access its operations.
+ *
+ * @return the ConsumerGroupsClient object.
+ */
+ ConsumerGroupsClient getConsumerGroups();
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the SchemaRegistriesClient object to access its operations.
+ *
+ * @return the SchemaRegistriesClient object.
+ */
+ SchemaRegistriesClient getSchemaRegistries();
+
+ /**
+ * Gets the ApplicationGroupsClient object to access its operations.
+ *
+ * @return the ApplicationGroupsClient object.
+ */
+ ApplicationGroupsClient getApplicationGroups();
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/EventHubsClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/EventHubsClient.java
new file mode 100644
index 000000000000..8cbde57f2113
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/EventHubsClient.java
@@ -0,0 +1,346 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.AccessKeysInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.AuthorizationRuleInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.EventhubInner;
+import com.azure.resourcemanager.eventhubs.generated.models.RegenerateAccessKeyParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in EventHubsClient.
+ */
+public interface EventHubsClient {
+ /**
+ * Gets the authorization rules for an Event Hub.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the authorization rules for an Event Hub as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAuthorizationRules(String resourceGroupName, String namespaceName,
+ String eventHubName);
+
+ /**
+ * Gets the authorization rules for an Event Hub.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the authorization rules for an Event Hub as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAuthorizationRules(String resourceGroupName, String namespaceName,
+ String eventHubName, Context context);
+
+ /**
+ * Creates or updates an AuthorizationRule for the specified Event Hub. Creation/update of the AuthorizationRule
+ * will take a few seconds to take effect.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param parameters The shared access AuthorizationRule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in a List or Get AuthorizationRule operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateAuthorizationRuleWithResponse(String resourceGroupName,
+ String namespaceName, String eventHubName, String authorizationRuleName, AuthorizationRuleInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates an AuthorizationRule for the specified Event Hub. Creation/update of the AuthorizationRule
+ * will take a few seconds to take effect.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param parameters The shared access AuthorizationRule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in a List or Get AuthorizationRule operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AuthorizationRuleInner createOrUpdateAuthorizationRule(String resourceGroupName, String namespaceName,
+ String eventHubName, String authorizationRuleName, AuthorizationRuleInner parameters);
+
+ /**
+ * Gets an AuthorizationRule for an Event Hub by rule name.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an AuthorizationRule for an Event Hub by rule name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getAuthorizationRuleWithResponse(String resourceGroupName, String namespaceName,
+ String eventHubName, String authorizationRuleName, Context context);
+
+ /**
+ * Gets an AuthorizationRule for an Event Hub by rule name.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param authorizationRuleName The authorization rule name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an AuthorizationRule for an Event Hub by rule name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AuthorizationRuleInner getAuthorizationRule(String resourceGroupName, String namespaceName, String eventHubName,
+ String authorizationRuleName);
+
+ /**
+ * Deletes an Event Hub AuthorizationRule.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteAuthorizationRuleWithResponse(String resourceGroupName, String namespaceName,
+ String eventHubName, String authorizationRuleName, Context context);
+
+ /**
+ * Deletes an Event Hub AuthorizationRule.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param authorizationRuleName The authorization rule name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteAuthorizationRule(String resourceGroupName, String namespaceName, String eventHubName,
+ String authorizationRuleName);
+
+ /**
+ * Gets the ACS and SAS connection strings for the Event Hub.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the ACS and SAS connection strings for the Event Hub along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listKeysWithResponse(String resourceGroupName, String namespaceName, String eventHubName,
+ String authorizationRuleName, Context context);
+
+ /**
+ * Gets the ACS and SAS connection strings for the Event Hub.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param authorizationRuleName The authorization rule name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the ACS and SAS connection strings for the Event Hub.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessKeysInner listKeys(String resourceGroupName, String namespaceName, String eventHubName,
+ String authorizationRuleName);
+
+ /**
+ * Regenerates the ACS and SAS connection strings for the Event Hub.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param parameters Parameters supplied to regenerate the AuthorizationRule Keys (PrimaryKey/SecondaryKey).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return namespace/EventHub Connection String along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response regenerateKeysWithResponse(String resourceGroupName, String namespaceName,
+ String eventHubName, String authorizationRuleName, RegenerateAccessKeyParameters parameters, Context context);
+
+ /**
+ * Regenerates the ACS and SAS connection strings for the Event Hub.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param parameters Parameters supplied to regenerate the AuthorizationRule Keys (PrimaryKey/SecondaryKey).
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return namespace/EventHub Connection String.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessKeysInner regenerateKeys(String resourceGroupName, String namespaceName, String eventHubName,
+ String authorizationRuleName, RegenerateAccessKeyParameters parameters);
+
+ /**
+ * Gets all the Event Hubs in a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Event Hubs in a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByNamespace(String resourceGroupName, String namespaceName);
+
+ /**
+ * Gets all the Event Hubs in a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param skip Skip is only used if a previous operation returned a partial result. If a previous response contains
+ * a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting
+ * point to use for subsequent calls.
+ * @param top May be used to limit the number of results to the most recent N usageDetails.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Event Hubs in a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByNamespace(String resourceGroupName, String namespaceName, Integer skip,
+ Integer top, Context context);
+
+ /**
+ * Creates or updates a new Event Hub as a nested resource within a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param parameters Parameters supplied to create an Event Hub resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in List or Get Event Hub operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName, String namespaceName,
+ String eventHubName, EventhubInner parameters, Context context);
+
+ /**
+ * Creates or updates a new Event Hub as a nested resource within a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param parameters Parameters supplied to create an Event Hub resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in List or Get Event Hub operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EventhubInner createOrUpdate(String resourceGroupName, String namespaceName, String eventHubName,
+ EventhubInner parameters);
+
+ /**
+ * Deletes an Event Hub from the specified Namespace and resource group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String namespaceName, String eventHubName,
+ Context context);
+
+ /**
+ * Deletes an Event Hub from the specified Namespace and resource group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String namespaceName, String eventHubName);
+
+ /**
+ * Gets an Event Hubs description for the specified Event Hub.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Event Hubs description for the specified Event Hub along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String namespaceName, String eventHubName,
+ Context context);
+
+ /**
+ * Gets an Event Hubs description for the specified Event Hub.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param eventHubName The Event Hub name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an Event Hubs description for the specified Event Hub.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EventhubInner get(String resourceGroupName, String namespaceName, String eventHubName);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/NamespacesClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/NamespacesClient.java
new file mode 100644
index 000000000000..6b739ee8e8a9
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/NamespacesClient.java
@@ -0,0 +1,608 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.AccessKeysInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.AuthorizationRuleInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.CheckNameAvailabilityResultInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.EHNamespaceInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.FailOverInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.NetworkRuleSetInner;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.NetworkRuleSetListResultInner;
+import com.azure.resourcemanager.eventhubs.generated.models.CheckNameAvailabilityParameter;
+import com.azure.resourcemanager.eventhubs.generated.models.RegenerateAccessKeyParameters;
+
+/**
+ * An instance of this class provides access to all the operations defined in NamespacesClient.
+ */
+public interface NamespacesClient {
+ /**
+ * Lists all the available Namespaces within a subscription, irrespective of the resource groups.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Namespace operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all the available Namespaces within a subscription, irrespective of the resource groups.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Namespace operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Lists the available Namespaces within a resource group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Namespace operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Lists the available Namespaces within a resource group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response of the List Namespace operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is
+ * idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters for creating a namespace resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of single Namespace item in List or Get Operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EHNamespaceInner> beginCreateOrUpdate(String resourceGroupName,
+ String namespaceName, EHNamespaceInner parameters);
+
+ /**
+ * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is
+ * idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters for creating a namespace resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of single Namespace item in List or Get Operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, EHNamespaceInner> beginCreateOrUpdate(String resourceGroupName,
+ String namespaceName, EHNamespaceInner parameters, Context context);
+
+ /**
+ * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is
+ * idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters for creating a namespace resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single Namespace item in List or Get Operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EHNamespaceInner createOrUpdate(String resourceGroupName, String namespaceName, EHNamespaceInner parameters);
+
+ /**
+ * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is
+ * idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters for creating a namespace resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single Namespace item in List or Get Operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EHNamespaceInner createOrUpdate(String resourceGroupName, String namespaceName, EHNamespaceInner parameters,
+ Context context);
+
+ /**
+ * Deletes an existing namespace. This operation also removes all associated resources under the namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String namespaceName);
+
+ /**
+ * Deletes an existing namespace. This operation also removes all associated resources under the namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String namespaceName, Context context);
+
+ /**
+ * Deletes an existing namespace. This operation also removes all associated resources under the namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String namespaceName);
+
+ /**
+ * Deletes an existing namespace. This operation also removes all associated resources under the namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String namespaceName, Context context);
+
+ /**
+ * Gets the description of the specified namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the description of the specified namespace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String namespaceName,
+ Context context);
+
+ /**
+ * Gets the description of the specified namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the description of the specified namespace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EHNamespaceInner getByResourceGroup(String resourceGroupName, String namespaceName);
+
+ /**
+ * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is
+ * idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters for updating a namespace resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single Namespace item in List or Get Operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(String resourceGroupName, String namespaceName,
+ EHNamespaceInner parameters, Context context);
+
+ /**
+ * Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is
+ * idempotent.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters for updating a namespace resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single Namespace item in List or Get Operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EHNamespaceInner update(String resourceGroupName, String namespaceName, EHNamespaceInner parameters);
+
+ /**
+ * GeoDR Failover.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters for updating a namespace resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FailOverInner> beginFailover(String resourceGroupName, String namespaceName,
+ FailOverInner parameters);
+
+ /**
+ * GeoDR Failover.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters for updating a namespace resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, FailOverInner> beginFailover(String resourceGroupName, String namespaceName,
+ FailOverInner parameters, Context context);
+
+ /**
+ * GeoDR Failover.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters for updating a namespace resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailOverInner failover(String resourceGroupName, String namespaceName, FailOverInner parameters);
+
+ /**
+ * GeoDR Failover.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters Parameters for updating a namespace resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailOverInner failover(String resourceGroupName, String namespaceName, FailOverInner parameters, Context context);
+
+ /**
+ * Create or update NetworkRuleSet for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters The Namespace IpFilterRule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return description of topic resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateNetworkRuleSetWithResponse(String resourceGroupName,
+ String namespaceName, NetworkRuleSetInner parameters, Context context);
+
+ /**
+ * Create or update NetworkRuleSet for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param parameters The Namespace IpFilterRule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return description of topic resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkRuleSetInner createOrUpdateNetworkRuleSet(String resourceGroupName, String namespaceName,
+ NetworkRuleSetInner parameters);
+
+ /**
+ * Gets NetworkRuleSet for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return networkRuleSet for a Namespace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getNetworkRuleSetWithResponse(String resourceGroupName, String namespaceName,
+ Context context);
+
+ /**
+ * Gets NetworkRuleSet for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return networkRuleSet for a Namespace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkRuleSetInner getNetworkRuleSet(String resourceGroupName, String namespaceName);
+
+ /**
+ * Gets NetworkRuleSet for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return networkRuleSet for a Namespace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listNetworkRuleSetWithResponse(String resourceGroupName,
+ String namespaceName, Context context);
+
+ /**
+ * Gets NetworkRuleSet for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return networkRuleSet for a Namespace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkRuleSetListResultInner listNetworkRuleSet(String resourceGroupName, String namespaceName);
+
+ /**
+ * Gets a list of authorization rules for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of authorization rules for a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAuthorizationRules(String resourceGroupName, String namespaceName);
+
+ /**
+ * Gets a list of authorization rules for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of authorization rules for a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listAuthorizationRules(String resourceGroupName, String namespaceName,
+ Context context);
+
+ /**
+ * Creates or updates an AuthorizationRule for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param parameters The shared access AuthorizationRule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in a List or Get AuthorizationRule operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateAuthorizationRuleWithResponse(String resourceGroupName,
+ String namespaceName, String authorizationRuleName, AuthorizationRuleInner parameters, Context context);
+
+ /**
+ * Creates or updates an AuthorizationRule for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param parameters The shared access AuthorizationRule.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in a List or Get AuthorizationRule operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AuthorizationRuleInner createOrUpdateAuthorizationRule(String resourceGroupName, String namespaceName,
+ String authorizationRuleName, AuthorizationRuleInner parameters);
+
+ /**
+ * Deletes an AuthorizationRule for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteAuthorizationRuleWithResponse(String resourceGroupName, String namespaceName,
+ String authorizationRuleName, Context context);
+
+ /**
+ * Deletes an AuthorizationRule for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param authorizationRuleName The authorization rule name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteAuthorizationRule(String resourceGroupName, String namespaceName, String authorizationRuleName);
+
+ /**
+ * Gets an AuthorizationRule for a Namespace by rule name.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an AuthorizationRule for a Namespace by rule name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getAuthorizationRuleWithResponse(String resourceGroupName, String namespaceName,
+ String authorizationRuleName, Context context);
+
+ /**
+ * Gets an AuthorizationRule for a Namespace by rule name.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param authorizationRuleName The authorization rule name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an AuthorizationRule for a Namespace by rule name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AuthorizationRuleInner getAuthorizationRule(String resourceGroupName, String namespaceName,
+ String authorizationRuleName);
+
+ /**
+ * Gets the primary and secondary connection strings for the Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the primary and secondary connection strings for the Namespace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listKeysWithResponse(String resourceGroupName, String namespaceName,
+ String authorizationRuleName, Context context);
+
+ /**
+ * Gets the primary and secondary connection strings for the Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param authorizationRuleName The authorization rule name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the primary and secondary connection strings for the Namespace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessKeysInner listKeys(String resourceGroupName, String namespaceName, String authorizationRuleName);
+
+ /**
+ * Regenerates the primary or secondary connection strings for the specified Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param parameters Parameters required to regenerate the connection string.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return namespace/EventHub Connection String along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response regenerateKeysWithResponse(String resourceGroupName, String namespaceName,
+ String authorizationRuleName, RegenerateAccessKeyParameters parameters, Context context);
+
+ /**
+ * Regenerates the primary or secondary connection strings for the specified Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param authorizationRuleName The authorization rule name.
+ * @param parameters Parameters required to regenerate the connection string.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return namespace/EventHub Connection String.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AccessKeysInner regenerateKeys(String resourceGroupName, String namespaceName, String authorizationRuleName,
+ RegenerateAccessKeyParameters parameters);
+
+ /**
+ * Check the give Namespace name availability.
+ *
+ * @param parameters Parameters to check availability of the given Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Result of the CheckNameAvailability operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response
+ checkNameAvailabilityWithResponse(CheckNameAvailabilityParameter parameters, Context context);
+
+ /**
+ * Check the give Namespace name availability.
+ *
+ * @param parameters Parameters to check availability of the given Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Result of the CheckNameAvailability operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameAvailabilityResultInner checkNameAvailability(CheckNameAvailabilityParameter parameters);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/NetworkSecurityPerimeterConfigurationsClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/NetworkSecurityPerimeterConfigurationsClient.java
new file mode 100644
index 000000000000..0b6766a5b5eb
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/NetworkSecurityPerimeterConfigurationsClient.java
@@ -0,0 +1,45 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.NetworkSecurityPerimeterConfigurationListInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * NetworkSecurityPerimeterConfigurationsClient.
+ */
+public interface NetworkSecurityPerimeterConfigurationsClient {
+ /**
+ * Gets list of current NetworkSecurityPerimeterConfiguration for Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of current NetworkSecurityPerimeterConfiguration for Namespace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listWithResponse(String resourceGroupName,
+ String namespaceName, Context context);
+
+ /**
+ * Gets list of current NetworkSecurityPerimeterConfiguration for Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of current NetworkSecurityPerimeterConfiguration for Namespace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NetworkSecurityPerimeterConfigurationListInner list(String resourceGroupName, String namespaceName);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/NetworkSecurityPerimeterConfigurationsOperationsClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/NetworkSecurityPerimeterConfigurationsOperationsClient.java
new file mode 100644
index 000000000000..b2ec4a57a2c0
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/NetworkSecurityPerimeterConfigurationsOperationsClient.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * NetworkSecurityPerimeterConfigurationsOperationsClient.
+ */
+public interface NetworkSecurityPerimeterConfigurationsOperationsClient {
+ /**
+ * Refreshes any information about the association.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param resourceAssociationName The ResourceAssociation Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginCreateOrUpdate(String resourceGroupName, String namespaceName,
+ String resourceAssociationName);
+
+ /**
+ * Refreshes any information about the association.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param resourceAssociationName The ResourceAssociation Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginCreateOrUpdate(String resourceGroupName, String namespaceName,
+ String resourceAssociationName, Context context);
+
+ /**
+ * Refreshes any information about the association.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param resourceAssociationName The ResourceAssociation Name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void createOrUpdate(String resourceGroupName, String namespaceName, String resourceAssociationName);
+
+ /**
+ * Refreshes any information about the association.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param resourceAssociationName The ResourceAssociation Name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void createOrUpdate(String resourceGroupName, String namespaceName, String resourceAssociationName,
+ Context context);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/OperationsClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/OperationsClient.java
new file mode 100644
index 000000000000..8efc08f05293
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/OperationsClient.java
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.OperationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationsClient.
+ */
+public interface OperationsClient {
+ /**
+ * Lists all of the available Event Hub REST API operations.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list Event Hub operations as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the available Event Hub REST API operations.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list Event Hub operations as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/PrivateEndpointConnectionsClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/PrivateEndpointConnectionsClient.java
new file mode 100644
index 000000000000..8e45a6386077
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/PrivateEndpointConnectionsClient.java
@@ -0,0 +1,170 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.PrivateEndpointConnectionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in PrivateEndpointConnectionsClient.
+ */
+public interface PrivateEndpointConnectionsClient {
+ /**
+ * Gets the available PrivateEndpointConnections within a namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the available PrivateEndpointConnections within a namespace as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String namespaceName);
+
+ /**
+ * Gets the available PrivateEndpointConnections within a namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the available PrivateEndpointConnections within a namespace as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String namespaceName, Context context);
+
+ /**
+ * Creates or updates PrivateEndpointConnections of service namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param parameters Parameters supplied to update Status of PrivateEndPoint Connection to namespace resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return properties of the PrivateEndpointConnection along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName, String namespaceName,
+ String privateEndpointConnectionName, PrivateEndpointConnectionInner parameters, Context context);
+
+ /**
+ * Creates or updates PrivateEndpointConnections of service namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param parameters Parameters supplied to update Status of PrivateEndPoint Connection to namespace resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return properties of the PrivateEndpointConnection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner createOrUpdate(String resourceGroupName, String namespaceName,
+ String privateEndpointConnectionName, PrivateEndpointConnectionInner parameters);
+
+ /**
+ * Deletes an existing namespace. This operation also removes all associated resources under the namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String namespaceName,
+ String privateEndpointConnectionName);
+
+ /**
+ * Deletes an existing namespace. This operation also removes all associated resources under the namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String namespaceName,
+ String privateEndpointConnectionName, Context context);
+
+ /**
+ * Deletes an existing namespace. This operation also removes all associated resources under the namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String namespaceName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes an existing namespace. This operation also removes all associated resources under the namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String namespaceName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Gets a description for the specified Private Endpoint Connection name.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a description for the specified Private Endpoint Connection name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String namespaceName,
+ String privateEndpointConnectionName, Context context);
+
+ /**
+ * Gets a description for the specified Private Endpoint Connection name.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a description for the specified Private Endpoint Connection name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner get(String resourceGroupName, String namespaceName,
+ String privateEndpointConnectionName);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/PrivateLinkResourcesClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/PrivateLinkResourcesClient.java
new file mode 100644
index 000000000000..4edc15e9a778
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/PrivateLinkResourcesClient.java
@@ -0,0 +1,44 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.PrivateLinkResourcesListResultInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in PrivateLinkResourcesClient.
+ */
+public interface PrivateLinkResourcesClient {
+ /**
+ * Gets lists of resources that supports Privatelinks.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return lists of resources that supports Privatelinks along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String namespaceName,
+ Context context);
+
+ /**
+ * Gets lists of resources that supports Privatelinks.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return lists of resources that supports Privatelinks.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkResourcesListResultInner get(String resourceGroupName, String namespaceName);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/SchemaRegistriesClient.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/SchemaRegistriesClient.java
new file mode 100644
index 000000000000..6f2ebe24c6a6
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/SchemaRegistriesClient.java
@@ -0,0 +1,141 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.SchemaGroupInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in SchemaRegistriesClient.
+ */
+public interface SchemaRegistriesClient {
+ /**
+ * Gets all the Schema Groups in a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Schema Groups in a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByNamespace(String resourceGroupName, String namespaceName);
+
+ /**
+ * Gets all the Schema Groups in a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param skip Skip is only used if a previous operation returned a partial result. If a previous response contains
+ * a nextLink element, the value of the nextLink element will include a skip parameter that specifies a starting
+ * point to use for subsequent calls.
+ * @param top May be used to limit the number of results to the most recent N usageDetails.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all the Schema Groups in a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByNamespace(String resourceGroupName, String namespaceName, Integer skip,
+ Integer top, Context context);
+
+ /**
+ * Creates or Updates an EventHub schema group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param schemaGroupName The Schema Group name.
+ * @param parameters Parameters supplied to create an Event Hub resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in List or Get Schema Group operation along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName, String namespaceName,
+ String schemaGroupName, SchemaGroupInner parameters, Context context);
+
+ /**
+ * Creates or Updates an EventHub schema group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param schemaGroupName The Schema Group name.
+ * @param parameters Parameters supplied to create an Event Hub resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return single item in List or Get Schema Group operation.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SchemaGroupInner createOrUpdate(String resourceGroupName, String namespaceName, String schemaGroupName,
+ SchemaGroupInner parameters);
+
+ /**
+ * Deletes an EventHub schema group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param schemaGroupName The Schema Group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String namespaceName, String schemaGroupName,
+ Context context);
+
+ /**
+ * Deletes an EventHub schema group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param schemaGroupName The Schema Group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String namespaceName, String schemaGroupName);
+
+ /**
+ * Gets the details of an EventHub schema group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param schemaGroupName The Schema Group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an EventHub schema group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String namespaceName, String schemaGroupName,
+ Context context);
+
+ /**
+ * Gets the details of an EventHub schema group.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param schemaGroupName The Schema Group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the details of an EventHub schema group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SchemaGroupInner get(String resourceGroupName, String namespaceName, String schemaGroupName);
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AccessKeysInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AccessKeysInner.java
new file mode 100644
index 000000000000..fca420a45130
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AccessKeysInner.java
@@ -0,0 +1,178 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * Namespace/EventHub Connection String.
+ */
+@Immutable
+public final class AccessKeysInner implements JsonSerializable {
+ /*
+ * Primary connection string of the created namespace AuthorizationRule.
+ */
+ private String primaryConnectionString;
+
+ /*
+ * Secondary connection string of the created namespace AuthorizationRule.
+ */
+ private String secondaryConnectionString;
+
+ /*
+ * Primary connection string of the alias if GEO DR is enabled
+ */
+ private String aliasPrimaryConnectionString;
+
+ /*
+ * Secondary connection string of the alias if GEO DR is enabled
+ */
+ private String aliasSecondaryConnectionString;
+
+ /*
+ * A base64-encoded 256-bit primary key for signing and validating the SAS token.
+ */
+ private String primaryKey;
+
+ /*
+ * A base64-encoded 256-bit primary key for signing and validating the SAS token.
+ */
+ private String secondaryKey;
+
+ /*
+ * A string that describes the AuthorizationRule.
+ */
+ private String keyName;
+
+ /**
+ * Creates an instance of AccessKeysInner class.
+ */
+ public AccessKeysInner() {
+ }
+
+ /**
+ * Get the primaryConnectionString property: Primary connection string of the created namespace AuthorizationRule.
+ *
+ * @return the primaryConnectionString value.
+ */
+ public String primaryConnectionString() {
+ return this.primaryConnectionString;
+ }
+
+ /**
+ * Get the secondaryConnectionString property: Secondary connection string of the created namespace
+ * AuthorizationRule.
+ *
+ * @return the secondaryConnectionString value.
+ */
+ public String secondaryConnectionString() {
+ return this.secondaryConnectionString;
+ }
+
+ /**
+ * Get the aliasPrimaryConnectionString property: Primary connection string of the alias if GEO DR is enabled.
+ *
+ * @return the aliasPrimaryConnectionString value.
+ */
+ public String aliasPrimaryConnectionString() {
+ return this.aliasPrimaryConnectionString;
+ }
+
+ /**
+ * Get the aliasSecondaryConnectionString property: Secondary connection string of the alias if GEO DR is enabled.
+ *
+ * @return the aliasSecondaryConnectionString value.
+ */
+ public String aliasSecondaryConnectionString() {
+ return this.aliasSecondaryConnectionString;
+ }
+
+ /**
+ * Get the primaryKey property: A base64-encoded 256-bit primary key for signing and validating the SAS token.
+ *
+ * @return the primaryKey value.
+ */
+ public String primaryKey() {
+ return this.primaryKey;
+ }
+
+ /**
+ * Get the secondaryKey property: A base64-encoded 256-bit primary key for signing and validating the SAS token.
+ *
+ * @return the secondaryKey value.
+ */
+ public String secondaryKey() {
+ return this.secondaryKey;
+ }
+
+ /**
+ * Get the keyName property: A string that describes the AuthorizationRule.
+ *
+ * @return the keyName value.
+ */
+ public String keyName() {
+ return this.keyName;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of AccessKeysInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of AccessKeysInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the AccessKeysInner.
+ */
+ public static AccessKeysInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ AccessKeysInner deserializedAccessKeysInner = new AccessKeysInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("primaryConnectionString".equals(fieldName)) {
+ deserializedAccessKeysInner.primaryConnectionString = reader.getString();
+ } else if ("secondaryConnectionString".equals(fieldName)) {
+ deserializedAccessKeysInner.secondaryConnectionString = reader.getString();
+ } else if ("aliasPrimaryConnectionString".equals(fieldName)) {
+ deserializedAccessKeysInner.aliasPrimaryConnectionString = reader.getString();
+ } else if ("aliasSecondaryConnectionString".equals(fieldName)) {
+ deserializedAccessKeysInner.aliasSecondaryConnectionString = reader.getString();
+ } else if ("primaryKey".equals(fieldName)) {
+ deserializedAccessKeysInner.primaryKey = reader.getString();
+ } else if ("secondaryKey".equals(fieldName)) {
+ deserializedAccessKeysInner.secondaryKey = reader.getString();
+ } else if ("keyName".equals(fieldName)) {
+ deserializedAccessKeysInner.keyName = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedAccessKeysInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ApplicationGroupInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ApplicationGroupInner.java
new file mode 100644
index 000000000000..3c86c58b636c
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ApplicationGroupInner.java
@@ -0,0 +1,249 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.ApplicationGroupPolicy;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The Application Group object.
+ */
+@Fluent
+public final class ApplicationGroupInner extends ProxyResource {
+ /*
+ * The properties property.
+ */
+ private ApplicationGroupProperties innerProperties;
+
+ /*
+ * The system meta data relating to this resource.
+ */
+ private SystemData systemData;
+
+ /*
+ * The geo-location where the resource lives
+ */
+ private String location;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of ApplicationGroupInner class.
+ */
+ public ApplicationGroupInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties property.
+ *
+ * @return the innerProperties value.
+ */
+ private ApplicationGroupProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the isEnabled property: Determines if Application Group is allowed to create connection with namespace or
+ * not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no
+ * new connections will be allowed.
+ *
+ * @return the isEnabled value.
+ */
+ public Boolean isEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().isEnabled();
+ }
+
+ /**
+ * Set the isEnabled property: Determines if Application Group is allowed to create connection with namespace or
+ * not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no
+ * new connections will be allowed.
+ *
+ * @param isEnabled the isEnabled value to set.
+ * @return the ApplicationGroupInner object itself.
+ */
+ public ApplicationGroupInner withIsEnabled(Boolean isEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApplicationGroupProperties();
+ }
+ this.innerProperties().withIsEnabled(isEnabled);
+ return this;
+ }
+
+ /**
+ * Get the clientAppGroupIdentifier property: The Unique identifier for application group.Supports
+ * SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid).
+ *
+ * @return the clientAppGroupIdentifier value.
+ */
+ public String clientAppGroupIdentifier() {
+ return this.innerProperties() == null ? null : this.innerProperties().clientAppGroupIdentifier();
+ }
+
+ /**
+ * Set the clientAppGroupIdentifier property: The Unique identifier for application group.Supports
+ * SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid).
+ *
+ * @param clientAppGroupIdentifier the clientAppGroupIdentifier value to set.
+ * @return the ApplicationGroupInner object itself.
+ */
+ public ApplicationGroupInner withClientAppGroupIdentifier(String clientAppGroupIdentifier) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApplicationGroupProperties();
+ }
+ this.innerProperties().withClientAppGroupIdentifier(clientAppGroupIdentifier);
+ return this;
+ }
+
+ /**
+ * Get the policies property: List of group policies that define the behavior of application group. The policies can
+ * support resource governance scenarios such as limiting ingress or egress traffic.
+ *
+ * @return the policies value.
+ */
+ public List policies() {
+ return this.innerProperties() == null ? null : this.innerProperties().policies();
+ }
+
+ /**
+ * Set the policies property: List of group policies that define the behavior of application group. The policies can
+ * support resource governance scenarios such as limiting ingress or egress traffic.
+ *
+ * @param policies the policies value to set.
+ * @return the ApplicationGroupInner object itself.
+ */
+ public ApplicationGroupInner withPolicies(List policies) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ApplicationGroupProperties();
+ }
+ this.innerProperties().withPolicies(policies);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ApplicationGroupInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ApplicationGroupInner if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ApplicationGroupInner.
+ */
+ public static ApplicationGroupInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ApplicationGroupInner deserializedApplicationGroupInner = new ApplicationGroupInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedApplicationGroupInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedApplicationGroupInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedApplicationGroupInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedApplicationGroupInner.innerProperties = ApplicationGroupProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedApplicationGroupInner.systemData = SystemData.fromJson(reader);
+ } else if ("location".equals(fieldName)) {
+ deserializedApplicationGroupInner.location = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedApplicationGroupInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ApplicationGroupProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ApplicationGroupProperties.java
new file mode 100644
index 000000000000..ac0449e9133b
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ApplicationGroupProperties.java
@@ -0,0 +1,175 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.ApplicationGroupPolicy;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The ApplicationGroupProperties model.
+ */
+@Fluent
+public final class ApplicationGroupProperties implements JsonSerializable {
+ /*
+ * Determines if Application Group is allowed to create connection with namespace or not. Once the isEnabled is set
+ * to false, all the existing connections of application group gets dropped and no new connections will be allowed
+ */
+ private Boolean isEnabled;
+
+ /*
+ * The Unique identifier for application group.Supports SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid)
+ */
+ private String clientAppGroupIdentifier;
+
+ /*
+ * List of group policies that define the behavior of application group. The policies can support resource
+ * governance scenarios such as limiting ingress or egress traffic.
+ */
+ private List policies;
+
+ /**
+ * Creates an instance of ApplicationGroupProperties class.
+ */
+ public ApplicationGroupProperties() {
+ }
+
+ /**
+ * Get the isEnabled property: Determines if Application Group is allowed to create connection with namespace or
+ * not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no
+ * new connections will be allowed.
+ *
+ * @return the isEnabled value.
+ */
+ public Boolean isEnabled() {
+ return this.isEnabled;
+ }
+
+ /**
+ * Set the isEnabled property: Determines if Application Group is allowed to create connection with namespace or
+ * not. Once the isEnabled is set to false, all the existing connections of application group gets dropped and no
+ * new connections will be allowed.
+ *
+ * @param isEnabled the isEnabled value to set.
+ * @return the ApplicationGroupProperties object itself.
+ */
+ public ApplicationGroupProperties withIsEnabled(Boolean isEnabled) {
+ this.isEnabled = isEnabled;
+ return this;
+ }
+
+ /**
+ * Get the clientAppGroupIdentifier property: The Unique identifier for application group.Supports
+ * SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid).
+ *
+ * @return the clientAppGroupIdentifier value.
+ */
+ public String clientAppGroupIdentifier() {
+ return this.clientAppGroupIdentifier;
+ }
+
+ /**
+ * Set the clientAppGroupIdentifier property: The Unique identifier for application group.Supports
+ * SAS(SASKeyName=KeyName) or AAD(AADAppID=Guid).
+ *
+ * @param clientAppGroupIdentifier the clientAppGroupIdentifier value to set.
+ * @return the ApplicationGroupProperties object itself.
+ */
+ public ApplicationGroupProperties withClientAppGroupIdentifier(String clientAppGroupIdentifier) {
+ this.clientAppGroupIdentifier = clientAppGroupIdentifier;
+ return this;
+ }
+
+ /**
+ * Get the policies property: List of group policies that define the behavior of application group. The policies can
+ * support resource governance scenarios such as limiting ingress or egress traffic.
+ *
+ * @return the policies value.
+ */
+ public List policies() {
+ return this.policies;
+ }
+
+ /**
+ * Set the policies property: List of group policies that define the behavior of application group. The policies can
+ * support resource governance scenarios such as limiting ingress or egress traffic.
+ *
+ * @param policies the policies value to set.
+ * @return the ApplicationGroupProperties object itself.
+ */
+ public ApplicationGroupProperties withPolicies(List policies) {
+ this.policies = policies;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (clientAppGroupIdentifier() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property clientAppGroupIdentifier in model ApplicationGroupProperties"));
+ }
+ if (policies() != null) {
+ policies().forEach(e -> e.validate());
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(ApplicationGroupProperties.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("clientAppGroupIdentifier", this.clientAppGroupIdentifier);
+ jsonWriter.writeBooleanField("isEnabled", this.isEnabled);
+ jsonWriter.writeArrayField("policies", this.policies, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ApplicationGroupProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ApplicationGroupProperties if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ApplicationGroupProperties.
+ */
+ public static ApplicationGroupProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ApplicationGroupProperties deserializedApplicationGroupProperties = new ApplicationGroupProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("clientAppGroupIdentifier".equals(fieldName)) {
+ deserializedApplicationGroupProperties.clientAppGroupIdentifier = reader.getString();
+ } else if ("isEnabled".equals(fieldName)) {
+ deserializedApplicationGroupProperties.isEnabled = reader.getNullable(JsonReader::getBoolean);
+ } else if ("policies".equals(fieldName)) {
+ List policies
+ = reader.readArray(reader1 -> ApplicationGroupPolicy.fromJson(reader1));
+ deserializedApplicationGroupProperties.policies = policies;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedApplicationGroupProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ArmDisasterRecoveryInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ArmDisasterRecoveryInner.java
new file mode 100644
index 000000000000..53487bcbc929
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ArmDisasterRecoveryInner.java
@@ -0,0 +1,251 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.ProvisioningStateDR;
+import com.azure.resourcemanager.eventhubs.generated.models.RoleDisasterRecovery;
+import java.io.IOException;
+
+/**
+ * Single item in List or Get Alias(Disaster Recovery configuration) operation.
+ */
+@Fluent
+public final class ArmDisasterRecoveryInner extends ProxyResource {
+ /*
+ * Properties required to the Create Or Update Alias(Disaster Recovery configurations)
+ */
+ private ArmDisasterRecoveryProperties innerProperties;
+
+ /*
+ * The system meta data relating to this resource.
+ */
+ private SystemData systemData;
+
+ /*
+ * The geo-location where the resource lives
+ */
+ private String location;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of ArmDisasterRecoveryInner class.
+ */
+ public ArmDisasterRecoveryInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Properties required to the Create Or Update Alias(Disaster Recovery
+ * configurations).
+ *
+ * @return the innerProperties value.
+ */
+ private ArmDisasterRecoveryProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the Alias(Disaster Recovery configuration) - possible
+ * values 'Accepted' or 'Succeeded' or 'Failed'.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningStateDR provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the partnerNamespace property: ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO
+ * DR pairing.
+ *
+ * @return the partnerNamespace value.
+ */
+ public String partnerNamespace() {
+ return this.innerProperties() == null ? null : this.innerProperties().partnerNamespace();
+ }
+
+ /**
+ * Set the partnerNamespace property: ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO
+ * DR pairing.
+ *
+ * @param partnerNamespace the partnerNamespace value to set.
+ * @return the ArmDisasterRecoveryInner object itself.
+ */
+ public ArmDisasterRecoveryInner withPartnerNamespace(String partnerNamespace) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ArmDisasterRecoveryProperties();
+ }
+ this.innerProperties().withPartnerNamespace(partnerNamespace);
+ return this;
+ }
+
+ /**
+ * Get the alternateName property: Alternate name specified when alias and namespace names are same.
+ *
+ * @return the alternateName value.
+ */
+ public String alternateName() {
+ return this.innerProperties() == null ? null : this.innerProperties().alternateName();
+ }
+
+ /**
+ * Set the alternateName property: Alternate name specified when alias and namespace names are same.
+ *
+ * @param alternateName the alternateName value to set.
+ * @return the ArmDisasterRecoveryInner object itself.
+ */
+ public ArmDisasterRecoveryInner withAlternateName(String alternateName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ArmDisasterRecoveryProperties();
+ }
+ this.innerProperties().withAlternateName(alternateName);
+ return this;
+ }
+
+ /**
+ * Get the role property: role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or
+ * 'Secondary'.
+ *
+ * @return the role value.
+ */
+ public RoleDisasterRecovery role() {
+ return this.innerProperties() == null ? null : this.innerProperties().role();
+ }
+
+ /**
+ * Get the pendingReplicationOperationsCount property: Number of entities pending to be replicated.
+ *
+ * @return the pendingReplicationOperationsCount value.
+ */
+ public Long pendingReplicationOperationsCount() {
+ return this.innerProperties() == null ? null : this.innerProperties().pendingReplicationOperationsCount();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ArmDisasterRecoveryInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ArmDisasterRecoveryInner if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ArmDisasterRecoveryInner.
+ */
+ public static ArmDisasterRecoveryInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ArmDisasterRecoveryInner deserializedArmDisasterRecoveryInner = new ArmDisasterRecoveryInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedArmDisasterRecoveryInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedArmDisasterRecoveryInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedArmDisasterRecoveryInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedArmDisasterRecoveryInner.innerProperties
+ = ArmDisasterRecoveryProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedArmDisasterRecoveryInner.systemData = SystemData.fromJson(reader);
+ } else if ("location".equals(fieldName)) {
+ deserializedArmDisasterRecoveryInner.location = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedArmDisasterRecoveryInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ArmDisasterRecoveryProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ArmDisasterRecoveryProperties.java
new file mode 100644
index 000000000000..50e66388c4fd
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ArmDisasterRecoveryProperties.java
@@ -0,0 +1,180 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.ProvisioningStateDR;
+import com.azure.resourcemanager.eventhubs.generated.models.RoleDisasterRecovery;
+import java.io.IOException;
+
+/**
+ * Properties required to the Create Or Update Alias(Disaster Recovery configurations).
+ */
+@Fluent
+public final class ArmDisasterRecoveryProperties implements JsonSerializable {
+ /*
+ * Provisioning state of the Alias(Disaster Recovery configuration) - possible values 'Accepted' or 'Succeeded' or
+ * 'Failed'
+ */
+ private ProvisioningStateDR provisioningState;
+
+ /*
+ * ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO DR pairing
+ */
+ private String partnerNamespace;
+
+ /*
+ * Alternate name specified when alias and namespace names are same.
+ */
+ private String alternateName;
+
+ /*
+ * role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or 'Secondary'
+ */
+ private RoleDisasterRecovery role;
+
+ /*
+ * Number of entities pending to be replicated.
+ */
+ private Long pendingReplicationOperationsCount;
+
+ /**
+ * Creates an instance of ArmDisasterRecoveryProperties class.
+ */
+ public ArmDisasterRecoveryProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the Alias(Disaster Recovery configuration) - possible
+ * values 'Accepted' or 'Succeeded' or 'Failed'.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningStateDR provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the partnerNamespace property: ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO
+ * DR pairing.
+ *
+ * @return the partnerNamespace value.
+ */
+ public String partnerNamespace() {
+ return this.partnerNamespace;
+ }
+
+ /**
+ * Set the partnerNamespace property: ARM Id of the Primary/Secondary eventhub namespace name, which is part of GEO
+ * DR pairing.
+ *
+ * @param partnerNamespace the partnerNamespace value to set.
+ * @return the ArmDisasterRecoveryProperties object itself.
+ */
+ public ArmDisasterRecoveryProperties withPartnerNamespace(String partnerNamespace) {
+ this.partnerNamespace = partnerNamespace;
+ return this;
+ }
+
+ /**
+ * Get the alternateName property: Alternate name specified when alias and namespace names are same.
+ *
+ * @return the alternateName value.
+ */
+ public String alternateName() {
+ return this.alternateName;
+ }
+
+ /**
+ * Set the alternateName property: Alternate name specified when alias and namespace names are same.
+ *
+ * @param alternateName the alternateName value to set.
+ * @return the ArmDisasterRecoveryProperties object itself.
+ */
+ public ArmDisasterRecoveryProperties withAlternateName(String alternateName) {
+ this.alternateName = alternateName;
+ return this;
+ }
+
+ /**
+ * Get the role property: role of namespace in GEO DR - possible values 'Primary' or 'PrimaryNotReplicating' or
+ * 'Secondary'.
+ *
+ * @return the role value.
+ */
+ public RoleDisasterRecovery role() {
+ return this.role;
+ }
+
+ /**
+ * Get the pendingReplicationOperationsCount property: Number of entities pending to be replicated.
+ *
+ * @return the pendingReplicationOperationsCount value.
+ */
+ public Long pendingReplicationOperationsCount() {
+ return this.pendingReplicationOperationsCount;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("partnerNamespace", this.partnerNamespace);
+ jsonWriter.writeStringField("alternateName", this.alternateName);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ArmDisasterRecoveryProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ArmDisasterRecoveryProperties if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ArmDisasterRecoveryProperties.
+ */
+ public static ArmDisasterRecoveryProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ArmDisasterRecoveryProperties deserializedArmDisasterRecoveryProperties
+ = new ArmDisasterRecoveryProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("provisioningState".equals(fieldName)) {
+ deserializedArmDisasterRecoveryProperties.provisioningState
+ = ProvisioningStateDR.fromString(reader.getString());
+ } else if ("partnerNamespace".equals(fieldName)) {
+ deserializedArmDisasterRecoveryProperties.partnerNamespace = reader.getString();
+ } else if ("alternateName".equals(fieldName)) {
+ deserializedArmDisasterRecoveryProperties.alternateName = reader.getString();
+ } else if ("role".equals(fieldName)) {
+ deserializedArmDisasterRecoveryProperties.role
+ = RoleDisasterRecovery.fromString(reader.getString());
+ } else if ("pendingReplicationOperationsCount".equals(fieldName)) {
+ deserializedArmDisasterRecoveryProperties.pendingReplicationOperationsCount
+ = reader.getNullable(JsonReader::getLong);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedArmDisasterRecoveryProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AuthorizationRuleInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AuthorizationRuleInner.java
new file mode 100644
index 000000000000..a6f4d34c83b7
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AuthorizationRuleInner.java
@@ -0,0 +1,195 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.AccessRights;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Single item in a List or Get AuthorizationRule operation.
+ */
+@Fluent
+public final class AuthorizationRuleInner extends ProxyResource {
+ /*
+ * Properties supplied to create or update AuthorizationRule
+ */
+ private AuthorizationRuleProperties innerProperties;
+
+ /*
+ * The system meta data relating to this resource.
+ */
+ private SystemData systemData;
+
+ /*
+ * The geo-location where the resource lives
+ */
+ private String location;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of AuthorizationRuleInner class.
+ */
+ public AuthorizationRuleInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Properties supplied to create or update AuthorizationRule.
+ *
+ * @return the innerProperties value.
+ */
+ private AuthorizationRuleProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the rights property: The rights associated with the rule.
+ *
+ * @return the rights value.
+ */
+ public List rights() {
+ return this.innerProperties() == null ? null : this.innerProperties().rights();
+ }
+
+ /**
+ * Set the rights property: The rights associated with the rule.
+ *
+ * @param rights the rights value to set.
+ * @return the AuthorizationRuleInner object itself.
+ */
+ public AuthorizationRuleInner withRights(List rights) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new AuthorizationRuleProperties();
+ }
+ this.innerProperties().withRights(rights);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of AuthorizationRuleInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of AuthorizationRuleInner if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the AuthorizationRuleInner.
+ */
+ public static AuthorizationRuleInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ AuthorizationRuleInner deserializedAuthorizationRuleInner = new AuthorizationRuleInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedAuthorizationRuleInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedAuthorizationRuleInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedAuthorizationRuleInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedAuthorizationRuleInner.innerProperties = AuthorizationRuleProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedAuthorizationRuleInner.systemData = SystemData.fromJson(reader);
+ } else if ("location".equals(fieldName)) {
+ deserializedAuthorizationRuleInner.location = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedAuthorizationRuleInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AuthorizationRuleProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AuthorizationRuleProperties.java
new file mode 100644
index 000000000000..4846adc473c6
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AuthorizationRuleProperties.java
@@ -0,0 +1,107 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.AccessRights;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Properties supplied to create or update AuthorizationRule.
+ */
+@Fluent
+public final class AuthorizationRuleProperties implements JsonSerializable {
+ /*
+ * The rights associated with the rule.
+ */
+ private List rights;
+
+ /**
+ * Creates an instance of AuthorizationRuleProperties class.
+ */
+ public AuthorizationRuleProperties() {
+ }
+
+ /**
+ * Get the rights property: The rights associated with the rule.
+ *
+ * @return the rights value.
+ */
+ public List rights() {
+ return this.rights;
+ }
+
+ /**
+ * Set the rights property: The rights associated with the rule.
+ *
+ * @param rights the rights value to set.
+ * @return the AuthorizationRuleProperties object itself.
+ */
+ public AuthorizationRuleProperties withRights(List rights) {
+ this.rights = rights;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (rights() == null) {
+ throw LOGGER.atError()
+ .log(new IllegalArgumentException(
+ "Missing required property rights in model AuthorizationRuleProperties"));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(AuthorizationRuleProperties.class);
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("rights", this.rights,
+ (writer, element) -> writer.writeString(element == null ? null : element.toString()));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of AuthorizationRuleProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of AuthorizationRuleProperties if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the AuthorizationRuleProperties.
+ */
+ public static AuthorizationRuleProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ AuthorizationRuleProperties deserializedAuthorizationRuleProperties = new AuthorizationRuleProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("rights".equals(fieldName)) {
+ List rights
+ = reader.readArray(reader1 -> AccessRights.fromString(reader1.getString()));
+ deserializedAuthorizationRuleProperties.rights = rights;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedAuthorizationRuleProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AvailableClustersListInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AvailableClustersListInner.java
new file mode 100644
index 000000000000..7da74b8475e3
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/AvailableClustersListInner.java
@@ -0,0 +1,99 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.AvailableCluster;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The response of the List Available Clusters operation.
+ */
+@Fluent
+public final class AvailableClustersListInner implements JsonSerializable {
+ /*
+ * The count of readily available and pre-provisioned Event Hubs Clusters per region.
+ */
+ private List value;
+
+ /**
+ * Creates an instance of AvailableClustersListInner class.
+ */
+ public AvailableClustersListInner() {
+ }
+
+ /**
+ * Get the value property: The count of readily available and pre-provisioned Event Hubs Clusters per region.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The count of readily available and pre-provisioned Event Hubs Clusters per region.
+ *
+ * @param value the value value to set.
+ * @return the AvailableClustersListInner object itself.
+ */
+ public AvailableClustersListInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of AvailableClustersListInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of AvailableClustersListInner if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the AvailableClustersListInner.
+ */
+ public static AvailableClustersListInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ AvailableClustersListInner deserializedAvailableClustersListInner = new AvailableClustersListInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ List value = reader.readArray(reader1 -> AvailableCluster.fromJson(reader1));
+ deserializedAvailableClustersListInner.value = value;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedAvailableClustersListInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/CheckNameAvailabilityResultInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/CheckNameAvailabilityResultInner.java
new file mode 100644
index 000000000000..e4f114df7a3d
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/CheckNameAvailabilityResultInner.java
@@ -0,0 +1,143 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.UnavailableReason;
+import java.io.IOException;
+
+/**
+ * The Result of the CheckNameAvailability operation.
+ */
+@Fluent
+public final class CheckNameAvailabilityResultInner implements JsonSerializable {
+ /*
+ * The detailed info regarding the reason associated with the Namespace.
+ */
+ private String message;
+
+ /*
+ * Value indicating Namespace is availability, true if the Namespace is available; otherwise, false.
+ */
+ private Boolean nameAvailable;
+
+ /*
+ * The reason for unavailability of a Namespace.
+ */
+ private UnavailableReason reason;
+
+ /**
+ * Creates an instance of CheckNameAvailabilityResultInner class.
+ */
+ public CheckNameAvailabilityResultInner() {
+ }
+
+ /**
+ * Get the message property: The detailed info regarding the reason associated with the Namespace.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Get the nameAvailable property: Value indicating Namespace is availability, true if the Namespace is available;
+ * otherwise, false.
+ *
+ * @return the nameAvailable value.
+ */
+ public Boolean nameAvailable() {
+ return this.nameAvailable;
+ }
+
+ /**
+ * Set the nameAvailable property: Value indicating Namespace is availability, true if the Namespace is available;
+ * otherwise, false.
+ *
+ * @param nameAvailable the nameAvailable value to set.
+ * @return the CheckNameAvailabilityResultInner object itself.
+ */
+ public CheckNameAvailabilityResultInner withNameAvailable(Boolean nameAvailable) {
+ this.nameAvailable = nameAvailable;
+ return this;
+ }
+
+ /**
+ * Get the reason property: The reason for unavailability of a Namespace.
+ *
+ * @return the reason value.
+ */
+ public UnavailableReason reason() {
+ return this.reason;
+ }
+
+ /**
+ * Set the reason property: The reason for unavailability of a Namespace.
+ *
+ * @param reason the reason value to set.
+ * @return the CheckNameAvailabilityResultInner object itself.
+ */
+ public CheckNameAvailabilityResultInner withReason(UnavailableReason reason) {
+ this.reason = reason;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeBooleanField("nameAvailable", this.nameAvailable);
+ jsonWriter.writeStringField("reason", this.reason == null ? null : this.reason.toString());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of CheckNameAvailabilityResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of CheckNameAvailabilityResultInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the CheckNameAvailabilityResultInner.
+ */
+ public static CheckNameAvailabilityResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ CheckNameAvailabilityResultInner deserializedCheckNameAvailabilityResultInner
+ = new CheckNameAvailabilityResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("message".equals(fieldName)) {
+ deserializedCheckNameAvailabilityResultInner.message = reader.getString();
+ } else if ("nameAvailable".equals(fieldName)) {
+ deserializedCheckNameAvailabilityResultInner.nameAvailable
+ = reader.getNullable(JsonReader::getBoolean);
+ } else if ("reason".equals(fieldName)) {
+ deserializedCheckNameAvailabilityResultInner.reason
+ = UnavailableReason.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedCheckNameAvailabilityResultInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ClusterInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ClusterInner.java
new file mode 100644
index 000000000000..6e1191d8d915
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ClusterInner.java
@@ -0,0 +1,282 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.ClusterSku;
+import com.azure.resourcemanager.eventhubs.generated.models.ProvisioningState;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Single Event Hubs Cluster resource in List or Get operations.
+ */
+@Fluent
+public final class ClusterInner extends Resource {
+ /*
+ * Properties of the cluster SKU.
+ */
+ private ClusterSku sku;
+
+ /*
+ * The system meta data relating to this resource.
+ */
+ private SystemData systemData;
+
+ /*
+ * Event Hubs Cluster properties supplied in responses in List or Get operations.
+ */
+ private ClusterProperties innerProperties;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of ClusterInner class.
+ */
+ public ClusterInner() {
+ }
+
+ /**
+ * Get the sku property: Properties of the cluster SKU.
+ *
+ * @return the sku value.
+ */
+ public ClusterSku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: Properties of the cluster SKU.
+ *
+ * @param sku the sku value to set.
+ * @return the ClusterInner object itself.
+ */
+ public ClusterInner withSku(ClusterSku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the innerProperties property: Event Hubs Cluster properties supplied in responses in List or Get operations.
+ *
+ * @return the innerProperties value.
+ */
+ private ClusterProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ClusterInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ClusterInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the createdAt property: The UTC time when the Event Hubs Cluster was created.
+ *
+ * @return the createdAt value.
+ */
+ public String createdAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdAt();
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the Cluster.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the updatedAt property: The UTC time when the Event Hubs Cluster was last updated.
+ *
+ * @return the updatedAt value.
+ */
+ public String updatedAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().updatedAt();
+ }
+
+ /**
+ * Get the metricId property: The metric ID of the cluster resource. Provided by the service and not modifiable by
+ * the user.
+ *
+ * @return the metricId value.
+ */
+ public String metricId() {
+ return this.innerProperties() == null ? null : this.innerProperties().metricId();
+ }
+
+ /**
+ * Get the status property: Status of the Cluster resource.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the supportsScaling property: A value that indicates whether Scaling is Supported.
+ *
+ * @return the supportsScaling value.
+ */
+ public Boolean supportsScaling() {
+ return this.innerProperties() == null ? null : this.innerProperties().supportsScaling();
+ }
+
+ /**
+ * Set the supportsScaling property: A value that indicates whether Scaling is Supported.
+ *
+ * @param supportsScaling the supportsScaling value to set.
+ * @return the ClusterInner object itself.
+ */
+ public ClusterInner withSupportsScaling(Boolean supportsScaling) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ClusterProperties();
+ }
+ this.innerProperties().withSupportsScaling(supportsScaling);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() != null) {
+ sku().validate();
+ }
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("sku", this.sku);
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ClusterInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ClusterInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ClusterInner.
+ */
+ public static ClusterInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ClusterInner deserializedClusterInner = new ClusterInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedClusterInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedClusterInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedClusterInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedClusterInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedClusterInner.withTags(tags);
+ } else if ("sku".equals(fieldName)) {
+ deserializedClusterInner.sku = ClusterSku.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedClusterInner.systemData = SystemData.fromJson(reader);
+ } else if ("properties".equals(fieldName)) {
+ deserializedClusterInner.innerProperties = ClusterProperties.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedClusterInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ClusterProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ClusterProperties.java
new file mode 100644
index 000000000000..1bbb8e978f6d
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ClusterProperties.java
@@ -0,0 +1,175 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.ProvisioningState;
+import java.io.IOException;
+
+/**
+ * Event Hubs Cluster properties supplied in responses in List or Get operations.
+ */
+@Fluent
+public final class ClusterProperties implements JsonSerializable {
+ /*
+ * The UTC time when the Event Hubs Cluster was created.
+ */
+ private String createdAt;
+
+ /*
+ * Provisioning state of the Cluster.
+ */
+ private ProvisioningState provisioningState;
+
+ /*
+ * The UTC time when the Event Hubs Cluster was last updated.
+ */
+ private String updatedAt;
+
+ /*
+ * The metric ID of the cluster resource. Provided by the service and not modifiable by the user.
+ */
+ private String metricId;
+
+ /*
+ * Status of the Cluster resource
+ */
+ private String status;
+
+ /*
+ * A value that indicates whether Scaling is Supported.
+ */
+ private Boolean supportsScaling;
+
+ /**
+ * Creates an instance of ClusterProperties class.
+ */
+ public ClusterProperties() {
+ }
+
+ /**
+ * Get the createdAt property: The UTC time when the Event Hubs Cluster was created.
+ *
+ * @return the createdAt value.
+ */
+ public String createdAt() {
+ return this.createdAt;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the Cluster.
+ *
+ * @return the provisioningState value.
+ */
+ public ProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the updatedAt property: The UTC time when the Event Hubs Cluster was last updated.
+ *
+ * @return the updatedAt value.
+ */
+ public String updatedAt() {
+ return this.updatedAt;
+ }
+
+ /**
+ * Get the metricId property: The metric ID of the cluster resource. Provided by the service and not modifiable by
+ * the user.
+ *
+ * @return the metricId value.
+ */
+ public String metricId() {
+ return this.metricId;
+ }
+
+ /**
+ * Get the status property: Status of the Cluster resource.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Get the supportsScaling property: A value that indicates whether Scaling is Supported.
+ *
+ * @return the supportsScaling value.
+ */
+ public Boolean supportsScaling() {
+ return this.supportsScaling;
+ }
+
+ /**
+ * Set the supportsScaling property: A value that indicates whether Scaling is Supported.
+ *
+ * @param supportsScaling the supportsScaling value to set.
+ * @return the ClusterProperties object itself.
+ */
+ public ClusterProperties withSupportsScaling(Boolean supportsScaling) {
+ this.supportsScaling = supportsScaling;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeBooleanField("supportsScaling", this.supportsScaling);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ClusterProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ClusterProperties if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ClusterProperties.
+ */
+ public static ClusterProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ClusterProperties deserializedClusterProperties = new ClusterProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("createdAt".equals(fieldName)) {
+ deserializedClusterProperties.createdAt = reader.getString();
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedClusterProperties.provisioningState = ProvisioningState.fromString(reader.getString());
+ } else if ("updatedAt".equals(fieldName)) {
+ deserializedClusterProperties.updatedAt = reader.getString();
+ } else if ("metricId".equals(fieldName)) {
+ deserializedClusterProperties.metricId = reader.getString();
+ } else if ("status".equals(fieldName)) {
+ deserializedClusterProperties.status = reader.getString();
+ } else if ("supportsScaling".equals(fieldName)) {
+ deserializedClusterProperties.supportsScaling = reader.getNullable(JsonReader::getBoolean);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedClusterProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ClusterQuotaConfigurationPropertiesInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ClusterQuotaConfigurationPropertiesInner.java
new file mode 100644
index 000000000000..b0caefcf1b16
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ClusterQuotaConfigurationPropertiesInner.java
@@ -0,0 +1,100 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Contains all settings for the cluster.
+ */
+@Fluent
+public final class ClusterQuotaConfigurationPropertiesInner
+ implements JsonSerializable {
+ /*
+ * All possible Cluster settings - a collection of key/value paired settings which apply to quotas and
+ * configurations imposed on the cluster.
+ */
+ private Map settings;
+
+ /**
+ * Creates an instance of ClusterQuotaConfigurationPropertiesInner class.
+ */
+ public ClusterQuotaConfigurationPropertiesInner() {
+ }
+
+ /**
+ * Get the settings property: All possible Cluster settings - a collection of key/value paired settings which apply
+ * to quotas and configurations imposed on the cluster.
+ *
+ * @return the settings value.
+ */
+ public Map settings() {
+ return this.settings;
+ }
+
+ /**
+ * Set the settings property: All possible Cluster settings - a collection of key/value paired settings which apply
+ * to quotas and configurations imposed on the cluster.
+ *
+ * @param settings the settings value to set.
+ * @return the ClusterQuotaConfigurationPropertiesInner object itself.
+ */
+ public ClusterQuotaConfigurationPropertiesInner withSettings(Map settings) {
+ this.settings = settings;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeMapField("settings", this.settings, (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ClusterQuotaConfigurationPropertiesInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ClusterQuotaConfigurationPropertiesInner if the JsonReader was pointing to an instance of
+ * it, or null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ClusterQuotaConfigurationPropertiesInner.
+ */
+ public static ClusterQuotaConfigurationPropertiesInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ClusterQuotaConfigurationPropertiesInner deserializedClusterQuotaConfigurationPropertiesInner
+ = new ClusterQuotaConfigurationPropertiesInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("settings".equals(fieldName)) {
+ Map settings = reader.readMap(reader1 -> reader1.getString());
+ deserializedClusterQuotaConfigurationPropertiesInner.settings = settings;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedClusterQuotaConfigurationPropertiesInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ConsumerGroupInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ConsumerGroupInner.java
new file mode 100644
index 000000000000..c7e4792358fd
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ConsumerGroupInner.java
@@ -0,0 +1,216 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+
+/**
+ * Single item in List or Get Consumer group operation.
+ */
+@Fluent
+public final class ConsumerGroupInner extends ProxyResource {
+ /*
+ * Single item in List or Get Consumer group operation
+ */
+ private ConsumerGroupProperties innerProperties;
+
+ /*
+ * The system meta data relating to this resource.
+ */
+ private SystemData systemData;
+
+ /*
+ * The geo-location where the resource lives
+ */
+ private String location;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of ConsumerGroupInner class.
+ */
+ public ConsumerGroupInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Single item in List or Get Consumer group operation.
+ *
+ * @return the innerProperties value.
+ */
+ private ConsumerGroupProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the createdAt property: Exact time the message was created.
+ *
+ * @return the createdAt value.
+ */
+ public OffsetDateTime createdAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdAt();
+ }
+
+ /**
+ * Get the updatedAt property: The exact time the message was updated.
+ *
+ * @return the updatedAt value.
+ */
+ public OffsetDateTime updatedAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().updatedAt();
+ }
+
+ /**
+ * Get the userMetadata property: User Metadata is a placeholder to store user-defined string data with maximum
+ * length 1024. e.g. it can be used to store descriptive data, such as list of teams and their contact information
+ * also user-defined configuration settings can be stored.
+ *
+ * @return the userMetadata value.
+ */
+ public String userMetadata() {
+ return this.innerProperties() == null ? null : this.innerProperties().userMetadata();
+ }
+
+ /**
+ * Set the userMetadata property: User Metadata is a placeholder to store user-defined string data with maximum
+ * length 1024. e.g. it can be used to store descriptive data, such as list of teams and their contact information
+ * also user-defined configuration settings can be stored.
+ *
+ * @param userMetadata the userMetadata value to set.
+ * @return the ConsumerGroupInner object itself.
+ */
+ public ConsumerGroupInner withUserMetadata(String userMetadata) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new ConsumerGroupProperties();
+ }
+ this.innerProperties().withUserMetadata(userMetadata);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ConsumerGroupInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ConsumerGroupInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the ConsumerGroupInner.
+ */
+ public static ConsumerGroupInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ConsumerGroupInner deserializedConsumerGroupInner = new ConsumerGroupInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedConsumerGroupInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedConsumerGroupInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedConsumerGroupInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedConsumerGroupInner.innerProperties = ConsumerGroupProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedConsumerGroupInner.systemData = SystemData.fromJson(reader);
+ } else if ("location".equals(fieldName)) {
+ deserializedConsumerGroupInner.location = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedConsumerGroupInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ConsumerGroupProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ConsumerGroupProperties.java
new file mode 100644
index 000000000000..aceb4837863e
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/ConsumerGroupProperties.java
@@ -0,0 +1,135 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.CoreUtils;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+
+/**
+ * Single item in List or Get Consumer group operation.
+ */
+@Fluent
+public final class ConsumerGroupProperties implements JsonSerializable {
+ /*
+ * Exact time the message was created.
+ */
+ private OffsetDateTime createdAt;
+
+ /*
+ * The exact time the message was updated.
+ */
+ private OffsetDateTime updatedAt;
+
+ /*
+ * User Metadata is a placeholder to store user-defined string data with maximum length 1024. e.g. it can be used to
+ * store descriptive data, such as list of teams and their contact information also user-defined configuration
+ * settings can be stored.
+ */
+ private String userMetadata;
+
+ /**
+ * Creates an instance of ConsumerGroupProperties class.
+ */
+ public ConsumerGroupProperties() {
+ }
+
+ /**
+ * Get the createdAt property: Exact time the message was created.
+ *
+ * @return the createdAt value.
+ */
+ public OffsetDateTime createdAt() {
+ return this.createdAt;
+ }
+
+ /**
+ * Get the updatedAt property: The exact time the message was updated.
+ *
+ * @return the updatedAt value.
+ */
+ public OffsetDateTime updatedAt() {
+ return this.updatedAt;
+ }
+
+ /**
+ * Get the userMetadata property: User Metadata is a placeholder to store user-defined string data with maximum
+ * length 1024. e.g. it can be used to store descriptive data, such as list of teams and their contact information
+ * also user-defined configuration settings can be stored.
+ *
+ * @return the userMetadata value.
+ */
+ public String userMetadata() {
+ return this.userMetadata;
+ }
+
+ /**
+ * Set the userMetadata property: User Metadata is a placeholder to store user-defined string data with maximum
+ * length 1024. e.g. it can be used to store descriptive data, such as list of teams and their contact information
+ * also user-defined configuration settings can be stored.
+ *
+ * @param userMetadata the userMetadata value to set.
+ * @return the ConsumerGroupProperties object itself.
+ */
+ public ConsumerGroupProperties withUserMetadata(String userMetadata) {
+ this.userMetadata = userMetadata;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("userMetadata", this.userMetadata);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ConsumerGroupProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ConsumerGroupProperties if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the ConsumerGroupProperties.
+ */
+ public static ConsumerGroupProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ConsumerGroupProperties deserializedConsumerGroupProperties = new ConsumerGroupProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("createdAt".equals(fieldName)) {
+ deserializedConsumerGroupProperties.createdAt = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("updatedAt".equals(fieldName)) {
+ deserializedConsumerGroupProperties.updatedAt = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("userMetadata".equals(fieldName)) {
+ deserializedConsumerGroupProperties.userMetadata = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedConsumerGroupProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/DestinationProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/DestinationProperties.java
new file mode 100644
index 000000000000..14cc4f2c62ac
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/DestinationProperties.java
@@ -0,0 +1,242 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.Objects;
+import java.util.UUID;
+
+/**
+ * Properties describing the storage account, blob container and archive name format for capture destination.
+ */
+@Fluent
+public final class DestinationProperties implements JsonSerializable {
+ /*
+ * Resource id of the storage account to be used to create the blobs
+ */
+ private String storageAccountResourceId;
+
+ /*
+ * Blob container Name
+ */
+ private String blobContainer;
+
+ /*
+ * Blob naming convention for archive, e.g.
+ * {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters
+ * (Namespace,EventHub .. etc) are mandatory irrespective of order
+ */
+ private String archiveNameFormat;
+
+ /*
+ * Subscription Id of Azure Data Lake Store
+ */
+ private UUID dataLakeSubscriptionId;
+
+ /*
+ * The Azure Data Lake Store name for the captured events
+ */
+ private String dataLakeAccountName;
+
+ /*
+ * The destination folder path for the captured events
+ */
+ private String dataLakeFolderPath;
+
+ /**
+ * Creates an instance of DestinationProperties class.
+ */
+ public DestinationProperties() {
+ }
+
+ /**
+ * Get the storageAccountResourceId property: Resource id of the storage account to be used to create the blobs.
+ *
+ * @return the storageAccountResourceId value.
+ */
+ public String storageAccountResourceId() {
+ return this.storageAccountResourceId;
+ }
+
+ /**
+ * Set the storageAccountResourceId property: Resource id of the storage account to be used to create the blobs.
+ *
+ * @param storageAccountResourceId the storageAccountResourceId value to set.
+ * @return the DestinationProperties object itself.
+ */
+ public DestinationProperties withStorageAccountResourceId(String storageAccountResourceId) {
+ this.storageAccountResourceId = storageAccountResourceId;
+ return this;
+ }
+
+ /**
+ * Get the blobContainer property: Blob container Name.
+ *
+ * @return the blobContainer value.
+ */
+ public String blobContainer() {
+ return this.blobContainer;
+ }
+
+ /**
+ * Set the blobContainer property: Blob container Name.
+ *
+ * @param blobContainer the blobContainer value to set.
+ * @return the DestinationProperties object itself.
+ */
+ public DestinationProperties withBlobContainer(String blobContainer) {
+ this.blobContainer = blobContainer;
+ return this;
+ }
+
+ /**
+ * Get the archiveNameFormat property: Blob naming convention for archive, e.g.
+ * {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters
+ * (Namespace,EventHub .. etc) are mandatory irrespective of order.
+ *
+ * @return the archiveNameFormat value.
+ */
+ public String archiveNameFormat() {
+ return this.archiveNameFormat;
+ }
+
+ /**
+ * Set the archiveNameFormat property: Blob naming convention for archive, e.g.
+ * {Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}. Here all the parameters
+ * (Namespace,EventHub .. etc) are mandatory irrespective of order.
+ *
+ * @param archiveNameFormat the archiveNameFormat value to set.
+ * @return the DestinationProperties object itself.
+ */
+ public DestinationProperties withArchiveNameFormat(String archiveNameFormat) {
+ this.archiveNameFormat = archiveNameFormat;
+ return this;
+ }
+
+ /**
+ * Get the dataLakeSubscriptionId property: Subscription Id of Azure Data Lake Store.
+ *
+ * @return the dataLakeSubscriptionId value.
+ */
+ public UUID dataLakeSubscriptionId() {
+ return this.dataLakeSubscriptionId;
+ }
+
+ /**
+ * Set the dataLakeSubscriptionId property: Subscription Id of Azure Data Lake Store.
+ *
+ * @param dataLakeSubscriptionId the dataLakeSubscriptionId value to set.
+ * @return the DestinationProperties object itself.
+ */
+ public DestinationProperties withDataLakeSubscriptionId(UUID dataLakeSubscriptionId) {
+ this.dataLakeSubscriptionId = dataLakeSubscriptionId;
+ return this;
+ }
+
+ /**
+ * Get the dataLakeAccountName property: The Azure Data Lake Store name for the captured events.
+ *
+ * @return the dataLakeAccountName value.
+ */
+ public String dataLakeAccountName() {
+ return this.dataLakeAccountName;
+ }
+
+ /**
+ * Set the dataLakeAccountName property: The Azure Data Lake Store name for the captured events.
+ *
+ * @param dataLakeAccountName the dataLakeAccountName value to set.
+ * @return the DestinationProperties object itself.
+ */
+ public DestinationProperties withDataLakeAccountName(String dataLakeAccountName) {
+ this.dataLakeAccountName = dataLakeAccountName;
+ return this;
+ }
+
+ /**
+ * Get the dataLakeFolderPath property: The destination folder path for the captured events.
+ *
+ * @return the dataLakeFolderPath value.
+ */
+ public String dataLakeFolderPath() {
+ return this.dataLakeFolderPath;
+ }
+
+ /**
+ * Set the dataLakeFolderPath property: The destination folder path for the captured events.
+ *
+ * @param dataLakeFolderPath the dataLakeFolderPath value to set.
+ * @return the DestinationProperties object itself.
+ */
+ public DestinationProperties withDataLakeFolderPath(String dataLakeFolderPath) {
+ this.dataLakeFolderPath = dataLakeFolderPath;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("storageAccountResourceId", this.storageAccountResourceId);
+ jsonWriter.writeStringField("blobContainer", this.blobContainer);
+ jsonWriter.writeStringField("archiveNameFormat", this.archiveNameFormat);
+ jsonWriter.writeStringField("dataLakeSubscriptionId", Objects.toString(this.dataLakeSubscriptionId, null));
+ jsonWriter.writeStringField("dataLakeAccountName", this.dataLakeAccountName);
+ jsonWriter.writeStringField("dataLakeFolderPath", this.dataLakeFolderPath);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of DestinationProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of DestinationProperties if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the DestinationProperties.
+ */
+ public static DestinationProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ DestinationProperties deserializedDestinationProperties = new DestinationProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("storageAccountResourceId".equals(fieldName)) {
+ deserializedDestinationProperties.storageAccountResourceId = reader.getString();
+ } else if ("blobContainer".equals(fieldName)) {
+ deserializedDestinationProperties.blobContainer = reader.getString();
+ } else if ("archiveNameFormat".equals(fieldName)) {
+ deserializedDestinationProperties.archiveNameFormat = reader.getString();
+ } else if ("dataLakeSubscriptionId".equals(fieldName)) {
+ deserializedDestinationProperties.dataLakeSubscriptionId
+ = reader.getNullable(nonNullReader -> UUID.fromString(nonNullReader.getString()));
+ } else if ("dataLakeAccountName".equals(fieldName)) {
+ deserializedDestinationProperties.dataLakeAccountName = reader.getString();
+ } else if ("dataLakeFolderPath".equals(fieldName)) {
+ deserializedDestinationProperties.dataLakeFolderPath = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedDestinationProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EHNamespaceIdListResultInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EHNamespaceIdListResultInner.java
new file mode 100644
index 000000000000..540ba111e9c2
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EHNamespaceIdListResultInner.java
@@ -0,0 +1,100 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.EHNamespaceIdContainer;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The response of the List Namespace IDs operation.
+ */
+@Fluent
+public final class EHNamespaceIdListResultInner implements JsonSerializable {
+ /*
+ * Result of the List Namespace IDs operation
+ */
+ private List value;
+
+ /**
+ * Creates an instance of EHNamespaceIdListResultInner class.
+ */
+ public EHNamespaceIdListResultInner() {
+ }
+
+ /**
+ * Get the value property: Result of the List Namespace IDs operation.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: Result of the List Namespace IDs operation.
+ *
+ * @param value the value value to set.
+ * @return the EHNamespaceIdListResultInner object itself.
+ */
+ public EHNamespaceIdListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EHNamespaceIdListResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EHNamespaceIdListResultInner if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the EHNamespaceIdListResultInner.
+ */
+ public static EHNamespaceIdListResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EHNamespaceIdListResultInner deserializedEHNamespaceIdListResultInner = new EHNamespaceIdListResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ List value
+ = reader.readArray(reader1 -> EHNamespaceIdContainer.fromJson(reader1));
+ deserializedEHNamespaceIdListResultInner.value = value;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEHNamespaceIdListResultInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EHNamespaceInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EHNamespaceInner.java
new file mode 100644
index 000000000000..7bbeddcc7d9f
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EHNamespaceInner.java
@@ -0,0 +1,589 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.Encryption;
+import com.azure.resourcemanager.eventhubs.generated.models.GeoDataReplicationProperties;
+import com.azure.resourcemanager.eventhubs.generated.models.Identity;
+import com.azure.resourcemanager.eventhubs.generated.models.PublicNetworkAccess;
+import com.azure.resourcemanager.eventhubs.generated.models.Sku;
+import com.azure.resourcemanager.eventhubs.generated.models.TlsVersion;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Single Namespace item in List or Get Operation.
+ */
+@Fluent
+public final class EHNamespaceInner extends Resource {
+ /*
+ * Properties of sku resource
+ */
+ private Sku sku;
+
+ /*
+ * Properties of BYOK Identity description
+ */
+ private Identity identity;
+
+ /*
+ * The system meta data relating to this resource.
+ */
+ private SystemData systemData;
+
+ /*
+ * Namespace properties supplied for create namespace operation.
+ */
+ private EHNamespaceProperties innerProperties;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of EHNamespaceInner class.
+ */
+ public EHNamespaceInner() {
+ }
+
+ /**
+ * Get the sku property: Properties of sku resource.
+ *
+ * @return the sku value.
+ */
+ public Sku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: Properties of sku resource.
+ *
+ * @param sku the sku value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withSku(Sku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the identity property: Properties of BYOK Identity description.
+ *
+ * @return the identity value.
+ */
+ public Identity identity() {
+ return this.identity;
+ }
+
+ /**
+ * Set the identity property: Properties of BYOK Identity description.
+ *
+ * @param identity the identity value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withIdentity(Identity identity) {
+ this.identity = identity;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the innerProperties property: Namespace properties supplied for create namespace operation.
+ *
+ * @return the innerProperties value.
+ */
+ private EHNamespaceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EHNamespaceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public EHNamespaceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the minimumTlsVersion property: The minimum TLS version for the cluster to support, e.g. '1.2'.
+ *
+ * @return the minimumTlsVersion value.
+ */
+ public TlsVersion minimumTlsVersion() {
+ return this.innerProperties() == null ? null : this.innerProperties().minimumTlsVersion();
+ }
+
+ /**
+ * Set the minimumTlsVersion property: The minimum TLS version for the cluster to support, e.g. '1.2'.
+ *
+ * @param minimumTlsVersion the minimumTlsVersion value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withMinimumTlsVersion(TlsVersion minimumTlsVersion) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withMinimumTlsVersion(minimumTlsVersion);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the Namespace.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the status property: Status of the Namespace.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Get the createdAt property: The time the Namespace was created.
+ *
+ * @return the createdAt value.
+ */
+ public OffsetDateTime createdAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdAt();
+ }
+
+ /**
+ * Get the updatedAt property: The time the Namespace was updated.
+ *
+ * @return the updatedAt value.
+ */
+ public OffsetDateTime updatedAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().updatedAt();
+ }
+
+ /**
+ * Get the serviceBusEndpoint property: Endpoint you can use to perform Service Bus operations.
+ *
+ * @return the serviceBusEndpoint value.
+ */
+ public String serviceBusEndpoint() {
+ return this.innerProperties() == null ? null : this.innerProperties().serviceBusEndpoint();
+ }
+
+ /**
+ * Get the clusterArmId property: Cluster ARM ID of the Namespace.
+ *
+ * @return the clusterArmId value.
+ */
+ public String clusterArmId() {
+ return this.innerProperties() == null ? null : this.innerProperties().clusterArmId();
+ }
+
+ /**
+ * Set the clusterArmId property: Cluster ARM ID of the Namespace.
+ *
+ * @param clusterArmId the clusterArmId value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withClusterArmId(String clusterArmId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withClusterArmId(clusterArmId);
+ return this;
+ }
+
+ /**
+ * Get the metricId property: Identifier for Azure Insights metrics.
+ *
+ * @return the metricId value.
+ */
+ public String metricId() {
+ return this.innerProperties() == null ? null : this.innerProperties().metricId();
+ }
+
+ /**
+ * Get the isAutoInflateEnabled property: Value that indicates whether AutoInflate is enabled for eventhub
+ * namespace.
+ *
+ * @return the isAutoInflateEnabled value.
+ */
+ public Boolean isAutoInflateEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().isAutoInflateEnabled();
+ }
+
+ /**
+ * Set the isAutoInflateEnabled property: Value that indicates whether AutoInflate is enabled for eventhub
+ * namespace.
+ *
+ * @param isAutoInflateEnabled the isAutoInflateEnabled value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withIsAutoInflateEnabled(Boolean isAutoInflateEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withIsAutoInflateEnabled(isAutoInflateEnabled);
+ return this;
+ }
+
+ /**
+ * Get the publicNetworkAccess property: This determines if traffic is allowed over public network. By default it is
+ * enabled.
+ *
+ * @return the publicNetworkAccess value.
+ */
+ public PublicNetworkAccess publicNetworkAccess() {
+ return this.innerProperties() == null ? null : this.innerProperties().publicNetworkAccess();
+ }
+
+ /**
+ * Set the publicNetworkAccess property: This determines if traffic is allowed over public network. By default it is
+ * enabled.
+ *
+ * @param publicNetworkAccess the publicNetworkAccess value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withPublicNetworkAccess(PublicNetworkAccess publicNetworkAccess) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withPublicNetworkAccess(publicNetworkAccess);
+ return this;
+ }
+
+ /**
+ * Get the maximumThroughputUnits property: Upper limit of throughput units when AutoInflate is enabled, value
+ * should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true).
+ *
+ * @return the maximumThroughputUnits value.
+ */
+ public Integer maximumThroughputUnits() {
+ return this.innerProperties() == null ? null : this.innerProperties().maximumThroughputUnits();
+ }
+
+ /**
+ * Set the maximumThroughputUnits property: Upper limit of throughput units when AutoInflate is enabled, value
+ * should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true).
+ *
+ * @param maximumThroughputUnits the maximumThroughputUnits value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withMaximumThroughputUnits(Integer maximumThroughputUnits) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withMaximumThroughputUnits(maximumThroughputUnits);
+ return this;
+ }
+
+ /**
+ * Get the kafkaEnabled property: Value that indicates whether Kafka is enabled for eventhub namespace.
+ *
+ * @return the kafkaEnabled value.
+ */
+ public Boolean kafkaEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().kafkaEnabled();
+ }
+
+ /**
+ * Set the kafkaEnabled property: Value that indicates whether Kafka is enabled for eventhub namespace.
+ *
+ * @param kafkaEnabled the kafkaEnabled value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withKafkaEnabled(Boolean kafkaEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withKafkaEnabled(kafkaEnabled);
+ return this;
+ }
+
+ /**
+ * Get the zoneRedundant property: Enabling this property creates a Standard Event Hubs Namespace in regions
+ * supported availability zones.
+ *
+ * @return the zoneRedundant value.
+ */
+ public Boolean zoneRedundant() {
+ return this.innerProperties() == null ? null : this.innerProperties().zoneRedundant();
+ }
+
+ /**
+ * Set the zoneRedundant property: Enabling this property creates a Standard Event Hubs Namespace in regions
+ * supported availability zones.
+ *
+ * @param zoneRedundant the zoneRedundant value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withZoneRedundant(Boolean zoneRedundant) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withZoneRedundant(zoneRedundant);
+ return this;
+ }
+
+ /**
+ * Get the encryption property: Properties of BYOK Encryption description.
+ *
+ * @return the encryption value.
+ */
+ public Encryption encryption() {
+ return this.innerProperties() == null ? null : this.innerProperties().encryption();
+ }
+
+ /**
+ * Set the encryption property: Properties of BYOK Encryption description.
+ *
+ * @param encryption the encryption value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withEncryption(Encryption encryption) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withEncryption(encryption);
+ return this;
+ }
+
+ /**
+ * Get the privateEndpointConnections property: List of private endpoint connections.
+ *
+ * @return the privateEndpointConnections value.
+ */
+ public List privateEndpointConnections() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateEndpointConnections();
+ }
+
+ /**
+ * Set the privateEndpointConnections property: List of private endpoint connections.
+ *
+ * @param privateEndpointConnections the privateEndpointConnections value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner
+ withPrivateEndpointConnections(List privateEndpointConnections) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withPrivateEndpointConnections(privateEndpointConnections);
+ return this;
+ }
+
+ /**
+ * Get the disableLocalAuth property: This property disables SAS authentication for the Event Hubs namespace.
+ *
+ * @return the disableLocalAuth value.
+ */
+ public Boolean disableLocalAuth() {
+ return this.innerProperties() == null ? null : this.innerProperties().disableLocalAuth();
+ }
+
+ /**
+ * Set the disableLocalAuth property: This property disables SAS authentication for the Event Hubs namespace.
+ *
+ * @param disableLocalAuth the disableLocalAuth value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withDisableLocalAuth(Boolean disableLocalAuth) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withDisableLocalAuth(disableLocalAuth);
+ return this;
+ }
+
+ /**
+ * Get the alternateName property: Alternate name specified when alias and namespace names are same.
+ *
+ * @return the alternateName value.
+ */
+ public String alternateName() {
+ return this.innerProperties() == null ? null : this.innerProperties().alternateName();
+ }
+
+ /**
+ * Set the alternateName property: Alternate name specified when alias and namespace names are same.
+ *
+ * @param alternateName the alternateName value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withAlternateName(String alternateName) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withAlternateName(alternateName);
+ return this;
+ }
+
+ /**
+ * Get the geoDataReplication property: Geo Data Replication settings for the namespace.
+ *
+ * @return the geoDataReplication value.
+ */
+ public GeoDataReplicationProperties geoDataReplication() {
+ return this.innerProperties() == null ? null : this.innerProperties().geoDataReplication();
+ }
+
+ /**
+ * Set the geoDataReplication property: Geo Data Replication settings for the namespace.
+ *
+ * @param geoDataReplication the geoDataReplication value to set.
+ * @return the EHNamespaceInner object itself.
+ */
+ public EHNamespaceInner withGeoDataReplication(GeoDataReplicationProperties geoDataReplication) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EHNamespaceProperties();
+ }
+ this.innerProperties().withGeoDataReplication(geoDataReplication);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() != null) {
+ sku().validate();
+ }
+ if (identity() != null) {
+ identity().validate();
+ }
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("location", location());
+ jsonWriter.writeMapField("tags", tags(), (writer, element) -> writer.writeString(element));
+ jsonWriter.writeJsonField("sku", this.sku);
+ jsonWriter.writeJsonField("identity", this.identity);
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EHNamespaceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EHNamespaceInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the EHNamespaceInner.
+ */
+ public static EHNamespaceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EHNamespaceInner deserializedEHNamespaceInner = new EHNamespaceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedEHNamespaceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedEHNamespaceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedEHNamespaceInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedEHNamespaceInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedEHNamespaceInner.withTags(tags);
+ } else if ("sku".equals(fieldName)) {
+ deserializedEHNamespaceInner.sku = Sku.fromJson(reader);
+ } else if ("identity".equals(fieldName)) {
+ deserializedEHNamespaceInner.identity = Identity.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedEHNamespaceInner.systemData = SystemData.fromJson(reader);
+ } else if ("properties".equals(fieldName)) {
+ deserializedEHNamespaceInner.innerProperties = EHNamespaceProperties.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEHNamespaceInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EHNamespaceProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EHNamespaceProperties.java
new file mode 100644
index 000000000000..79756c66681b
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EHNamespaceProperties.java
@@ -0,0 +1,532 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.CoreUtils;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.Encryption;
+import com.azure.resourcemanager.eventhubs.generated.models.GeoDataReplicationProperties;
+import com.azure.resourcemanager.eventhubs.generated.models.PublicNetworkAccess;
+import com.azure.resourcemanager.eventhubs.generated.models.TlsVersion;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/**
+ * Namespace properties supplied for create namespace operation.
+ */
+@Fluent
+public final class EHNamespaceProperties implements JsonSerializable {
+ /*
+ * The minimum TLS version for the cluster to support, e.g. '1.2'
+ */
+ private TlsVersion minimumTlsVersion;
+
+ /*
+ * Provisioning state of the Namespace.
+ */
+ private String provisioningState;
+
+ /*
+ * Status of the Namespace.
+ */
+ private String status;
+
+ /*
+ * The time the Namespace was created.
+ */
+ private OffsetDateTime createdAt;
+
+ /*
+ * The time the Namespace was updated.
+ */
+ private OffsetDateTime updatedAt;
+
+ /*
+ * Endpoint you can use to perform Service Bus operations.
+ */
+ private String serviceBusEndpoint;
+
+ /*
+ * Cluster ARM ID of the Namespace.
+ */
+ private String clusterArmId;
+
+ /*
+ * Identifier for Azure Insights metrics.
+ */
+ private String metricId;
+
+ /*
+ * Value that indicates whether AutoInflate is enabled for eventhub namespace.
+ */
+ private Boolean isAutoInflateEnabled;
+
+ /*
+ * This determines if traffic is allowed over public network. By default it is enabled.
+ */
+ private PublicNetworkAccess publicNetworkAccess;
+
+ /*
+ * Upper limit of throughput units when AutoInflate is enabled, value should be within 0 to 20 throughput units. (
+ * '0' if AutoInflateEnabled = true)
+ */
+ private Integer maximumThroughputUnits;
+
+ /*
+ * Value that indicates whether Kafka is enabled for eventhub namespace.
+ */
+ private Boolean kafkaEnabled;
+
+ /*
+ * Enabling this property creates a Standard Event Hubs Namespace in regions supported availability zones.
+ */
+ private Boolean zoneRedundant;
+
+ /*
+ * Properties of BYOK Encryption description
+ */
+ private Encryption encryption;
+
+ /*
+ * List of private endpoint connections.
+ */
+ private List privateEndpointConnections;
+
+ /*
+ * This property disables SAS authentication for the Event Hubs namespace.
+ */
+ private Boolean disableLocalAuth;
+
+ /*
+ * Alternate name specified when alias and namespace names are same.
+ */
+ private String alternateName;
+
+ /*
+ * Geo Data Replication settings for the namespace
+ */
+ private GeoDataReplicationProperties geoDataReplication;
+
+ /**
+ * Creates an instance of EHNamespaceProperties class.
+ */
+ public EHNamespaceProperties() {
+ }
+
+ /**
+ * Get the minimumTlsVersion property: The minimum TLS version for the cluster to support, e.g. '1.2'.
+ *
+ * @return the minimumTlsVersion value.
+ */
+ public TlsVersion minimumTlsVersion() {
+ return this.minimumTlsVersion;
+ }
+
+ /**
+ * Set the minimumTlsVersion property: The minimum TLS version for the cluster to support, e.g. '1.2'.
+ *
+ * @param minimumTlsVersion the minimumTlsVersion value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withMinimumTlsVersion(TlsVersion minimumTlsVersion) {
+ this.minimumTlsVersion = minimumTlsVersion;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the Namespace.
+ *
+ * @return the provisioningState value.
+ */
+ public String provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the status property: Status of the Namespace.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Get the createdAt property: The time the Namespace was created.
+ *
+ * @return the createdAt value.
+ */
+ public OffsetDateTime createdAt() {
+ return this.createdAt;
+ }
+
+ /**
+ * Get the updatedAt property: The time the Namespace was updated.
+ *
+ * @return the updatedAt value.
+ */
+ public OffsetDateTime updatedAt() {
+ return this.updatedAt;
+ }
+
+ /**
+ * Get the serviceBusEndpoint property: Endpoint you can use to perform Service Bus operations.
+ *
+ * @return the serviceBusEndpoint value.
+ */
+ public String serviceBusEndpoint() {
+ return this.serviceBusEndpoint;
+ }
+
+ /**
+ * Get the clusterArmId property: Cluster ARM ID of the Namespace.
+ *
+ * @return the clusterArmId value.
+ */
+ public String clusterArmId() {
+ return this.clusterArmId;
+ }
+
+ /**
+ * Set the clusterArmId property: Cluster ARM ID of the Namespace.
+ *
+ * @param clusterArmId the clusterArmId value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withClusterArmId(String clusterArmId) {
+ this.clusterArmId = clusterArmId;
+ return this;
+ }
+
+ /**
+ * Get the metricId property: Identifier for Azure Insights metrics.
+ *
+ * @return the metricId value.
+ */
+ public String metricId() {
+ return this.metricId;
+ }
+
+ /**
+ * Get the isAutoInflateEnabled property: Value that indicates whether AutoInflate is enabled for eventhub
+ * namespace.
+ *
+ * @return the isAutoInflateEnabled value.
+ */
+ public Boolean isAutoInflateEnabled() {
+ return this.isAutoInflateEnabled;
+ }
+
+ /**
+ * Set the isAutoInflateEnabled property: Value that indicates whether AutoInflate is enabled for eventhub
+ * namespace.
+ *
+ * @param isAutoInflateEnabled the isAutoInflateEnabled value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withIsAutoInflateEnabled(Boolean isAutoInflateEnabled) {
+ this.isAutoInflateEnabled = isAutoInflateEnabled;
+ return this;
+ }
+
+ /**
+ * Get the publicNetworkAccess property: This determines if traffic is allowed over public network. By default it is
+ * enabled.
+ *
+ * @return the publicNetworkAccess value.
+ */
+ public PublicNetworkAccess publicNetworkAccess() {
+ return this.publicNetworkAccess;
+ }
+
+ /**
+ * Set the publicNetworkAccess property: This determines if traffic is allowed over public network. By default it is
+ * enabled.
+ *
+ * @param publicNetworkAccess the publicNetworkAccess value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withPublicNetworkAccess(PublicNetworkAccess publicNetworkAccess) {
+ this.publicNetworkAccess = publicNetworkAccess;
+ return this;
+ }
+
+ /**
+ * Get the maximumThroughputUnits property: Upper limit of throughput units when AutoInflate is enabled, value
+ * should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true).
+ *
+ * @return the maximumThroughputUnits value.
+ */
+ public Integer maximumThroughputUnits() {
+ return this.maximumThroughputUnits;
+ }
+
+ /**
+ * Set the maximumThroughputUnits property: Upper limit of throughput units when AutoInflate is enabled, value
+ * should be within 0 to 20 throughput units. ( '0' if AutoInflateEnabled = true).
+ *
+ * @param maximumThroughputUnits the maximumThroughputUnits value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withMaximumThroughputUnits(Integer maximumThroughputUnits) {
+ this.maximumThroughputUnits = maximumThroughputUnits;
+ return this;
+ }
+
+ /**
+ * Get the kafkaEnabled property: Value that indicates whether Kafka is enabled for eventhub namespace.
+ *
+ * @return the kafkaEnabled value.
+ */
+ public Boolean kafkaEnabled() {
+ return this.kafkaEnabled;
+ }
+
+ /**
+ * Set the kafkaEnabled property: Value that indicates whether Kafka is enabled for eventhub namespace.
+ *
+ * @param kafkaEnabled the kafkaEnabled value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withKafkaEnabled(Boolean kafkaEnabled) {
+ this.kafkaEnabled = kafkaEnabled;
+ return this;
+ }
+
+ /**
+ * Get the zoneRedundant property: Enabling this property creates a Standard Event Hubs Namespace in regions
+ * supported availability zones.
+ *
+ * @return the zoneRedundant value.
+ */
+ public Boolean zoneRedundant() {
+ return this.zoneRedundant;
+ }
+
+ /**
+ * Set the zoneRedundant property: Enabling this property creates a Standard Event Hubs Namespace in regions
+ * supported availability zones.
+ *
+ * @param zoneRedundant the zoneRedundant value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withZoneRedundant(Boolean zoneRedundant) {
+ this.zoneRedundant = zoneRedundant;
+ return this;
+ }
+
+ /**
+ * Get the encryption property: Properties of BYOK Encryption description.
+ *
+ * @return the encryption value.
+ */
+ public Encryption encryption() {
+ return this.encryption;
+ }
+
+ /**
+ * Set the encryption property: Properties of BYOK Encryption description.
+ *
+ * @param encryption the encryption value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withEncryption(Encryption encryption) {
+ this.encryption = encryption;
+ return this;
+ }
+
+ /**
+ * Get the privateEndpointConnections property: List of private endpoint connections.
+ *
+ * @return the privateEndpointConnections value.
+ */
+ public List privateEndpointConnections() {
+ return this.privateEndpointConnections;
+ }
+
+ /**
+ * Set the privateEndpointConnections property: List of private endpoint connections.
+ *
+ * @param privateEndpointConnections the privateEndpointConnections value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties
+ withPrivateEndpointConnections(List privateEndpointConnections) {
+ this.privateEndpointConnections = privateEndpointConnections;
+ return this;
+ }
+
+ /**
+ * Get the disableLocalAuth property: This property disables SAS authentication for the Event Hubs namespace.
+ *
+ * @return the disableLocalAuth value.
+ */
+ public Boolean disableLocalAuth() {
+ return this.disableLocalAuth;
+ }
+
+ /**
+ * Set the disableLocalAuth property: This property disables SAS authentication for the Event Hubs namespace.
+ *
+ * @param disableLocalAuth the disableLocalAuth value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withDisableLocalAuth(Boolean disableLocalAuth) {
+ this.disableLocalAuth = disableLocalAuth;
+ return this;
+ }
+
+ /**
+ * Get the alternateName property: Alternate name specified when alias and namespace names are same.
+ *
+ * @return the alternateName value.
+ */
+ public String alternateName() {
+ return this.alternateName;
+ }
+
+ /**
+ * Set the alternateName property: Alternate name specified when alias and namespace names are same.
+ *
+ * @param alternateName the alternateName value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withAlternateName(String alternateName) {
+ this.alternateName = alternateName;
+ return this;
+ }
+
+ /**
+ * Get the geoDataReplication property: Geo Data Replication settings for the namespace.
+ *
+ * @return the geoDataReplication value.
+ */
+ public GeoDataReplicationProperties geoDataReplication() {
+ return this.geoDataReplication;
+ }
+
+ /**
+ * Set the geoDataReplication property: Geo Data Replication settings for the namespace.
+ *
+ * @param geoDataReplication the geoDataReplication value to set.
+ * @return the EHNamespaceProperties object itself.
+ */
+ public EHNamespaceProperties withGeoDataReplication(GeoDataReplicationProperties geoDataReplication) {
+ this.geoDataReplication = geoDataReplication;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (encryption() != null) {
+ encryption().validate();
+ }
+ if (privateEndpointConnections() != null) {
+ privateEndpointConnections().forEach(e -> e.validate());
+ }
+ if (geoDataReplication() != null) {
+ geoDataReplication().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("minimumTlsVersion",
+ this.minimumTlsVersion == null ? null : this.minimumTlsVersion.toString());
+ jsonWriter.writeStringField("clusterArmId", this.clusterArmId);
+ jsonWriter.writeBooleanField("isAutoInflateEnabled", this.isAutoInflateEnabled);
+ jsonWriter.writeStringField("publicNetworkAccess",
+ this.publicNetworkAccess == null ? null : this.publicNetworkAccess.toString());
+ jsonWriter.writeNumberField("maximumThroughputUnits", this.maximumThroughputUnits);
+ jsonWriter.writeBooleanField("kafkaEnabled", this.kafkaEnabled);
+ jsonWriter.writeBooleanField("zoneRedundant", this.zoneRedundant);
+ jsonWriter.writeJsonField("encryption", this.encryption);
+ jsonWriter.writeArrayField("privateEndpointConnections", this.privateEndpointConnections,
+ (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeBooleanField("disableLocalAuth", this.disableLocalAuth);
+ jsonWriter.writeStringField("alternateName", this.alternateName);
+ jsonWriter.writeJsonField("geoDataReplication", this.geoDataReplication);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EHNamespaceProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EHNamespaceProperties if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the EHNamespaceProperties.
+ */
+ public static EHNamespaceProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EHNamespaceProperties deserializedEHNamespaceProperties = new EHNamespaceProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("minimumTlsVersion".equals(fieldName)) {
+ deserializedEHNamespaceProperties.minimumTlsVersion = TlsVersion.fromString(reader.getString());
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedEHNamespaceProperties.provisioningState = reader.getString();
+ } else if ("status".equals(fieldName)) {
+ deserializedEHNamespaceProperties.status = reader.getString();
+ } else if ("createdAt".equals(fieldName)) {
+ deserializedEHNamespaceProperties.createdAt = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("updatedAt".equals(fieldName)) {
+ deserializedEHNamespaceProperties.updatedAt = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("serviceBusEndpoint".equals(fieldName)) {
+ deserializedEHNamespaceProperties.serviceBusEndpoint = reader.getString();
+ } else if ("clusterArmId".equals(fieldName)) {
+ deserializedEHNamespaceProperties.clusterArmId = reader.getString();
+ } else if ("metricId".equals(fieldName)) {
+ deserializedEHNamespaceProperties.metricId = reader.getString();
+ } else if ("isAutoInflateEnabled".equals(fieldName)) {
+ deserializedEHNamespaceProperties.isAutoInflateEnabled = reader.getNullable(JsonReader::getBoolean);
+ } else if ("publicNetworkAccess".equals(fieldName)) {
+ deserializedEHNamespaceProperties.publicNetworkAccess
+ = PublicNetworkAccess.fromString(reader.getString());
+ } else if ("maximumThroughputUnits".equals(fieldName)) {
+ deserializedEHNamespaceProperties.maximumThroughputUnits = reader.getNullable(JsonReader::getInt);
+ } else if ("kafkaEnabled".equals(fieldName)) {
+ deserializedEHNamespaceProperties.kafkaEnabled = reader.getNullable(JsonReader::getBoolean);
+ } else if ("zoneRedundant".equals(fieldName)) {
+ deserializedEHNamespaceProperties.zoneRedundant = reader.getNullable(JsonReader::getBoolean);
+ } else if ("encryption".equals(fieldName)) {
+ deserializedEHNamespaceProperties.encryption = Encryption.fromJson(reader);
+ } else if ("privateEndpointConnections".equals(fieldName)) {
+ List privateEndpointConnections
+ = reader.readArray(reader1 -> PrivateEndpointConnectionInner.fromJson(reader1));
+ deserializedEHNamespaceProperties.privateEndpointConnections = privateEndpointConnections;
+ } else if ("disableLocalAuth".equals(fieldName)) {
+ deserializedEHNamespaceProperties.disableLocalAuth = reader.getNullable(JsonReader::getBoolean);
+ } else if ("alternateName".equals(fieldName)) {
+ deserializedEHNamespaceProperties.alternateName = reader.getString();
+ } else if ("geoDataReplication".equals(fieldName)) {
+ deserializedEHNamespaceProperties.geoDataReplication
+ = GeoDataReplicationProperties.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEHNamespaceProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EventhubInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EventhubInner.java
new file mode 100644
index 000000000000..a0dc505931aa
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EventhubInner.java
@@ -0,0 +1,379 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.CaptureDescription;
+import com.azure.resourcemanager.eventhubs.generated.models.EntityStatus;
+import com.azure.resourcemanager.eventhubs.generated.models.MessageTimestampDescription;
+import com.azure.resourcemanager.eventhubs.generated.models.RetentionDescription;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/**
+ * Single item in List or Get Event Hub operation.
+ */
+@Fluent
+public final class EventhubInner extends ProxyResource {
+ /*
+ * Properties supplied to the Create Or Update Event Hub operation.
+ */
+ private EventhubProperties innerProperties;
+
+ /*
+ * The system meta data relating to this resource.
+ */
+ private SystemData systemData;
+
+ /*
+ * The geo-location where the resource lives
+ */
+ private String location;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of EventhubInner class.
+ */
+ public EventhubInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Properties supplied to the Create Or Update Event Hub operation.
+ *
+ * @return the innerProperties value.
+ */
+ private EventhubProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the partitionIds property: Current number of shards on the Event Hub.
+ *
+ * @return the partitionIds value.
+ */
+ public List partitionIds() {
+ return this.innerProperties() == null ? null : this.innerProperties().partitionIds();
+ }
+
+ /**
+ * Get the createdAt property: Exact time the Event Hub was created.
+ *
+ * @return the createdAt value.
+ */
+ public OffsetDateTime createdAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdAt();
+ }
+
+ /**
+ * Get the updatedAt property: The exact time the message was updated.
+ *
+ * @return the updatedAt value.
+ */
+ public OffsetDateTime updatedAt() {
+ return this.innerProperties() == null ? null : this.innerProperties().updatedAt();
+ }
+
+ /**
+ * Get the messageRetentionInDays property: Number of days to retain the events for this Event Hub, value should be
+ * 1 to 7 days.
+ *
+ * @return the messageRetentionInDays value.
+ */
+ public Long messageRetentionInDays() {
+ return this.innerProperties() == null ? null : this.innerProperties().messageRetentionInDays();
+ }
+
+ /**
+ * Set the messageRetentionInDays property: Number of days to retain the events for this Event Hub, value should be
+ * 1 to 7 days.
+ *
+ * @param messageRetentionInDays the messageRetentionInDays value to set.
+ * @return the EventhubInner object itself.
+ */
+ public EventhubInner withMessageRetentionInDays(Long messageRetentionInDays) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EventhubProperties();
+ }
+ this.innerProperties().withMessageRetentionInDays(messageRetentionInDays);
+ return this;
+ }
+
+ /**
+ * Get the partitionCount property: Number of partitions created for the Event Hub, allowed values are from 1 to 32
+ * partitions.
+ *
+ * @return the partitionCount value.
+ */
+ public Long partitionCount() {
+ return this.innerProperties() == null ? null : this.innerProperties().partitionCount();
+ }
+
+ /**
+ * Set the partitionCount property: Number of partitions created for the Event Hub, allowed values are from 1 to 32
+ * partitions.
+ *
+ * @param partitionCount the partitionCount value to set.
+ * @return the EventhubInner object itself.
+ */
+ public EventhubInner withPartitionCount(Long partitionCount) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EventhubProperties();
+ }
+ this.innerProperties().withPartitionCount(partitionCount);
+ return this;
+ }
+
+ /**
+ * Get the status property: Enumerates the possible values for the status of the Event Hub.
+ *
+ * @return the status value.
+ */
+ public EntityStatus status() {
+ return this.innerProperties() == null ? null : this.innerProperties().status();
+ }
+
+ /**
+ * Set the status property: Enumerates the possible values for the status of the Event Hub.
+ *
+ * @param status the status value to set.
+ * @return the EventhubInner object itself.
+ */
+ public EventhubInner withStatus(EntityStatus status) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EventhubProperties();
+ }
+ this.innerProperties().withStatus(status);
+ return this;
+ }
+
+ /**
+ * Get the captureDescription property: Properties of capture description.
+ *
+ * @return the captureDescription value.
+ */
+ public CaptureDescription captureDescription() {
+ return this.innerProperties() == null ? null : this.innerProperties().captureDescription();
+ }
+
+ /**
+ * Set the captureDescription property: Properties of capture description.
+ *
+ * @param captureDescription the captureDescription value to set.
+ * @return the EventhubInner object itself.
+ */
+ public EventhubInner withCaptureDescription(CaptureDescription captureDescription) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EventhubProperties();
+ }
+ this.innerProperties().withCaptureDescription(captureDescription);
+ return this;
+ }
+
+ /**
+ * Get the retentionDescription property: Event Hub retention settings.
+ *
+ * @return the retentionDescription value.
+ */
+ public RetentionDescription retentionDescription() {
+ return this.innerProperties() == null ? null : this.innerProperties().retentionDescription();
+ }
+
+ /**
+ * Set the retentionDescription property: Event Hub retention settings.
+ *
+ * @param retentionDescription the retentionDescription value to set.
+ * @return the EventhubInner object itself.
+ */
+ public EventhubInner withRetentionDescription(RetentionDescription retentionDescription) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EventhubProperties();
+ }
+ this.innerProperties().withRetentionDescription(retentionDescription);
+ return this;
+ }
+
+ /**
+ * Get the messageTimestampDescription property: Properties of MessageTimestamp Description.
+ *
+ * @return the messageTimestampDescription value.
+ */
+ public MessageTimestampDescription messageTimestampDescription() {
+ return this.innerProperties() == null ? null : this.innerProperties().messageTimestampDescription();
+ }
+
+ /**
+ * Set the messageTimestampDescription property: Properties of MessageTimestamp Description.
+ *
+ * @param messageTimestampDescription the messageTimestampDescription value to set.
+ * @return the EventhubInner object itself.
+ */
+ public EventhubInner withMessageTimestampDescription(MessageTimestampDescription messageTimestampDescription) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EventhubProperties();
+ }
+ this.innerProperties().withMessageTimestampDescription(messageTimestampDescription);
+ return this;
+ }
+
+ /**
+ * Get the identifier property: Denotes the unique identifier for event hub and is generated by service while
+ * creating topic. This identifier can be used in kafka runtime apis wherever a UUID is required e.g Fetch &
+ * Delete Topic. This identifier is not supported in AMQP runtime operations yet.
+ *
+ * @return the identifier value.
+ */
+ public String identifier() {
+ return this.innerProperties() == null ? null : this.innerProperties().identifier();
+ }
+
+ /**
+ * Get the userMetadata property: Gets and Sets Metadata of User.
+ *
+ * @return the userMetadata value.
+ */
+ public String userMetadata() {
+ return this.innerProperties() == null ? null : this.innerProperties().userMetadata();
+ }
+
+ /**
+ * Set the userMetadata property: Gets and Sets Metadata of User.
+ *
+ * @param userMetadata the userMetadata value to set.
+ * @return the EventhubInner object itself.
+ */
+ public EventhubInner withUserMetadata(String userMetadata) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new EventhubProperties();
+ }
+ this.innerProperties().withUserMetadata(userMetadata);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EventhubInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EventhubInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the EventhubInner.
+ */
+ public static EventhubInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EventhubInner deserializedEventhubInner = new EventhubInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedEventhubInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedEventhubInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedEventhubInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedEventhubInner.innerProperties = EventhubProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedEventhubInner.systemData = SystemData.fromJson(reader);
+ } else if ("location".equals(fieldName)) {
+ deserializedEventhubInner.location = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEventhubInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EventhubProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EventhubProperties.java
new file mode 100644
index 000000000000..8e699b30cadb
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/EventhubProperties.java
@@ -0,0 +1,353 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.CoreUtils;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.CaptureDescription;
+import com.azure.resourcemanager.eventhubs.generated.models.EntityStatus;
+import com.azure.resourcemanager.eventhubs.generated.models.MessageTimestampDescription;
+import com.azure.resourcemanager.eventhubs.generated.models.RetentionDescription;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.List;
+
+/**
+ * Properties supplied to the Create Or Update Event Hub operation.
+ */
+@Fluent
+public final class EventhubProperties implements JsonSerializable {
+ /*
+ * Current number of shards on the Event Hub.
+ */
+ private List partitionIds;
+
+ /*
+ * Exact time the Event Hub was created.
+ */
+ private OffsetDateTime createdAt;
+
+ /*
+ * The exact time the message was updated.
+ */
+ private OffsetDateTime updatedAt;
+
+ /*
+ * Number of days to retain the events for this Event Hub, value should be 1 to 7 days
+ */
+ private Long messageRetentionInDays;
+
+ /*
+ * Number of partitions created for the Event Hub, allowed values are from 1 to 32 partitions.
+ */
+ private Long partitionCount;
+
+ /*
+ * Enumerates the possible values for the status of the Event Hub.
+ */
+ private EntityStatus status;
+
+ /*
+ * Properties of capture description
+ */
+ private CaptureDescription captureDescription;
+
+ /*
+ * Event Hub retention settings
+ */
+ private RetentionDescription retentionDescription;
+
+ /*
+ * Properties of MessageTimestamp Description
+ */
+ private MessageTimestampDescription messageTimestampDescription;
+
+ /*
+ * Denotes the unique identifier for event hub and is generated by service while creating topic. This identifier can
+ * be used in kafka runtime apis wherever a UUID is required e.g Fetch & Delete Topic. This identifier is not
+ * supported in AMQP runtime operations yet.
+ */
+ private String identifier;
+
+ /*
+ * Gets and Sets Metadata of User.
+ */
+ private String userMetadata;
+
+ /**
+ * Creates an instance of EventhubProperties class.
+ */
+ public EventhubProperties() {
+ }
+
+ /**
+ * Get the partitionIds property: Current number of shards on the Event Hub.
+ *
+ * @return the partitionIds value.
+ */
+ public List partitionIds() {
+ return this.partitionIds;
+ }
+
+ /**
+ * Get the createdAt property: Exact time the Event Hub was created.
+ *
+ * @return the createdAt value.
+ */
+ public OffsetDateTime createdAt() {
+ return this.createdAt;
+ }
+
+ /**
+ * Get the updatedAt property: The exact time the message was updated.
+ *
+ * @return the updatedAt value.
+ */
+ public OffsetDateTime updatedAt() {
+ return this.updatedAt;
+ }
+
+ /**
+ * Get the messageRetentionInDays property: Number of days to retain the events for this Event Hub, value should be
+ * 1 to 7 days.
+ *
+ * @return the messageRetentionInDays value.
+ */
+ public Long messageRetentionInDays() {
+ return this.messageRetentionInDays;
+ }
+
+ /**
+ * Set the messageRetentionInDays property: Number of days to retain the events for this Event Hub, value should be
+ * 1 to 7 days.
+ *
+ * @param messageRetentionInDays the messageRetentionInDays value to set.
+ * @return the EventhubProperties object itself.
+ */
+ public EventhubProperties withMessageRetentionInDays(Long messageRetentionInDays) {
+ this.messageRetentionInDays = messageRetentionInDays;
+ return this;
+ }
+
+ /**
+ * Get the partitionCount property: Number of partitions created for the Event Hub, allowed values are from 1 to 32
+ * partitions.
+ *
+ * @return the partitionCount value.
+ */
+ public Long partitionCount() {
+ return this.partitionCount;
+ }
+
+ /**
+ * Set the partitionCount property: Number of partitions created for the Event Hub, allowed values are from 1 to 32
+ * partitions.
+ *
+ * @param partitionCount the partitionCount value to set.
+ * @return the EventhubProperties object itself.
+ */
+ public EventhubProperties withPartitionCount(Long partitionCount) {
+ this.partitionCount = partitionCount;
+ return this;
+ }
+
+ /**
+ * Get the status property: Enumerates the possible values for the status of the Event Hub.
+ *
+ * @return the status value.
+ */
+ public EntityStatus status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: Enumerates the possible values for the status of the Event Hub.
+ *
+ * @param status the status value to set.
+ * @return the EventhubProperties object itself.
+ */
+ public EventhubProperties withStatus(EntityStatus status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the captureDescription property: Properties of capture description.
+ *
+ * @return the captureDescription value.
+ */
+ public CaptureDescription captureDescription() {
+ return this.captureDescription;
+ }
+
+ /**
+ * Set the captureDescription property: Properties of capture description.
+ *
+ * @param captureDescription the captureDescription value to set.
+ * @return the EventhubProperties object itself.
+ */
+ public EventhubProperties withCaptureDescription(CaptureDescription captureDescription) {
+ this.captureDescription = captureDescription;
+ return this;
+ }
+
+ /**
+ * Get the retentionDescription property: Event Hub retention settings.
+ *
+ * @return the retentionDescription value.
+ */
+ public RetentionDescription retentionDescription() {
+ return this.retentionDescription;
+ }
+
+ /**
+ * Set the retentionDescription property: Event Hub retention settings.
+ *
+ * @param retentionDescription the retentionDescription value to set.
+ * @return the EventhubProperties object itself.
+ */
+ public EventhubProperties withRetentionDescription(RetentionDescription retentionDescription) {
+ this.retentionDescription = retentionDescription;
+ return this;
+ }
+
+ /**
+ * Get the messageTimestampDescription property: Properties of MessageTimestamp Description.
+ *
+ * @return the messageTimestampDescription value.
+ */
+ public MessageTimestampDescription messageTimestampDescription() {
+ return this.messageTimestampDescription;
+ }
+
+ /**
+ * Set the messageTimestampDescription property: Properties of MessageTimestamp Description.
+ *
+ * @param messageTimestampDescription the messageTimestampDescription value to set.
+ * @return the EventhubProperties object itself.
+ */
+ public EventhubProperties withMessageTimestampDescription(MessageTimestampDescription messageTimestampDescription) {
+ this.messageTimestampDescription = messageTimestampDescription;
+ return this;
+ }
+
+ /**
+ * Get the identifier property: Denotes the unique identifier for event hub and is generated by service while
+ * creating topic. This identifier can be used in kafka runtime apis wherever a UUID is required e.g Fetch &
+ * Delete Topic. This identifier is not supported in AMQP runtime operations yet.
+ *
+ * @return the identifier value.
+ */
+ public String identifier() {
+ return this.identifier;
+ }
+
+ /**
+ * Get the userMetadata property: Gets and Sets Metadata of User.
+ *
+ * @return the userMetadata value.
+ */
+ public String userMetadata() {
+ return this.userMetadata;
+ }
+
+ /**
+ * Set the userMetadata property: Gets and Sets Metadata of User.
+ *
+ * @param userMetadata the userMetadata value to set.
+ * @return the EventhubProperties object itself.
+ */
+ public EventhubProperties withUserMetadata(String userMetadata) {
+ this.userMetadata = userMetadata;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (captureDescription() != null) {
+ captureDescription().validate();
+ }
+ if (retentionDescription() != null) {
+ retentionDescription().validate();
+ }
+ if (messageTimestampDescription() != null) {
+ messageTimestampDescription().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeNumberField("messageRetentionInDays", this.messageRetentionInDays);
+ jsonWriter.writeNumberField("partitionCount", this.partitionCount);
+ jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString());
+ jsonWriter.writeJsonField("captureDescription", this.captureDescription);
+ jsonWriter.writeJsonField("retentionDescription", this.retentionDescription);
+ jsonWriter.writeJsonField("messageTimestampDescription", this.messageTimestampDescription);
+ jsonWriter.writeStringField("userMetadata", this.userMetadata);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of EventhubProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of EventhubProperties if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the EventhubProperties.
+ */
+ public static EventhubProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ EventhubProperties deserializedEventhubProperties = new EventhubProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("partitionIds".equals(fieldName)) {
+ List partitionIds = reader.readArray(reader1 -> reader1.getString());
+ deserializedEventhubProperties.partitionIds = partitionIds;
+ } else if ("createdAt".equals(fieldName)) {
+ deserializedEventhubProperties.createdAt = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("updatedAt".equals(fieldName)) {
+ deserializedEventhubProperties.updatedAt = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("messageRetentionInDays".equals(fieldName)) {
+ deserializedEventhubProperties.messageRetentionInDays = reader.getNullable(JsonReader::getLong);
+ } else if ("partitionCount".equals(fieldName)) {
+ deserializedEventhubProperties.partitionCount = reader.getNullable(JsonReader::getLong);
+ } else if ("status".equals(fieldName)) {
+ deserializedEventhubProperties.status = EntityStatus.fromString(reader.getString());
+ } else if ("captureDescription".equals(fieldName)) {
+ deserializedEventhubProperties.captureDescription = CaptureDescription.fromJson(reader);
+ } else if ("retentionDescription".equals(fieldName)) {
+ deserializedEventhubProperties.retentionDescription = RetentionDescription.fromJson(reader);
+ } else if ("messageTimestampDescription".equals(fieldName)) {
+ deserializedEventhubProperties.messageTimestampDescription
+ = MessageTimestampDescription.fromJson(reader);
+ } else if ("identifier".equals(fieldName)) {
+ deserializedEventhubProperties.identifier = reader.getString();
+ } else if ("userMetadata".equals(fieldName)) {
+ deserializedEventhubProperties.userMetadata = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedEventhubProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/FailOverInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/FailOverInner.java
new file mode 100644
index 000000000000..503c736e845f
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/FailOverInner.java
@@ -0,0 +1,133 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * The FailOver model.
+ */
+@Fluent
+public final class FailOverInner implements JsonSerializable {
+ /*
+ * The properties property.
+ */
+ private FailOverProperties innerProperties;
+
+ /**
+ * Creates an instance of FailOverInner class.
+ */
+ public FailOverInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties property.
+ *
+ * @return the innerProperties value.
+ */
+ private FailOverProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the primaryLocation property: Query parameter for the new primary location after failover.
+ *
+ * @return the primaryLocation value.
+ */
+ public String primaryLocation() {
+ return this.innerProperties() == null ? null : this.innerProperties().primaryLocation();
+ }
+
+ /**
+ * Set the primaryLocation property: Query parameter for the new primary location after failover.
+ *
+ * @param primaryLocation the primaryLocation value to set.
+ * @return the FailOverInner object itself.
+ */
+ public FailOverInner withPrimaryLocation(String primaryLocation) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new FailOverProperties();
+ }
+ this.innerProperties().withPrimaryLocation(primaryLocation);
+ return this;
+ }
+
+ /**
+ * Get the force property: If Force is false then graceful failover is attempted after ensuring no data loss. If
+ * Force flag is set to true, Forced failover is attempted with possible data loss.
+ *
+ * @return the force value.
+ */
+ public Boolean force() {
+ return this.innerProperties() == null ? null : this.innerProperties().force();
+ }
+
+ /**
+ * Set the force property: If Force is false then graceful failover is attempted after ensuring no data loss. If
+ * Force flag is set to true, Forced failover is attempted with possible data loss.
+ *
+ * @param force the force value to set.
+ * @return the FailOverInner object itself.
+ */
+ public FailOverInner withForce(Boolean force) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new FailOverProperties();
+ }
+ this.innerProperties().withForce(force);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of FailOverInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of FailOverInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the FailOverInner.
+ */
+ public static FailOverInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ FailOverInner deserializedFailOverInner = new FailOverInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("properties".equals(fieldName)) {
+ deserializedFailOverInner.innerProperties = FailOverProperties.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedFailOverInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/FailOverProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/FailOverProperties.java
new file mode 100644
index 000000000000..b761ecb175d8
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/FailOverProperties.java
@@ -0,0 +1,124 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+
+/**
+ * The FailOverProperties model.
+ */
+@Fluent
+public final class FailOverProperties implements JsonSerializable {
+ /*
+ * Query parameter for the new primary location after failover.
+ */
+ private String primaryLocation;
+
+ /*
+ * If Force is false then graceful failover is attempted after ensuring no data loss. If Force flag is set to true,
+ * Forced failover is attempted with possible data loss.
+ */
+ private Boolean force;
+
+ /**
+ * Creates an instance of FailOverProperties class.
+ */
+ public FailOverProperties() {
+ }
+
+ /**
+ * Get the primaryLocation property: Query parameter for the new primary location after failover.
+ *
+ * @return the primaryLocation value.
+ */
+ public String primaryLocation() {
+ return this.primaryLocation;
+ }
+
+ /**
+ * Set the primaryLocation property: Query parameter for the new primary location after failover.
+ *
+ * @param primaryLocation the primaryLocation value to set.
+ * @return the FailOverProperties object itself.
+ */
+ public FailOverProperties withPrimaryLocation(String primaryLocation) {
+ this.primaryLocation = primaryLocation;
+ return this;
+ }
+
+ /**
+ * Get the force property: If Force is false then graceful failover is attempted after ensuring no data loss. If
+ * Force flag is set to true, Forced failover is attempted with possible data loss.
+ *
+ * @return the force value.
+ */
+ public Boolean force() {
+ return this.force;
+ }
+
+ /**
+ * Set the force property: If Force is false then graceful failover is attempted after ensuring no data loss. If
+ * Force flag is set to true, Forced failover is attempted with possible data loss.
+ *
+ * @param force the force value to set.
+ * @return the FailOverProperties object itself.
+ */
+ public FailOverProperties withForce(Boolean force) {
+ this.force = force;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("primaryLocation", this.primaryLocation);
+ jsonWriter.writeBooleanField("force", this.force);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of FailOverProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of FailOverProperties if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the FailOverProperties.
+ */
+ public static FailOverProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ FailOverProperties deserializedFailOverProperties = new FailOverProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("primaryLocation".equals(fieldName)) {
+ deserializedFailOverProperties.primaryLocation = reader.getString();
+ } else if ("force".equals(fieldName)) {
+ deserializedFailOverProperties.force = reader.getNullable(JsonReader::getBoolean);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedFailOverProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkRuleSetInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkRuleSetInner.java
new file mode 100644
index 000000000000..74339b50f0e1
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkRuleSetInner.java
@@ -0,0 +1,296 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.DefaultAction;
+import com.azure.resourcemanager.eventhubs.generated.models.NWRuleSetIpRules;
+import com.azure.resourcemanager.eventhubs.generated.models.NWRuleSetVirtualNetworkRules;
+import com.azure.resourcemanager.eventhubs.generated.models.PublicNetworkAccessFlag;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Description of topic resource.
+ */
+@Fluent
+public final class NetworkRuleSetInner extends ProxyResource {
+ /*
+ * NetworkRuleSet properties
+ */
+ private NetworkRuleSetProperties innerProperties;
+
+ /*
+ * The system meta data relating to this resource.
+ */
+ private SystemData systemData;
+
+ /*
+ * The geo-location where the resource lives
+ */
+ private String location;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of NetworkRuleSetInner class.
+ */
+ public NetworkRuleSetInner() {
+ }
+
+ /**
+ * Get the innerProperties property: NetworkRuleSet properties.
+ *
+ * @return the innerProperties value.
+ */
+ private NetworkRuleSetProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the trustedServiceAccessEnabled property: Value that indicates whether Trusted Service Access is Enabled or
+ * not.
+ *
+ * @return the trustedServiceAccessEnabled value.
+ */
+ public Boolean trustedServiceAccessEnabled() {
+ return this.innerProperties() == null ? null : this.innerProperties().trustedServiceAccessEnabled();
+ }
+
+ /**
+ * Set the trustedServiceAccessEnabled property: Value that indicates whether Trusted Service Access is Enabled or
+ * not.
+ *
+ * @param trustedServiceAccessEnabled the trustedServiceAccessEnabled value to set.
+ * @return the NetworkRuleSetInner object itself.
+ */
+ public NetworkRuleSetInner withTrustedServiceAccessEnabled(Boolean trustedServiceAccessEnabled) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new NetworkRuleSetProperties();
+ }
+ this.innerProperties().withTrustedServiceAccessEnabled(trustedServiceAccessEnabled);
+ return this;
+ }
+
+ /**
+ * Get the defaultAction property: Default Action for Network Rule Set.
+ *
+ * @return the defaultAction value.
+ */
+ public DefaultAction defaultAction() {
+ return this.innerProperties() == null ? null : this.innerProperties().defaultAction();
+ }
+
+ /**
+ * Set the defaultAction property: Default Action for Network Rule Set.
+ *
+ * @param defaultAction the defaultAction value to set.
+ * @return the NetworkRuleSetInner object itself.
+ */
+ public NetworkRuleSetInner withDefaultAction(DefaultAction defaultAction) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new NetworkRuleSetProperties();
+ }
+ this.innerProperties().withDefaultAction(defaultAction);
+ return this;
+ }
+
+ /**
+ * Get the virtualNetworkRules property: List VirtualNetwork Rules.
+ *
+ * @return the virtualNetworkRules value.
+ */
+ public List virtualNetworkRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().virtualNetworkRules();
+ }
+
+ /**
+ * Set the virtualNetworkRules property: List VirtualNetwork Rules.
+ *
+ * @param virtualNetworkRules the virtualNetworkRules value to set.
+ * @return the NetworkRuleSetInner object itself.
+ */
+ public NetworkRuleSetInner withVirtualNetworkRules(List virtualNetworkRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new NetworkRuleSetProperties();
+ }
+ this.innerProperties().withVirtualNetworkRules(virtualNetworkRules);
+ return this;
+ }
+
+ /**
+ * Get the ipRules property: List of IpRules.
+ *
+ * @return the ipRules value.
+ */
+ public List ipRules() {
+ return this.innerProperties() == null ? null : this.innerProperties().ipRules();
+ }
+
+ /**
+ * Set the ipRules property: List of IpRules.
+ *
+ * @param ipRules the ipRules value to set.
+ * @return the NetworkRuleSetInner object itself.
+ */
+ public NetworkRuleSetInner withIpRules(List ipRules) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new NetworkRuleSetProperties();
+ }
+ this.innerProperties().withIpRules(ipRules);
+ return this;
+ }
+
+ /**
+ * Get the publicNetworkAccess property: This determines if traffic is allowed over public network. By default it is
+ * enabled. If value is SecuredByPerimeter then Inbound and Outbound communication is controlled by the network
+ * security perimeter and profile's access rules.
+ *
+ * @return the publicNetworkAccess value.
+ */
+ public PublicNetworkAccessFlag publicNetworkAccess() {
+ return this.innerProperties() == null ? null : this.innerProperties().publicNetworkAccess();
+ }
+
+ /**
+ * Set the publicNetworkAccess property: This determines if traffic is allowed over public network. By default it is
+ * enabled. If value is SecuredByPerimeter then Inbound and Outbound communication is controlled by the network
+ * security perimeter and profile's access rules.
+ *
+ * @param publicNetworkAccess the publicNetworkAccess value to set.
+ * @return the NetworkRuleSetInner object itself.
+ */
+ public NetworkRuleSetInner withPublicNetworkAccess(PublicNetworkAccessFlag publicNetworkAccess) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new NetworkRuleSetProperties();
+ }
+ this.innerProperties().withPublicNetworkAccess(publicNetworkAccess);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of NetworkRuleSetInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of NetworkRuleSetInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the NetworkRuleSetInner.
+ */
+ public static NetworkRuleSetInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ NetworkRuleSetInner deserializedNetworkRuleSetInner = new NetworkRuleSetInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedNetworkRuleSetInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedNetworkRuleSetInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedNetworkRuleSetInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedNetworkRuleSetInner.innerProperties = NetworkRuleSetProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedNetworkRuleSetInner.systemData = SystemData.fromJson(reader);
+ } else if ("location".equals(fieldName)) {
+ deserializedNetworkRuleSetInner.location = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedNetworkRuleSetInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkRuleSetListResultInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkRuleSetListResultInner.java
new file mode 100644
index 000000000000..1105fafc9d36
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkRuleSetListResultInner.java
@@ -0,0 +1,130 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * The response of the List NetworkRuleSet operation.
+ */
+@Fluent
+public final class NetworkRuleSetListResultInner implements JsonSerializable {
+ /*
+ * Result of the List NetworkRuleSet operation
+ */
+ private List value;
+
+ /*
+ * Link to the next set of results. Not empty if Value contains incomplete list of NetworkRuleSet.
+ */
+ private String nextLink;
+
+ /**
+ * Creates an instance of NetworkRuleSetListResultInner class.
+ */
+ public NetworkRuleSetListResultInner() {
+ }
+
+ /**
+ * Get the value property: Result of the List NetworkRuleSet operation.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: Result of the List NetworkRuleSet operation.
+ *
+ * @param value the value value to set.
+ * @return the NetworkRuleSetListResultInner object itself.
+ */
+ public NetworkRuleSetListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the nextLink property: Link to the next set of results. Not empty if Value contains incomplete list of
+ * NetworkRuleSet.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Set the nextLink property: Link to the next set of results. Not empty if Value contains incomplete list of
+ * NetworkRuleSet.
+ *
+ * @param nextLink the nextLink value to set.
+ * @return the NetworkRuleSetListResultInner object itself.
+ */
+ public NetworkRuleSetListResultInner withNextLink(String nextLink) {
+ this.nextLink = nextLink;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("nextLink", this.nextLink);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of NetworkRuleSetListResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of NetworkRuleSetListResultInner if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the NetworkRuleSetListResultInner.
+ */
+ public static NetworkRuleSetListResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ NetworkRuleSetListResultInner deserializedNetworkRuleSetListResultInner
+ = new NetworkRuleSetListResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ List value
+ = reader.readArray(reader1 -> NetworkRuleSetInner.fromJson(reader1));
+ deserializedNetworkRuleSetListResultInner.value = value;
+ } else if ("nextLink".equals(fieldName)) {
+ deserializedNetworkRuleSetListResultInner.nextLink = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedNetworkRuleSetListResultInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkRuleSetProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkRuleSetProperties.java
new file mode 100644
index 000000000000..b45bf648deba
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkRuleSetProperties.java
@@ -0,0 +1,231 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.DefaultAction;
+import com.azure.resourcemanager.eventhubs.generated.models.NWRuleSetIpRules;
+import com.azure.resourcemanager.eventhubs.generated.models.NWRuleSetVirtualNetworkRules;
+import com.azure.resourcemanager.eventhubs.generated.models.PublicNetworkAccessFlag;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * NetworkRuleSet properties.
+ */
+@Fluent
+public final class NetworkRuleSetProperties implements JsonSerializable {
+ /*
+ * Value that indicates whether Trusted Service Access is Enabled or not.
+ */
+ private Boolean trustedServiceAccessEnabled;
+
+ /*
+ * Default Action for Network Rule Set
+ */
+ private DefaultAction defaultAction;
+
+ /*
+ * List VirtualNetwork Rules
+ */
+ private List virtualNetworkRules;
+
+ /*
+ * List of IpRules
+ */
+ private List ipRules;
+
+ /*
+ * This determines if traffic is allowed over public network. By default it is enabled. If value is
+ * SecuredByPerimeter then Inbound and Outbound communication is controlled by the network security perimeter and
+ * profile's access rules.
+ */
+ private PublicNetworkAccessFlag publicNetworkAccess;
+
+ /**
+ * Creates an instance of NetworkRuleSetProperties class.
+ */
+ public NetworkRuleSetProperties() {
+ }
+
+ /**
+ * Get the trustedServiceAccessEnabled property: Value that indicates whether Trusted Service Access is Enabled or
+ * not.
+ *
+ * @return the trustedServiceAccessEnabled value.
+ */
+ public Boolean trustedServiceAccessEnabled() {
+ return this.trustedServiceAccessEnabled;
+ }
+
+ /**
+ * Set the trustedServiceAccessEnabled property: Value that indicates whether Trusted Service Access is Enabled or
+ * not.
+ *
+ * @param trustedServiceAccessEnabled the trustedServiceAccessEnabled value to set.
+ * @return the NetworkRuleSetProperties object itself.
+ */
+ public NetworkRuleSetProperties withTrustedServiceAccessEnabled(Boolean trustedServiceAccessEnabled) {
+ this.trustedServiceAccessEnabled = trustedServiceAccessEnabled;
+ return this;
+ }
+
+ /**
+ * Get the defaultAction property: Default Action for Network Rule Set.
+ *
+ * @return the defaultAction value.
+ */
+ public DefaultAction defaultAction() {
+ return this.defaultAction;
+ }
+
+ /**
+ * Set the defaultAction property: Default Action for Network Rule Set.
+ *
+ * @param defaultAction the defaultAction value to set.
+ * @return the NetworkRuleSetProperties object itself.
+ */
+ public NetworkRuleSetProperties withDefaultAction(DefaultAction defaultAction) {
+ this.defaultAction = defaultAction;
+ return this;
+ }
+
+ /**
+ * Get the virtualNetworkRules property: List VirtualNetwork Rules.
+ *
+ * @return the virtualNetworkRules value.
+ */
+ public List virtualNetworkRules() {
+ return this.virtualNetworkRules;
+ }
+
+ /**
+ * Set the virtualNetworkRules property: List VirtualNetwork Rules.
+ *
+ * @param virtualNetworkRules the virtualNetworkRules value to set.
+ * @return the NetworkRuleSetProperties object itself.
+ */
+ public NetworkRuleSetProperties withVirtualNetworkRules(List virtualNetworkRules) {
+ this.virtualNetworkRules = virtualNetworkRules;
+ return this;
+ }
+
+ /**
+ * Get the ipRules property: List of IpRules.
+ *
+ * @return the ipRules value.
+ */
+ public List ipRules() {
+ return this.ipRules;
+ }
+
+ /**
+ * Set the ipRules property: List of IpRules.
+ *
+ * @param ipRules the ipRules value to set.
+ * @return the NetworkRuleSetProperties object itself.
+ */
+ public NetworkRuleSetProperties withIpRules(List ipRules) {
+ this.ipRules = ipRules;
+ return this;
+ }
+
+ /**
+ * Get the publicNetworkAccess property: This determines if traffic is allowed over public network. By default it is
+ * enabled. If value is SecuredByPerimeter then Inbound and Outbound communication is controlled by the network
+ * security perimeter and profile's access rules.
+ *
+ * @return the publicNetworkAccess value.
+ */
+ public PublicNetworkAccessFlag publicNetworkAccess() {
+ return this.publicNetworkAccess;
+ }
+
+ /**
+ * Set the publicNetworkAccess property: This determines if traffic is allowed over public network. By default it is
+ * enabled. If value is SecuredByPerimeter then Inbound and Outbound communication is controlled by the network
+ * security perimeter and profile's access rules.
+ *
+ * @param publicNetworkAccess the publicNetworkAccess value to set.
+ * @return the NetworkRuleSetProperties object itself.
+ */
+ public NetworkRuleSetProperties withPublicNetworkAccess(PublicNetworkAccessFlag publicNetworkAccess) {
+ this.publicNetworkAccess = publicNetworkAccess;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (virtualNetworkRules() != null) {
+ virtualNetworkRules().forEach(e -> e.validate());
+ }
+ if (ipRules() != null) {
+ ipRules().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeBooleanField("trustedServiceAccessEnabled", this.trustedServiceAccessEnabled);
+ jsonWriter.writeStringField("defaultAction", this.defaultAction == null ? null : this.defaultAction.toString());
+ jsonWriter.writeArrayField("virtualNetworkRules", this.virtualNetworkRules,
+ (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeArrayField("ipRules", this.ipRules, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("publicNetworkAccess",
+ this.publicNetworkAccess == null ? null : this.publicNetworkAccess.toString());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of NetworkRuleSetProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of NetworkRuleSetProperties if the JsonReader was pointing to an instance of it, or null if
+ * it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the NetworkRuleSetProperties.
+ */
+ public static NetworkRuleSetProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ NetworkRuleSetProperties deserializedNetworkRuleSetProperties = new NetworkRuleSetProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("trustedServiceAccessEnabled".equals(fieldName)) {
+ deserializedNetworkRuleSetProperties.trustedServiceAccessEnabled
+ = reader.getNullable(JsonReader::getBoolean);
+ } else if ("defaultAction".equals(fieldName)) {
+ deserializedNetworkRuleSetProperties.defaultAction = DefaultAction.fromString(reader.getString());
+ } else if ("virtualNetworkRules".equals(fieldName)) {
+ List virtualNetworkRules
+ = reader.readArray(reader1 -> NWRuleSetVirtualNetworkRules.fromJson(reader1));
+ deserializedNetworkRuleSetProperties.virtualNetworkRules = virtualNetworkRules;
+ } else if ("ipRules".equals(fieldName)) {
+ List ipRules = reader.readArray(reader1 -> NWRuleSetIpRules.fromJson(reader1));
+ deserializedNetworkRuleSetProperties.ipRules = ipRules;
+ } else if ("publicNetworkAccess".equals(fieldName)) {
+ deserializedNetworkRuleSetProperties.publicNetworkAccess
+ = PublicNetworkAccessFlag.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedNetworkRuleSetProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkSecurityPerimeterConfigurationListInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkSecurityPerimeterConfigurationListInner.java
new file mode 100644
index 000000000000..3132120d2b41
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkSecurityPerimeterConfigurationListInner.java
@@ -0,0 +1,90 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.NetworkSecurityPerimeterConfiguration;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Result of the List NetworkSecurityPerimeterConfiguration operation.
+ */
+@Immutable
+public final class NetworkSecurityPerimeterConfigurationListInner
+ implements JsonSerializable {
+ /*
+ * A collection of NetworkSecurityPerimeterConfigurations
+ */
+ private List value;
+
+ /**
+ * Creates an instance of NetworkSecurityPerimeterConfigurationListInner class.
+ */
+ public NetworkSecurityPerimeterConfigurationListInner() {
+ }
+
+ /**
+ * Get the value property: A collection of NetworkSecurityPerimeterConfigurations.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of NetworkSecurityPerimeterConfigurationListInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of NetworkSecurityPerimeterConfigurationListInner if the JsonReader was pointing to an
+ * instance of it, or null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the NetworkSecurityPerimeterConfigurationListInner.
+ */
+ public static NetworkSecurityPerimeterConfigurationListInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ NetworkSecurityPerimeterConfigurationListInner deserializedNetworkSecurityPerimeterConfigurationListInner
+ = new NetworkSecurityPerimeterConfigurationListInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ List value
+ = reader.readArray(reader1 -> NetworkSecurityPerimeterConfiguration.fromJson(reader1));
+ deserializedNetworkSecurityPerimeterConfigurationListInner.value = value;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedNetworkSecurityPerimeterConfigurationListInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkSecurityPerimeterConfigurationProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkSecurityPerimeterConfigurationProperties.java
new file mode 100644
index 000000000000..0b3c192c496d
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/NetworkSecurityPerimeterConfigurationProperties.java
@@ -0,0 +1,269 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.NetworkSecurityPerimeter;
+import com.azure.resourcemanager.eventhubs.generated.models.NetworkSecurityPerimeterConfigurationPropertiesProfile;
+import com.azure.resourcemanager.eventhubs.generated.models.NetworkSecurityPerimeterConfigurationPropertiesResourceAssociation;
+import com.azure.resourcemanager.eventhubs.generated.models.NetworkSecurityPerimeterConfigurationProvisioningState;
+import com.azure.resourcemanager.eventhubs.generated.models.ProvisioningIssue;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Properties of NetworkSecurityPerimeterConfiguration.
+ */
+@Fluent
+public final class NetworkSecurityPerimeterConfigurationProperties
+ implements JsonSerializable {
+ /*
+ * Provisioning state of NetworkSecurityPerimeter configuration propagation
+ */
+ private NetworkSecurityPerimeterConfigurationProvisioningState provisioningState;
+
+ /*
+ * List of Provisioning Issues if any
+ */
+ private List provisioningIssues;
+
+ /*
+ * NetworkSecurityPerimeter related information
+ */
+ private NetworkSecurityPerimeter networkSecurityPerimeter;
+
+ /*
+ * Information about resource association
+ */
+ private NetworkSecurityPerimeterConfigurationPropertiesResourceAssociation resourceAssociation;
+
+ /*
+ * Information about current network profile
+ */
+ private NetworkSecurityPerimeterConfigurationPropertiesProfile profile;
+
+ /*
+ * True if the EventHub namespace is backed by another Azure resource and not visible to end users.
+ */
+ private Boolean isBackingResource;
+
+ /*
+ * Indicates that the NSP controls related to backing association are only applicable to a specific feature in
+ * backing resource's data plane.
+ */
+ private List applicableFeatures;
+
+ /*
+ * Source Resource Association name
+ */
+ private String parentAssociationName;
+
+ /*
+ * ARM Id of source resource
+ */
+ private String sourceResourceId;
+
+ /**
+ * Creates an instance of NetworkSecurityPerimeterConfigurationProperties class.
+ */
+ public NetworkSecurityPerimeterConfigurationProperties() {
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of NetworkSecurityPerimeter configuration propagation.
+ *
+ * @return the provisioningState value.
+ */
+ public NetworkSecurityPerimeterConfigurationProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Set the provisioningState property: Provisioning state of NetworkSecurityPerimeter configuration propagation.
+ *
+ * @param provisioningState the provisioningState value to set.
+ * @return the NetworkSecurityPerimeterConfigurationProperties object itself.
+ */
+ public NetworkSecurityPerimeterConfigurationProperties
+ withProvisioningState(NetworkSecurityPerimeterConfigurationProvisioningState provisioningState) {
+ this.provisioningState = provisioningState;
+ return this;
+ }
+
+ /**
+ * Get the provisioningIssues property: List of Provisioning Issues if any.
+ *
+ * @return the provisioningIssues value.
+ */
+ public List provisioningIssues() {
+ return this.provisioningIssues;
+ }
+
+ /**
+ * Set the provisioningIssues property: List of Provisioning Issues if any.
+ *
+ * @param provisioningIssues the provisioningIssues value to set.
+ * @return the NetworkSecurityPerimeterConfigurationProperties object itself.
+ */
+ public NetworkSecurityPerimeterConfigurationProperties
+ withProvisioningIssues(List provisioningIssues) {
+ this.provisioningIssues = provisioningIssues;
+ return this;
+ }
+
+ /**
+ * Get the networkSecurityPerimeter property: NetworkSecurityPerimeter related information.
+ *
+ * @return the networkSecurityPerimeter value.
+ */
+ public NetworkSecurityPerimeter networkSecurityPerimeter() {
+ return this.networkSecurityPerimeter;
+ }
+
+ /**
+ * Get the resourceAssociation property: Information about resource association.
+ *
+ * @return the resourceAssociation value.
+ */
+ public NetworkSecurityPerimeterConfigurationPropertiesResourceAssociation resourceAssociation() {
+ return this.resourceAssociation;
+ }
+
+ /**
+ * Get the profile property: Information about current network profile.
+ *
+ * @return the profile value.
+ */
+ public NetworkSecurityPerimeterConfigurationPropertiesProfile profile() {
+ return this.profile;
+ }
+
+ /**
+ * Get the isBackingResource property: True if the EventHub namespace is backed by another Azure resource and not
+ * visible to end users.
+ *
+ * @return the isBackingResource value.
+ */
+ public Boolean isBackingResource() {
+ return this.isBackingResource;
+ }
+
+ /**
+ * Get the applicableFeatures property: Indicates that the NSP controls related to backing association are only
+ * applicable to a specific feature in backing resource's data plane.
+ *
+ * @return the applicableFeatures value.
+ */
+ public List applicableFeatures() {
+ return this.applicableFeatures;
+ }
+
+ /**
+ * Get the parentAssociationName property: Source Resource Association name.
+ *
+ * @return the parentAssociationName value.
+ */
+ public String parentAssociationName() {
+ return this.parentAssociationName;
+ }
+
+ /**
+ * Get the sourceResourceId property: ARM Id of source resource.
+ *
+ * @return the sourceResourceId value.
+ */
+ public String sourceResourceId() {
+ return this.sourceResourceId;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (provisioningIssues() != null) {
+ provisioningIssues().forEach(e -> e.validate());
+ }
+ if (networkSecurityPerimeter() != null) {
+ networkSecurityPerimeter().validate();
+ }
+ if (resourceAssociation() != null) {
+ resourceAssociation().validate();
+ }
+ if (profile() != null) {
+ profile().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("provisioningState",
+ this.provisioningState == null ? null : this.provisioningState.toString());
+ jsonWriter.writeArrayField("provisioningIssues", this.provisioningIssues,
+ (writer, element) -> writer.writeJson(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of NetworkSecurityPerimeterConfigurationProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of NetworkSecurityPerimeterConfigurationProperties if the JsonReader was pointing to an
+ * instance of it, or null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the NetworkSecurityPerimeterConfigurationProperties.
+ */
+ public static NetworkSecurityPerimeterConfigurationProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ NetworkSecurityPerimeterConfigurationProperties deserializedNetworkSecurityPerimeterConfigurationProperties
+ = new NetworkSecurityPerimeterConfigurationProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("provisioningState".equals(fieldName)) {
+ deserializedNetworkSecurityPerimeterConfigurationProperties.provisioningState
+ = NetworkSecurityPerimeterConfigurationProvisioningState.fromString(reader.getString());
+ } else if ("provisioningIssues".equals(fieldName)) {
+ List provisioningIssues
+ = reader.readArray(reader1 -> ProvisioningIssue.fromJson(reader1));
+ deserializedNetworkSecurityPerimeterConfigurationProperties.provisioningIssues = provisioningIssues;
+ } else if ("networkSecurityPerimeter".equals(fieldName)) {
+ deserializedNetworkSecurityPerimeterConfigurationProperties.networkSecurityPerimeter
+ = NetworkSecurityPerimeter.fromJson(reader);
+ } else if ("resourceAssociation".equals(fieldName)) {
+ deserializedNetworkSecurityPerimeterConfigurationProperties.resourceAssociation
+ = NetworkSecurityPerimeterConfigurationPropertiesResourceAssociation.fromJson(reader);
+ } else if ("profile".equals(fieldName)) {
+ deserializedNetworkSecurityPerimeterConfigurationProperties.profile
+ = NetworkSecurityPerimeterConfigurationPropertiesProfile.fromJson(reader);
+ } else if ("isBackingResource".equals(fieldName)) {
+ deserializedNetworkSecurityPerimeterConfigurationProperties.isBackingResource
+ = reader.getNullable(JsonReader::getBoolean);
+ } else if ("applicableFeatures".equals(fieldName)) {
+ List applicableFeatures = reader.readArray(reader1 -> reader1.getString());
+ deserializedNetworkSecurityPerimeterConfigurationProperties.applicableFeatures = applicableFeatures;
+ } else if ("parentAssociationName".equals(fieldName)) {
+ deserializedNetworkSecurityPerimeterConfigurationProperties.parentAssociationName
+ = reader.getString();
+ } else if ("sourceResourceId".equals(fieldName)) {
+ deserializedNetworkSecurityPerimeterConfigurationProperties.sourceResourceId = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedNetworkSecurityPerimeterConfigurationProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/OperationInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..234151ee9020
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/OperationInner.java
@@ -0,0 +1,197 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.OperationDisplay;
+import java.io.IOException;
+
+/**
+ * A Event Hub REST API operation.
+ */
+@Fluent
+public final class OperationInner implements JsonSerializable {
+ /*
+ * Operation name: {provider}/{resource}/{operation}
+ */
+ private String name;
+
+ /*
+ * Indicates whether the operation is a data action
+ */
+ private Boolean isDataAction;
+
+ /*
+ * Display of the operation
+ */
+ private OperationDisplay display;
+
+ /*
+ * Origin of the operation
+ */
+ private String origin;
+
+ /*
+ * Properties of the operation
+ */
+ private Object properties;
+
+ /**
+ * Creates an instance of OperationInner class.
+ */
+ public OperationInner() {
+ }
+
+ /**
+ * Get the name property: Operation name: {provider}/{resource}/{operation}.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Indicates whether the operation is a data action.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Set the isDataAction property: Indicates whether the operation is a data action.
+ *
+ * @param isDataAction the isDataAction value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withIsDataAction(Boolean isDataAction) {
+ this.isDataAction = isDataAction;
+ return this;
+ }
+
+ /**
+ * Get the display property: Display of the operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: Display of the operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: Origin of the operation.
+ *
+ * @return the origin value.
+ */
+ public String origin() {
+ return this.origin;
+ }
+
+ /**
+ * Set the origin property: Origin of the operation.
+ *
+ * @param origin the origin value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withOrigin(String origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get the properties property: Properties of the operation.
+ *
+ * @return the properties value.
+ */
+ public Object properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Properties of the operation.
+ *
+ * @param properties the properties value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withProperties(Object properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeBooleanField("isDataAction", this.isDataAction);
+ jsonWriter.writeJsonField("display", this.display);
+ jsonWriter.writeStringField("origin", this.origin);
+ jsonWriter.writeUntypedField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of OperationInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of OperationInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IOException If an error occurs while reading the OperationInner.
+ */
+ public static OperationInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ OperationInner deserializedOperationInner = new OperationInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("name".equals(fieldName)) {
+ deserializedOperationInner.name = reader.getString();
+ } else if ("isDataAction".equals(fieldName)) {
+ deserializedOperationInner.isDataAction = reader.getNullable(JsonReader::getBoolean);
+ } else if ("display".equals(fieldName)) {
+ deserializedOperationInner.display = OperationDisplay.fromJson(reader);
+ } else if ("origin".equals(fieldName)) {
+ deserializedOperationInner.origin = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedOperationInner.properties = reader.readUntyped();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateEndpointConnectionInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateEndpointConnectionInner.java
new file mode 100644
index 000000000000..2ed14e75843f
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateEndpointConnectionInner.java
@@ -0,0 +1,245 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.ConnectionState;
+import com.azure.resourcemanager.eventhubs.generated.models.EndPointProvisioningState;
+import com.azure.resourcemanager.eventhubs.generated.models.PrivateEndpoint;
+import java.io.IOException;
+
+/**
+ * Properties of the PrivateEndpointConnection.
+ */
+@Fluent
+public final class PrivateEndpointConnectionInner extends ProxyResource {
+ /*
+ * Properties of the PrivateEndpointConnection.
+ */
+ private PrivateEndpointConnectionProperties innerProperties;
+
+ /*
+ * The system meta data relating to this resource.
+ */
+ private SystemData systemData;
+
+ /*
+ * The geo-location where the resource lives
+ */
+ private String location;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of PrivateEndpointConnectionInner class.
+ */
+ public PrivateEndpointConnectionInner() {
+ }
+
+ /**
+ * Get the innerProperties property: Properties of the PrivateEndpointConnection.
+ *
+ * @return the innerProperties value.
+ */
+ private PrivateEndpointConnectionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the privateEndpoint property: The Private Endpoint resource for this Connection.
+ *
+ * @return the privateEndpoint value.
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateEndpoint();
+ }
+
+ /**
+ * Set the privateEndpoint property: The Private Endpoint resource for this Connection.
+ *
+ * @param privateEndpoint the privateEndpoint value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withPrivateEndpoint(privateEndpoint);
+ return this;
+ }
+
+ /**
+ * Get the privateLinkServiceConnectionState property: Details about the state of the connection.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ public ConnectionState privateLinkServiceConnectionState() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateLinkServiceConnectionState();
+ }
+
+ /**
+ * Set the privateLinkServiceConnectionState property: Details about the state of the connection.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner
+ withPrivateLinkServiceConnectionState(ConnectionState privateLinkServiceConnectionState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withPrivateLinkServiceConnectionState(privateLinkServiceConnectionState);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the Private Endpoint Connection.
+ *
+ * @return the provisioningState value.
+ */
+ public EndPointProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Set the provisioningState property: Provisioning state of the Private Endpoint Connection.
+ *
+ * @param provisioningState the provisioningState value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withProvisioningState(EndPointProvisioningState provisioningState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withProvisioningState(provisioningState);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PrivateEndpointConnectionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PrivateEndpointConnectionInner if the JsonReader was pointing to an instance of it, or
+ * null if it was pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the PrivateEndpointConnectionInner.
+ */
+ public static PrivateEndpointConnectionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PrivateEndpointConnectionInner deserializedPrivateEndpointConnectionInner
+ = new PrivateEndpointConnectionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.innerProperties
+ = PrivateEndpointConnectionProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.systemData = SystemData.fromJson(reader);
+ } else if ("location".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionInner.location = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPrivateEndpointConnectionInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateEndpointConnectionProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateEndpointConnectionProperties.java
new file mode 100644
index 000000000000..fecfa4efe77e
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateEndpointConnectionProperties.java
@@ -0,0 +1,164 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.ConnectionState;
+import com.azure.resourcemanager.eventhubs.generated.models.EndPointProvisioningState;
+import com.azure.resourcemanager.eventhubs.generated.models.PrivateEndpoint;
+import java.io.IOException;
+
+/**
+ * Properties of the private endpoint connection resource.
+ */
+@Fluent
+public final class PrivateEndpointConnectionProperties
+ implements JsonSerializable {
+ /*
+ * The Private Endpoint resource for this Connection.
+ */
+ private PrivateEndpoint privateEndpoint;
+
+ /*
+ * Details about the state of the connection.
+ */
+ private ConnectionState privateLinkServiceConnectionState;
+
+ /*
+ * Provisioning state of the Private Endpoint Connection.
+ */
+ private EndPointProvisioningState provisioningState;
+
+ /**
+ * Creates an instance of PrivateEndpointConnectionProperties class.
+ */
+ public PrivateEndpointConnectionProperties() {
+ }
+
+ /**
+ * Get the privateEndpoint property: The Private Endpoint resource for this Connection.
+ *
+ * @return the privateEndpoint value.
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.privateEndpoint;
+ }
+
+ /**
+ * Set the privateEndpoint property: The Private Endpoint resource for this Connection.
+ *
+ * @param privateEndpoint the privateEndpoint value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ this.privateEndpoint = privateEndpoint;
+ return this;
+ }
+
+ /**
+ * Get the privateLinkServiceConnectionState property: Details about the state of the connection.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ public ConnectionState privateLinkServiceConnectionState() {
+ return this.privateLinkServiceConnectionState;
+ }
+
+ /**
+ * Set the privateLinkServiceConnectionState property: Details about the state of the connection.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties
+ withPrivateLinkServiceConnectionState(ConnectionState privateLinkServiceConnectionState) {
+ this.privateLinkServiceConnectionState = privateLinkServiceConnectionState;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the Private Endpoint Connection.
+ *
+ * @return the provisioningState value.
+ */
+ public EndPointProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Set the provisioningState property: Provisioning state of the Private Endpoint Connection.
+ *
+ * @param provisioningState the provisioningState value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withProvisioningState(EndPointProvisioningState provisioningState) {
+ this.provisioningState = provisioningState;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (privateEndpoint() != null) {
+ privateEndpoint().validate();
+ }
+ if (privateLinkServiceConnectionState() != null) {
+ privateLinkServiceConnectionState().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("privateEndpoint", this.privateEndpoint);
+ jsonWriter.writeJsonField("privateLinkServiceConnectionState", this.privateLinkServiceConnectionState);
+ jsonWriter.writeStringField("provisioningState",
+ this.provisioningState == null ? null : this.provisioningState.toString());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PrivateEndpointConnectionProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PrivateEndpointConnectionProperties if the JsonReader was pointing to an instance of it,
+ * or null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the PrivateEndpointConnectionProperties.
+ */
+ public static PrivateEndpointConnectionProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PrivateEndpointConnectionProperties deserializedPrivateEndpointConnectionProperties
+ = new PrivateEndpointConnectionProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("privateEndpoint".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionProperties.privateEndpoint = PrivateEndpoint.fromJson(reader);
+ } else if ("privateLinkServiceConnectionState".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionProperties.privateLinkServiceConnectionState
+ = ConnectionState.fromJson(reader);
+ } else if ("provisioningState".equals(fieldName)) {
+ deserializedPrivateEndpointConnectionProperties.provisioningState
+ = EndPointProvisioningState.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPrivateEndpointConnectionProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateLinkResourceProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateLinkResourceProperties.java
new file mode 100644
index 000000000000..0803a3254707
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateLinkResourceProperties.java
@@ -0,0 +1,155 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Properties of PrivateLinkResource.
+ */
+@Fluent
+public final class PrivateLinkResourceProperties implements JsonSerializable {
+ /*
+ * The private link resource group id.
+ */
+ private String groupId;
+
+ /*
+ * The private link resource required member names.
+ */
+ private List requiredMembers;
+
+ /*
+ * The private link resource Private link DNS zone name.
+ */
+ private List requiredZoneNames;
+
+ /**
+ * Creates an instance of PrivateLinkResourceProperties class.
+ */
+ public PrivateLinkResourceProperties() {
+ }
+
+ /**
+ * Get the groupId property: The private link resource group id.
+ *
+ * @return the groupId value.
+ */
+ public String groupId() {
+ return this.groupId;
+ }
+
+ /**
+ * Set the groupId property: The private link resource group id.
+ *
+ * @param groupId the groupId value to set.
+ * @return the PrivateLinkResourceProperties object itself.
+ */
+ public PrivateLinkResourceProperties withGroupId(String groupId) {
+ this.groupId = groupId;
+ return this;
+ }
+
+ /**
+ * Get the requiredMembers property: The private link resource required member names.
+ *
+ * @return the requiredMembers value.
+ */
+ public List requiredMembers() {
+ return this.requiredMembers;
+ }
+
+ /**
+ * Set the requiredMembers property: The private link resource required member names.
+ *
+ * @param requiredMembers the requiredMembers value to set.
+ * @return the PrivateLinkResourceProperties object itself.
+ */
+ public PrivateLinkResourceProperties withRequiredMembers(List requiredMembers) {
+ this.requiredMembers = requiredMembers;
+ return this;
+ }
+
+ /**
+ * Get the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @return the requiredZoneNames value.
+ */
+ public List requiredZoneNames() {
+ return this.requiredZoneNames;
+ }
+
+ /**
+ * Set the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @param requiredZoneNames the requiredZoneNames value to set.
+ * @return the PrivateLinkResourceProperties object itself.
+ */
+ public PrivateLinkResourceProperties withRequiredZoneNames(List requiredZoneNames) {
+ this.requiredZoneNames = requiredZoneNames;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeStringField("groupId", this.groupId);
+ jsonWriter.writeArrayField("requiredMembers", this.requiredMembers,
+ (writer, element) -> writer.writeString(element));
+ jsonWriter.writeArrayField("requiredZoneNames", this.requiredZoneNames,
+ (writer, element) -> writer.writeString(element));
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PrivateLinkResourceProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PrivateLinkResourceProperties if the JsonReader was pointing to an instance of it, or null
+ * if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the PrivateLinkResourceProperties.
+ */
+ public static PrivateLinkResourceProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PrivateLinkResourceProperties deserializedPrivateLinkResourceProperties
+ = new PrivateLinkResourceProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("groupId".equals(fieldName)) {
+ deserializedPrivateLinkResourceProperties.groupId = reader.getString();
+ } else if ("requiredMembers".equals(fieldName)) {
+ List requiredMembers = reader.readArray(reader1 -> reader1.getString());
+ deserializedPrivateLinkResourceProperties.requiredMembers = requiredMembers;
+ } else if ("requiredZoneNames".equals(fieldName)) {
+ List requiredZoneNames = reader.readArray(reader1 -> reader1.getString());
+ deserializedPrivateLinkResourceProperties.requiredZoneNames = requiredZoneNames;
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPrivateLinkResourceProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateLinkResourcesListResultInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateLinkResourcesListResultInner.java
new file mode 100644
index 000000000000..03d4616a5e90
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/PrivateLinkResourcesListResultInner.java
@@ -0,0 +1,130 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.PrivateLinkResource;
+import java.io.IOException;
+import java.util.List;
+
+/**
+ * Result of the List private link resources operation.
+ */
+@Fluent
+public final class PrivateLinkResourcesListResultInner
+ implements JsonSerializable {
+ /*
+ * A collection of private link resources
+ */
+ private List value;
+
+ /*
+ * A link for the next page of private link resources.
+ */
+ private String nextLink;
+
+ /**
+ * Creates an instance of PrivateLinkResourcesListResultInner class.
+ */
+ public PrivateLinkResourcesListResultInner() {
+ }
+
+ /**
+ * Get the value property: A collection of private link resources.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: A collection of private link resources.
+ *
+ * @param value the value value to set.
+ * @return the PrivateLinkResourcesListResultInner object itself.
+ */
+ public PrivateLinkResourcesListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Get the nextLink property: A link for the next page of private link resources.
+ *
+ * @return the nextLink value.
+ */
+ public String nextLink() {
+ return this.nextLink;
+ }
+
+ /**
+ * Set the nextLink property: A link for the next page of private link resources.
+ *
+ * @param nextLink the nextLink value to set.
+ * @return the PrivateLinkResourcesListResultInner object itself.
+ */
+ public PrivateLinkResourcesListResultInner withNextLink(String nextLink) {
+ this.nextLink = nextLink;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeArrayField("value", this.value, (writer, element) -> writer.writeJson(element));
+ jsonWriter.writeStringField("nextLink", this.nextLink);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of PrivateLinkResourcesListResultInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of PrivateLinkResourcesListResultInner if the JsonReader was pointing to an instance of it,
+ * or null if it was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the PrivateLinkResourcesListResultInner.
+ */
+ public static PrivateLinkResourcesListResultInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ PrivateLinkResourcesListResultInner deserializedPrivateLinkResourcesListResultInner
+ = new PrivateLinkResourcesListResultInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("value".equals(fieldName)) {
+ List value
+ = reader.readArray(reader1 -> PrivateLinkResource.fromJson(reader1));
+ deserializedPrivateLinkResourcesListResultInner.value = value;
+ } else if ("nextLink".equals(fieldName)) {
+ deserializedPrivateLinkResourcesListResultInner.nextLink = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedPrivateLinkResourcesListResultInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/SchemaGroupInner.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/SchemaGroupInner.java
new file mode 100644
index 000000000000..32e3f6a3d834
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/SchemaGroupInner.java
@@ -0,0 +1,271 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.SchemaCompatibility;
+import com.azure.resourcemanager.eventhubs.generated.models.SchemaType;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.Map;
+import java.util.UUID;
+
+/**
+ * Single item in List or Get Schema Group operation.
+ */
+@Fluent
+public final class SchemaGroupInner extends ProxyResource {
+ /*
+ * The properties property.
+ */
+ private SchemaGroupProperties innerProperties;
+
+ /*
+ * The system meta data relating to this resource.
+ */
+ private SystemData systemData;
+
+ /*
+ * The geo-location where the resource lives
+ */
+ private String location;
+
+ /*
+ * The type of the resource.
+ */
+ private String type;
+
+ /*
+ * The name of the resource.
+ */
+ private String name;
+
+ /*
+ * Fully qualified resource Id for the resource.
+ */
+ private String id;
+
+ /**
+ * Creates an instance of SchemaGroupInner class.
+ */
+ public SchemaGroupInner() {
+ }
+
+ /**
+ * Get the innerProperties property: The properties property.
+ *
+ * @return the innerProperties value.
+ */
+ private SchemaGroupProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the location property: The geo-location where the resource lives.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Get the type property: The type of the resource.
+ *
+ * @return the type value.
+ */
+ @Override
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Get the name property: The name of the resource.
+ *
+ * @return the name value.
+ */
+ @Override
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the id property: Fully qualified resource Id for the resource.
+ *
+ * @return the id value.
+ */
+ @Override
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Get the updatedAtUtc property: Exact time the Schema Group was updated.
+ *
+ * @return the updatedAtUtc value.
+ */
+ public OffsetDateTime updatedAtUtc() {
+ return this.innerProperties() == null ? null : this.innerProperties().updatedAtUtc();
+ }
+
+ /**
+ * Get the createdAtUtc property: Exact time the Schema Group was created.
+ *
+ * @return the createdAtUtc value.
+ */
+ public OffsetDateTime createdAtUtc() {
+ return this.innerProperties() == null ? null : this.innerProperties().createdAtUtc();
+ }
+
+ /**
+ * Get the etag property: The ETag value.
+ *
+ * @return the etag value.
+ */
+ public UUID etag() {
+ return this.innerProperties() == null ? null : this.innerProperties().etag();
+ }
+
+ /**
+ * Get the groupProperties property: dictionary object for SchemaGroup group properties.
+ *
+ * @return the groupProperties value.
+ */
+ public Map groupProperties() {
+ return this.innerProperties() == null ? null : this.innerProperties().groupProperties();
+ }
+
+ /**
+ * Set the groupProperties property: dictionary object for SchemaGroup group properties.
+ *
+ * @param groupProperties the groupProperties value to set.
+ * @return the SchemaGroupInner object itself.
+ */
+ public SchemaGroupInner withGroupProperties(Map groupProperties) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SchemaGroupProperties();
+ }
+ this.innerProperties().withGroupProperties(groupProperties);
+ return this;
+ }
+
+ /**
+ * Get the schemaCompatibility property: The schemaCompatibility property.
+ *
+ * @return the schemaCompatibility value.
+ */
+ public SchemaCompatibility schemaCompatibility() {
+ return this.innerProperties() == null ? null : this.innerProperties().schemaCompatibility();
+ }
+
+ /**
+ * Set the schemaCompatibility property: The schemaCompatibility property.
+ *
+ * @param schemaCompatibility the schemaCompatibility value to set.
+ * @return the SchemaGroupInner object itself.
+ */
+ public SchemaGroupInner withSchemaCompatibility(SchemaCompatibility schemaCompatibility) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SchemaGroupProperties();
+ }
+ this.innerProperties().withSchemaCompatibility(schemaCompatibility);
+ return this;
+ }
+
+ /**
+ * Get the schemaType property: The schemaType property.
+ *
+ * @return the schemaType value.
+ */
+ public SchemaType schemaType() {
+ return this.innerProperties() == null ? null : this.innerProperties().schemaType();
+ }
+
+ /**
+ * Set the schemaType property: The schemaType property.
+ *
+ * @param schemaType the schemaType value to set.
+ * @return the SchemaGroupInner object itself.
+ */
+ public SchemaGroupInner withSchemaType(SchemaType schemaType) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new SchemaGroupProperties();
+ }
+ this.innerProperties().withSchemaType(schemaType);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.innerProperties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SchemaGroupInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SchemaGroupInner if the JsonReader was pointing to an instance of it, or null if it was
+ * pointing to JSON null.
+ * @throws IllegalStateException If the deserialized JSON object was missing any required properties.
+ * @throws IOException If an error occurs while reading the SchemaGroupInner.
+ */
+ public static SchemaGroupInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SchemaGroupInner deserializedSchemaGroupInner = new SchemaGroupInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedSchemaGroupInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedSchemaGroupInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedSchemaGroupInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedSchemaGroupInner.innerProperties = SchemaGroupProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedSchemaGroupInner.systemData = SystemData.fromJson(reader);
+ } else if ("location".equals(fieldName)) {
+ deserializedSchemaGroupInner.location = reader.getString();
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSchemaGroupInner;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/SchemaGroupProperties.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/SchemaGroupProperties.java
new file mode 100644
index 000000000000..f61e79c437d0
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/SchemaGroupProperties.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.CoreUtils;
+import com.azure.json.JsonReader;
+import com.azure.json.JsonSerializable;
+import com.azure.json.JsonToken;
+import com.azure.json.JsonWriter;
+import com.azure.resourcemanager.eventhubs.generated.models.SchemaCompatibility;
+import com.azure.resourcemanager.eventhubs.generated.models.SchemaType;
+import java.io.IOException;
+import java.time.OffsetDateTime;
+import java.util.Map;
+import java.util.UUID;
+
+/**
+ * The SchemaGroupProperties model.
+ */
+@Fluent
+public final class SchemaGroupProperties implements JsonSerializable {
+ /*
+ * Exact time the Schema Group was updated
+ */
+ private OffsetDateTime updatedAtUtc;
+
+ /*
+ * Exact time the Schema Group was created.
+ */
+ private OffsetDateTime createdAtUtc;
+
+ /*
+ * The ETag value.
+ */
+ private UUID etag;
+
+ /*
+ * dictionary object for SchemaGroup group properties
+ */
+ private Map groupProperties;
+
+ /*
+ * The schemaCompatibility property.
+ */
+ private SchemaCompatibility schemaCompatibility;
+
+ /*
+ * The schemaType property.
+ */
+ private SchemaType schemaType;
+
+ /**
+ * Creates an instance of SchemaGroupProperties class.
+ */
+ public SchemaGroupProperties() {
+ }
+
+ /**
+ * Get the updatedAtUtc property: Exact time the Schema Group was updated.
+ *
+ * @return the updatedAtUtc value.
+ */
+ public OffsetDateTime updatedAtUtc() {
+ return this.updatedAtUtc;
+ }
+
+ /**
+ * Get the createdAtUtc property: Exact time the Schema Group was created.
+ *
+ * @return the createdAtUtc value.
+ */
+ public OffsetDateTime createdAtUtc() {
+ return this.createdAtUtc;
+ }
+
+ /**
+ * Get the etag property: The ETag value.
+ *
+ * @return the etag value.
+ */
+ public UUID etag() {
+ return this.etag;
+ }
+
+ /**
+ * Get the groupProperties property: dictionary object for SchemaGroup group properties.
+ *
+ * @return the groupProperties value.
+ */
+ public Map groupProperties() {
+ return this.groupProperties;
+ }
+
+ /**
+ * Set the groupProperties property: dictionary object for SchemaGroup group properties.
+ *
+ * @param groupProperties the groupProperties value to set.
+ * @return the SchemaGroupProperties object itself.
+ */
+ public SchemaGroupProperties withGroupProperties(Map groupProperties) {
+ this.groupProperties = groupProperties;
+ return this;
+ }
+
+ /**
+ * Get the schemaCompatibility property: The schemaCompatibility property.
+ *
+ * @return the schemaCompatibility value.
+ */
+ public SchemaCompatibility schemaCompatibility() {
+ return this.schemaCompatibility;
+ }
+
+ /**
+ * Set the schemaCompatibility property: The schemaCompatibility property.
+ *
+ * @param schemaCompatibility the schemaCompatibility value to set.
+ * @return the SchemaGroupProperties object itself.
+ */
+ public SchemaGroupProperties withSchemaCompatibility(SchemaCompatibility schemaCompatibility) {
+ this.schemaCompatibility = schemaCompatibility;
+ return this;
+ }
+
+ /**
+ * Get the schemaType property: The schemaType property.
+ *
+ * @return the schemaType value.
+ */
+ public SchemaType schemaType() {
+ return this.schemaType;
+ }
+
+ /**
+ * Set the schemaType property: The schemaType property.
+ *
+ * @param schemaType the schemaType value to set.
+ * @return the SchemaGroupProperties object itself.
+ */
+ public SchemaGroupProperties withSchemaType(SchemaType schemaType) {
+ this.schemaType = schemaType;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeMapField("groupProperties", this.groupProperties,
+ (writer, element) -> writer.writeString(element));
+ jsonWriter.writeStringField("schemaCompatibility",
+ this.schemaCompatibility == null ? null : this.schemaCompatibility.toString());
+ jsonWriter.writeStringField("schemaType", this.schemaType == null ? null : this.schemaType.toString());
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SchemaGroupProperties from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SchemaGroupProperties if the JsonReader was pointing to an instance of it, or null if it
+ * was pointing to JSON null.
+ * @throws IOException If an error occurs while reading the SchemaGroupProperties.
+ */
+ public static SchemaGroupProperties fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SchemaGroupProperties deserializedSchemaGroupProperties = new SchemaGroupProperties();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("updatedAtUtc".equals(fieldName)) {
+ deserializedSchemaGroupProperties.updatedAtUtc = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("createdAtUtc".equals(fieldName)) {
+ deserializedSchemaGroupProperties.createdAtUtc = reader
+ .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ } else if ("eTag".equals(fieldName)) {
+ deserializedSchemaGroupProperties.etag
+ = reader.getNullable(nonNullReader -> UUID.fromString(nonNullReader.getString()));
+ } else if ("groupProperties".equals(fieldName)) {
+ Map groupProperties = reader.readMap(reader1 -> reader1.getString());
+ deserializedSchemaGroupProperties.groupProperties = groupProperties;
+ } else if ("schemaCompatibility".equals(fieldName)) {
+ deserializedSchemaGroupProperties.schemaCompatibility
+ = SchemaCompatibility.fromString(reader.getString());
+ } else if ("schemaType".equals(fieldName)) {
+ deserializedSchemaGroupProperties.schemaType = SchemaType.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSchemaGroupProperties;
+ });
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/package-info.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/package-info.java
new file mode 100644
index 000000000000..686c751d78f4
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/models/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the inner data models for EventHubManagementClient.
+ * Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.
+ */
+package com.azure.resourcemanager.eventhubs.generated.fluent.models;
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/package-info.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/package-info.java
new file mode 100644
index 000000000000..f98609aacc4e
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/fluent/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the service clients for EventHubManagementClient.
+ * Azure Event Hubs client for managing Event Hubs Cluster, IPFilter Rules and VirtualNetworkRules resources.
+ */
+package com.azure.resourcemanager.eventhubs.generated.fluent;
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/AccessKeysImpl.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/AccessKeysImpl.java
new file mode 100644
index 000000000000..22f1df00bc16
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/AccessKeysImpl.java
@@ -0,0 +1,56 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.implementation;
+
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.AccessKeysInner;
+import com.azure.resourcemanager.eventhubs.generated.models.AccessKeys;
+
+public final class AccessKeysImpl implements AccessKeys {
+ private AccessKeysInner innerObject;
+
+ private final com.azure.resourcemanager.eventhubs.generated.EventHubsManager serviceManager;
+
+ AccessKeysImpl(AccessKeysInner innerObject,
+ com.azure.resourcemanager.eventhubs.generated.EventHubsManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String primaryConnectionString() {
+ return this.innerModel().primaryConnectionString();
+ }
+
+ public String secondaryConnectionString() {
+ return this.innerModel().secondaryConnectionString();
+ }
+
+ public String aliasPrimaryConnectionString() {
+ return this.innerModel().aliasPrimaryConnectionString();
+ }
+
+ public String aliasSecondaryConnectionString() {
+ return this.innerModel().aliasSecondaryConnectionString();
+ }
+
+ public String primaryKey() {
+ return this.innerModel().primaryKey();
+ }
+
+ public String secondaryKey() {
+ return this.innerModel().secondaryKey();
+ }
+
+ public String keyName() {
+ return this.innerModel().keyName();
+ }
+
+ public AccessKeysInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.eventhubs.generated.EventHubsManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/ApplicationGroupImpl.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/ApplicationGroupImpl.java
new file mode 100644
index 000000000000..bc058043bcd4
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/ApplicationGroupImpl.java
@@ -0,0 +1,176 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.ApplicationGroupInner;
+import com.azure.resourcemanager.eventhubs.generated.models.ApplicationGroup;
+import com.azure.resourcemanager.eventhubs.generated.models.ApplicationGroupPolicy;
+import java.util.Collections;
+import java.util.List;
+
+public final class ApplicationGroupImpl
+ implements ApplicationGroup, ApplicationGroup.Definition, ApplicationGroup.Update {
+ private ApplicationGroupInner innerObject;
+
+ private final com.azure.resourcemanager.eventhubs.generated.EventHubsManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Boolean isEnabled() {
+ return this.innerModel().isEnabled();
+ }
+
+ public String clientAppGroupIdentifier() {
+ return this.innerModel().clientAppGroupIdentifier();
+ }
+
+ public List policies() {
+ List inner = this.innerModel().policies();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public ApplicationGroupInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.eventhubs.generated.EventHubsManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String namespaceName;
+
+ private String applicationGroupName;
+
+ public ApplicationGroupImpl withExistingNamespace(String resourceGroupName, String namespaceName) {
+ this.resourceGroupName = resourceGroupName;
+ this.namespaceName = namespaceName;
+ return this;
+ }
+
+ public ApplicationGroup create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getApplicationGroups()
+ .createOrUpdateApplicationGroupWithResponse(resourceGroupName, namespaceName, applicationGroupName,
+ this.innerModel(), Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ApplicationGroup create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getApplicationGroups()
+ .createOrUpdateApplicationGroupWithResponse(resourceGroupName, namespaceName, applicationGroupName,
+ this.innerModel(), context)
+ .getValue();
+ return this;
+ }
+
+ ApplicationGroupImpl(String name, com.azure.resourcemanager.eventhubs.generated.EventHubsManager serviceManager) {
+ this.innerObject = new ApplicationGroupInner();
+ this.serviceManager = serviceManager;
+ this.applicationGroupName = name;
+ }
+
+ public ApplicationGroupImpl update() {
+ return this;
+ }
+
+ public ApplicationGroup apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getApplicationGroups()
+ .createOrUpdateApplicationGroupWithResponse(resourceGroupName, namespaceName, applicationGroupName,
+ this.innerModel(), Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ApplicationGroup apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getApplicationGroups()
+ .createOrUpdateApplicationGroupWithResponse(resourceGroupName, namespaceName, applicationGroupName,
+ this.innerModel(), context)
+ .getValue();
+ return this;
+ }
+
+ ApplicationGroupImpl(ApplicationGroupInner innerObject,
+ com.azure.resourcemanager.eventhubs.generated.EventHubsManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.namespaceName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "namespaces");
+ this.applicationGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "applicationGroups");
+ }
+
+ public ApplicationGroup refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getApplicationGroups()
+ .getWithResponse(resourceGroupName, namespaceName, applicationGroupName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public ApplicationGroup refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getApplicationGroups()
+ .getWithResponse(resourceGroupName, namespaceName, applicationGroupName, context)
+ .getValue();
+ return this;
+ }
+
+ public ApplicationGroupImpl withIsEnabled(Boolean isEnabled) {
+ this.innerModel().withIsEnabled(isEnabled);
+ return this;
+ }
+
+ public ApplicationGroupImpl withClientAppGroupIdentifier(String clientAppGroupIdentifier) {
+ this.innerModel().withClientAppGroupIdentifier(clientAppGroupIdentifier);
+ return this;
+ }
+
+ public ApplicationGroupImpl withPolicies(List policies) {
+ this.innerModel().withPolicies(policies);
+ return this;
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/ApplicationGroupsClientImpl.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/ApplicationGroupsClientImpl.java
new file mode 100644
index 000000000000..3a66d548307a
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/ApplicationGroupsClientImpl.java
@@ -0,0 +1,729 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.implementation;
+
+import com.azure.core.annotation.BodyParam;
+import com.azure.core.annotation.Delete;
+import com.azure.core.annotation.ExpectedResponses;
+import com.azure.core.annotation.Get;
+import com.azure.core.annotation.HeaderParam;
+import com.azure.core.annotation.Headers;
+import com.azure.core.annotation.Host;
+import com.azure.core.annotation.HostParam;
+import com.azure.core.annotation.PathParam;
+import com.azure.core.annotation.Put;
+import com.azure.core.annotation.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.eventhubs.generated.fluent.ApplicationGroupsClient;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.ApplicationGroupInner;
+import com.azure.resourcemanager.eventhubs.generated.models.ApplicationGroupListResult;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in ApplicationGroupsClient.
+ */
+public final class ApplicationGroupsClientImpl implements ApplicationGroupsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final ApplicationGroupsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final EventHubManagementClientImpl client;
+
+ /**
+ * Initializes an instance of ApplicationGroupsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ ApplicationGroupsClientImpl(EventHubManagementClientImpl client) {
+ this.service
+ = RestProxy.create(ApplicationGroupsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for EventHubManagementClientApplicationGroups to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "EventHubManagementCl")
+ public interface ApplicationGroupsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/applicationGroups")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByNamespace(@HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("namespaceName") String namespaceName,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/applicationGroups/{applicationGroupName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> createOrUpdateApplicationGroup(@HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("namespaceName") String namespaceName,
+ @PathParam("applicationGroupName") String applicationGroupName,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @BodyParam("application/json") ApplicationGroupInner parameters, @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/applicationGroups/{applicationGroupName}")
+ @ExpectedResponses({ 200, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> delete(@HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("namespaceName") String namespaceName,
+ @PathParam("applicationGroupName") String applicationGroupName,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/applicationGroups/{applicationGroupName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("$host") String endpoint,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("namespaceName") String namespaceName,
+ @PathParam("applicationGroupName") String applicationGroupName,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByNamespaceNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * Gets a list of application groups for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of application groups for a Namespace along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByNamespaceSinglePageAsync(String resourceGroupName,
+ String namespaceName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (namespaceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter namespaceName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByNamespace(this.client.getEndpoint(), resourceGroupName, namespaceName,
+ this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets a list of application groups for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of application groups for a Namespace along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByNamespaceSinglePageAsync(String resourceGroupName,
+ String namespaceName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (namespaceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter namespaceName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByNamespace(this.client.getEndpoint(), resourceGroupName, namespaceName, this.client.getApiVersion(),
+ this.client.getSubscriptionId(), accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+
+ /**
+ * Gets a list of application groups for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of application groups for a Namespace as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByNamespaceAsync(String resourceGroupName, String namespaceName) {
+ return new PagedFlux<>(() -> listByNamespaceSinglePageAsync(resourceGroupName, namespaceName),
+ nextLink -> listByNamespaceNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets a list of application groups for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of application groups for a Namespace as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByNamespaceAsync(String resourceGroupName, String namespaceName,
+ Context context) {
+ return new PagedFlux<>(() -> listByNamespaceSinglePageAsync(resourceGroupName, namespaceName, context),
+ nextLink -> listByNamespaceNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets a list of application groups for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of application groups for a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByNamespace(String resourceGroupName, String namespaceName) {
+ return new PagedIterable<>(listByNamespaceAsync(resourceGroupName, namespaceName));
+ }
+
+ /**
+ * Gets a list of application groups for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of application groups for a Namespace as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByNamespace(String resourceGroupName, String namespaceName,
+ Context context) {
+ return new PagedIterable<>(listByNamespaceAsync(resourceGroupName, namespaceName, context));
+ }
+
+ /**
+ * Creates or updates an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param parameters The ApplicationGroup.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Application Group object along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createOrUpdateApplicationGroupWithResponseAsync(
+ String resourceGroupName, String namespaceName, String applicationGroupName, ApplicationGroupInner parameters) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (namespaceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter namespaceName is required and cannot be null."));
+ }
+ if (applicationGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter applicationGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdateApplicationGroup(this.client.getEndpoint(), resourceGroupName,
+ namespaceName, applicationGroupName, this.client.getApiVersion(), this.client.getSubscriptionId(),
+ parameters, accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates or updates an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param parameters The ApplicationGroup.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Application Group object along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createOrUpdateApplicationGroupWithResponseAsync(
+ String resourceGroupName, String namespaceName, String applicationGroupName, ApplicationGroupInner parameters,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (namespaceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter namespaceName is required and cannot be null."));
+ }
+ if (applicationGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter applicationGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (parameters == null) {
+ return Mono.error(new IllegalArgumentException("Parameter parameters is required and cannot be null."));
+ } else {
+ parameters.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.createOrUpdateApplicationGroup(this.client.getEndpoint(), resourceGroupName, namespaceName,
+ applicationGroupName, this.client.getApiVersion(), this.client.getSubscriptionId(), parameters, accept,
+ context);
+ }
+
+ /**
+ * Creates or updates an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param parameters The ApplicationGroup.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Application Group object on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateApplicationGroupAsync(String resourceGroupName,
+ String namespaceName, String applicationGroupName, ApplicationGroupInner parameters) {
+ return createOrUpdateApplicationGroupWithResponseAsync(resourceGroupName, namespaceName, applicationGroupName,
+ parameters).flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Creates or updates an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param parameters The ApplicationGroup.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Application Group object along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response createOrUpdateApplicationGroupWithResponse(String resourceGroupName,
+ String namespaceName, String applicationGroupName, ApplicationGroupInner parameters, Context context) {
+ return createOrUpdateApplicationGroupWithResponseAsync(resourceGroupName, namespaceName, applicationGroupName,
+ parameters, context).block();
+ }
+
+ /**
+ * Creates or updates an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param parameters The ApplicationGroup.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the Application Group object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApplicationGroupInner createOrUpdateApplicationGroup(String resourceGroupName, String namespaceName,
+ String applicationGroupName, ApplicationGroupInner parameters) {
+ return createOrUpdateApplicationGroupWithResponse(resourceGroupName, namespaceName, applicationGroupName,
+ parameters, Context.NONE).getValue();
+ }
+
+ /**
+ * Deletes an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> deleteWithResponseAsync(String resourceGroupName, String namespaceName,
+ String applicationGroupName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (namespaceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter namespaceName is required and cannot be null."));
+ }
+ if (applicationGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter applicationGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.delete(this.client.getEndpoint(), resourceGroupName, namespaceName,
+ applicationGroupName, this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> deleteWithResponseAsync(String resourceGroupName, String namespaceName,
+ String applicationGroupName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (namespaceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter namespaceName is required and cannot be null."));
+ }
+ if (applicationGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter applicationGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.delete(this.client.getEndpoint(), resourceGroupName, namespaceName, applicationGroupName,
+ this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context);
+ }
+
+ /**
+ * Deletes an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(String resourceGroupName, String namespaceName, String applicationGroupName) {
+ return deleteWithResponseAsync(resourceGroupName, namespaceName, applicationGroupName)
+ .flatMap(ignored -> Mono.empty());
+ }
+
+ /**
+ * Deletes an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteWithResponse(String resourceGroupName, String namespaceName,
+ String applicationGroupName, Context context) {
+ return deleteWithResponseAsync(resourceGroupName, namespaceName, applicationGroupName, context).block();
+ }
+
+ /**
+ * Deletes an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String namespaceName, String applicationGroupName) {
+ deleteWithResponse(resourceGroupName, namespaceName, applicationGroupName, Context.NONE);
+ }
+
+ /**
+ * Gets an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an ApplicationGroup for a Namespace along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName, String namespaceName,
+ String applicationGroupName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (namespaceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter namespaceName is required and cannot be null."));
+ }
+ if (applicationGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter applicationGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), resourceGroupName, namespaceName,
+ applicationGroupName, this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an ApplicationGroup for a Namespace along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName, String namespaceName,
+ String applicationGroupName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (namespaceName == null) {
+ return Mono.error(new IllegalArgumentException("Parameter namespaceName is required and cannot be null."));
+ }
+ if (applicationGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter applicationGroupName is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono.error(new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.get(this.client.getEndpoint(), resourceGroupName, namespaceName, applicationGroupName,
+ this.client.getApiVersion(), this.client.getSubscriptionId(), accept, context);
+ }
+
+ /**
+ * Gets an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an ApplicationGroup for a Namespace on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName, String namespaceName,
+ String applicationGroupName) {
+ return getWithResponseAsync(resourceGroupName, namespaceName, applicationGroupName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an ApplicationGroup for a Namespace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String resourceGroupName, String namespaceName,
+ String applicationGroupName, Context context) {
+ return getWithResponseAsync(resourceGroupName, namespaceName, applicationGroupName, context).block();
+ }
+
+ /**
+ * Gets an ApplicationGroup for a Namespace.
+ *
+ * @param resourceGroupName Name of the resource group within the azure subscription.
+ * @param namespaceName The Namespace name.
+ * @param applicationGroupName The Application Group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an ApplicationGroup for a Namespace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public ApplicationGroupInner get(String resourceGroupName, String namespaceName, String applicationGroupName) {
+ return getWithResponse(resourceGroupName, namespaceName, applicationGroupName, Context.NONE).getValue();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List Application Groups operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByNamespaceNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByNamespaceNext(nextLink, this.client.getEndpoint(), accept, context))
+ .>map(res -> new PagedResponseBase<>(res.getRequest(),
+ res.getStatusCode(), res.getHeaders(), res.getValue().value(), res.getValue().nextLink(), null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response from the List Application Groups operation along with {@link PagedResponse} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByNamespaceNextSinglePageAsync(String nextLink,
+ Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono.error(
+ new IllegalArgumentException("Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service.listByNamespaceNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ res.getValue().value(), res.getValue().nextLink(), null));
+ }
+}
diff --git a/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/ApplicationGroupsImpl.java b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/ApplicationGroupsImpl.java
new file mode 100644
index 000000000000..facb65fd7f60
--- /dev/null
+++ b/sdk/eventhubs/azure-resourcemanager-eventhubs-generated/src/main/java/com/azure/resourcemanager/eventhubs/generated/implementation/ApplicationGroupsImpl.java
@@ -0,0 +1,160 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.eventhubs.generated.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.SimpleResponse;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.eventhubs.generated.fluent.ApplicationGroupsClient;
+import com.azure.resourcemanager.eventhubs.generated.fluent.models.ApplicationGroupInner;
+import com.azure.resourcemanager.eventhubs.generated.models.ApplicationGroup;
+import com.azure.resourcemanager.eventhubs.generated.models.ApplicationGroups;
+
+public final class ApplicationGroupsImpl implements ApplicationGroups {
+ private static final ClientLogger LOGGER = new ClientLogger(ApplicationGroupsImpl.class);
+
+ private final ApplicationGroupsClient innerClient;
+
+ private final com.azure.resourcemanager.eventhubs.generated.EventHubsManager serviceManager;
+
+ public ApplicationGroupsImpl(ApplicationGroupsClient innerClient,
+ com.azure.resourcemanager.eventhubs.generated.EventHubsManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listByNamespace(String resourceGroupName, String namespaceName) {
+ PagedIterable inner
+ = this.serviceClient().listByNamespace(resourceGroupName, namespaceName);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new ApplicationGroupImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByNamespace(String resourceGroupName, String namespaceName,
+ Context context) {
+ PagedIterable inner
+ = this.serviceClient().listByNamespace(resourceGroupName, namespaceName, context);
+ return ResourceManagerUtils.mapPage(inner, inner1 -> new ApplicationGroupImpl(inner1, this.manager()));
+ }
+
+ public Response