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 Discovery service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Discovery service API instance.
+ */
+ public DiscoveryManager 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.discovery")
+ .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 DiscoveryManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /**
+ * 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 Bookshelves. It manages Bookshelf.
+ *
+ * @return Resource collection API of Bookshelves.
+ */
+ public Bookshelves bookshelves() {
+ if (this.bookshelves == null) {
+ this.bookshelves = new BookshelvesImpl(clientObject.getBookshelves(), this);
+ }
+ return bookshelves;
+ }
+
+ /**
+ * Gets the resource collection API of BookshelfPrivateEndpointConnections. It manages
+ * BookshelfPrivateEndpointConnection.
+ *
+ * @return Resource collection API of BookshelfPrivateEndpointConnections.
+ */
+ public BookshelfPrivateEndpointConnections bookshelfPrivateEndpointConnections() {
+ if (this.bookshelfPrivateEndpointConnections == null) {
+ this.bookshelfPrivateEndpointConnections = new BookshelfPrivateEndpointConnectionsImpl(
+ clientObject.getBookshelfPrivateEndpointConnections(), this);
+ }
+ return bookshelfPrivateEndpointConnections;
+ }
+
+ /**
+ * Gets the resource collection API of BookshelfPrivateLinkResources.
+ *
+ * @return Resource collection API of BookshelfPrivateLinkResources.
+ */
+ public BookshelfPrivateLinkResources bookshelfPrivateLinkResources() {
+ if (this.bookshelfPrivateLinkResources == null) {
+ this.bookshelfPrivateLinkResources
+ = new BookshelfPrivateLinkResourcesImpl(clientObject.getBookshelfPrivateLinkResources(), this);
+ }
+ return bookshelfPrivateLinkResources;
+ }
+
+ /**
+ * Gets the resource collection API of Tools. It manages Tool.
+ *
+ * @return Resource collection API of Tools.
+ */
+ public Tools tools() {
+ if (this.tools == null) {
+ this.tools = new ToolsImpl(clientObject.getTools(), this);
+ }
+ return tools;
+ }
+
+ /**
+ * Gets the resource collection API of Projects. It manages Project.
+ *
+ * @return Resource collection API of Projects.
+ */
+ public Projects projects() {
+ if (this.projects == null) {
+ this.projects = new ProjectsImpl(clientObject.getProjects(), this);
+ }
+ return projects;
+ }
+
+ /**
+ * Gets the resource collection API of Workspaces. It manages Workspace.
+ *
+ * @return Resource collection API of Workspaces.
+ */
+ public Workspaces workspaces() {
+ if (this.workspaces == null) {
+ this.workspaces = new WorkspacesImpl(clientObject.getWorkspaces(), this);
+ }
+ return workspaces;
+ }
+
+ /**
+ * Gets the resource collection API of WorkspacePrivateEndpointConnections. It manages
+ * WorkspacePrivateEndpointConnection.
+ *
+ * @return Resource collection API of WorkspacePrivateEndpointConnections.
+ */
+ public WorkspacePrivateEndpointConnections workspacePrivateEndpointConnections() {
+ if (this.workspacePrivateEndpointConnections == null) {
+ this.workspacePrivateEndpointConnections = new WorkspacePrivateEndpointConnectionsImpl(
+ clientObject.getWorkspacePrivateEndpointConnections(), this);
+ }
+ return workspacePrivateEndpointConnections;
+ }
+
+ /**
+ * Gets the resource collection API of ChatModelDeployments. It manages ChatModelDeployment.
+ *
+ * @return Resource collection API of ChatModelDeployments.
+ */
+ public ChatModelDeployments chatModelDeployments() {
+ if (this.chatModelDeployments == null) {
+ this.chatModelDeployments = new ChatModelDeploymentsImpl(clientObject.getChatModelDeployments(), this);
+ }
+ return chatModelDeployments;
+ }
+
+ /**
+ * Gets the resource collection API of WorkspacePrivateLinkResources.
+ *
+ * @return Resource collection API of WorkspacePrivateLinkResources.
+ */
+ public WorkspacePrivateLinkResources workspacePrivateLinkResources() {
+ if (this.workspacePrivateLinkResources == null) {
+ this.workspacePrivateLinkResources
+ = new WorkspacePrivateLinkResourcesImpl(clientObject.getWorkspacePrivateLinkResources(), this);
+ }
+ return workspacePrivateLinkResources;
+ }
+
+ /**
+ * Gets the resource collection API of NodePools. It manages NodePool.
+ *
+ * @return Resource collection API of NodePools.
+ */
+ public NodePools nodePools() {
+ if (this.nodePools == null) {
+ this.nodePools = new NodePoolsImpl(clientObject.getNodePools(), this);
+ }
+ return nodePools;
+ }
+
+ /**
+ * Gets the resource collection API of Supercomputers. It manages Supercomputer.
+ *
+ * @return Resource collection API of Supercomputers.
+ */
+ public Supercomputers supercomputers() {
+ if (this.supercomputers == null) {
+ this.supercomputers = new SupercomputersImpl(clientObject.getSupercomputers(), this);
+ }
+ return supercomputers;
+ }
+
+ /**
+ * Gets the resource collection API of StorageAssets. It manages StorageAsset.
+ *
+ * @return Resource collection API of StorageAssets.
+ */
+ public StorageAssets storageAssets() {
+ if (this.storageAssets == null) {
+ this.storageAssets = new StorageAssetsImpl(clientObject.getStorageAssets(), this);
+ }
+ return storageAssets;
+ }
+
+ /**
+ * Gets the resource collection API of StorageContainers. It manages StorageContainer.
+ *
+ * @return Resource collection API of StorageContainers.
+ */
+ public StorageContainers storageContainers() {
+ if (this.storageContainers == null) {
+ this.storageContainers = new StorageContainersImpl(clientObject.getStorageContainers(), this);
+ }
+ return storageContainers;
+ }
+
+ /**
+ * Gets wrapped service client DiscoveryManagementClient providing direct access to the underlying auto-generated
+ * API implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client DiscoveryManagementClient.
+ */
+ public DiscoveryManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/BookshelfPrivateEndpointConnectionsClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/BookshelfPrivateEndpointConnectionsClient.java
new file mode 100644
index 000000000000..4b0f6fa506a1
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/BookshelfPrivateEndpointConnectionsClient.java
@@ -0,0 +1,217 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.BookshelfPrivateEndpointConnectionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in BookshelfPrivateEndpointConnectionsClient.
+ */
+public interface BookshelfPrivateEndpointConnectionsClient {
+ /**
+ * Gets the specified private endpoint connection associated with the bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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 specified private endpoint connection associated with the bookshelf along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, Context context);
+
+ /**
+ * Gets the specified private endpoint connection associated with the bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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 specified private endpoint connection associated with the bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookshelfPrivateEndpointConnectionInner get(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName);
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 the Private Endpoint Connection resource for Bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, BookshelfPrivateEndpointConnectionInner>
+ beginCreateOrUpdate(String resourceGroupName, String bookshelfName, String privateEndpointConnectionName,
+ BookshelfPrivateEndpointConnectionInner resource);
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 the Private Endpoint Connection resource for Bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, BookshelfPrivateEndpointConnectionInner>
+ beginCreateOrUpdate(String resourceGroupName, String bookshelfName, String privateEndpointConnectionName,
+ BookshelfPrivateEndpointConnectionInner resource, Context context);
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 Private Endpoint Connection resource for Bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookshelfPrivateEndpointConnectionInner createOrUpdate(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, BookshelfPrivateEndpointConnectionInner resource);
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 Private Endpoint Connection resource for Bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookshelfPrivateEndpointConnectionInner createOrUpdate(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, BookshelfPrivateEndpointConnectionInner resource, Context context);
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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, Void> beginDelete(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName);
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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, Void> beginDelete(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, Context context);
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String bookshelfName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String bookshelfName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Lists all private endpoint connections for a bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 a BookshelfPrivateEndpointConnection list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByBookshelf(String resourceGroupName,
+ String bookshelfName);
+
+ /**
+ * Lists all private endpoint connections for a bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 a BookshelfPrivateEndpointConnection list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByBookshelf(String resourceGroupName,
+ String bookshelfName, Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/BookshelfPrivateLinkResourcesClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/BookshelfPrivateLinkResourcesClient.java
new file mode 100644
index 000000000000..04934aadf716
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/BookshelfPrivateLinkResourcesClient.java
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.BookshelfPrivateLinkResourceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in BookshelfPrivateLinkResourcesClient.
+ */
+public interface BookshelfPrivateLinkResourcesClient {
+ /**
+ * Gets the specified private link resource for the bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateLinkResourceName The name of the private link associated with the Azure 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 specified private link resource for the bookshelf along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String bookshelfName,
+ String privateLinkResourceName, Context context);
+
+ /**
+ * Gets the specified private link resource for the bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateLinkResourceName The name of the private link associated with the Azure 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 specified private link resource for the bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookshelfPrivateLinkResourceInner get(String resourceGroupName, String bookshelfName,
+ String privateLinkResourceName);
+
+ /**
+ * Lists all private link resources for the bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 a BookshelfPrivateLinkResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByBookshelf(String resourceGroupName, String bookshelfName);
+
+ /**
+ * Lists all private link resources for the bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 a BookshelfPrivateLinkResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByBookshelf(String resourceGroupName, String bookshelfName,
+ Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/BookshelvesClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/BookshelvesClient.java
new file mode 100644
index 000000000000..fc878d33b2f7
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/BookshelvesClient.java
@@ -0,0 +1,267 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.BookshelfInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in BookshelvesClient.
+ */
+public interface BookshelvesClient {
+ /**
+ * Get a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 Bookshelf along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String bookshelfName,
+ Context context);
+
+ /**
+ * Get a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 Bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookshelfInner getByResourceGroup(String resourceGroupName, String bookshelfName);
+
+ /**
+ * Create a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param resource Resource create parameters.
+ * @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 bookshelf tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, BookshelfInner> beginCreateOrUpdate(String resourceGroupName,
+ String bookshelfName, BookshelfInner resource);
+
+ /**
+ * Create a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param resource Resource create parameters.
+ * @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 bookshelf tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, BookshelfInner> beginCreateOrUpdate(String resourceGroupName,
+ String bookshelfName, BookshelfInner resource, Context context);
+
+ /**
+ * Create a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param resource Resource create parameters.
+ * @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 bookshelf tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookshelfInner createOrUpdate(String resourceGroupName, String bookshelfName, BookshelfInner resource);
+
+ /**
+ * Create a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param resource Resource create parameters.
+ * @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 bookshelf tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookshelfInner createOrUpdate(String resourceGroupName, String bookshelfName, BookshelfInner resource,
+ Context context);
+
+ /**
+ * Update a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param properties The resource properties to 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 bookshelf tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, BookshelfInner> beginUpdate(String resourceGroupName, String bookshelfName,
+ BookshelfInner properties);
+
+ /**
+ * Update a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param properties The resource properties to 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 bookshelf tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, BookshelfInner> beginUpdate(String resourceGroupName, String bookshelfName,
+ BookshelfInner properties, Context context);
+
+ /**
+ * Update a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param properties The resource properties to 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 bookshelf tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookshelfInner update(String resourceGroupName, String bookshelfName, BookshelfInner properties);
+
+ /**
+ * Update a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param properties The resource properties to 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 bookshelf tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BookshelfInner update(String resourceGroupName, String bookshelfName, BookshelfInner properties, Context context);
+
+ /**
+ * Delete a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 bookshelfName);
+
+ /**
+ * Delete a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 bookshelfName, Context context);
+
+ /**
+ * Delete a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 bookshelfName);
+
+ /**
+ * Delete a Bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 bookshelfName, Context context);
+
+ /**
+ * List Bookshelf resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 a Bookshelf list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List Bookshelf resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 a Bookshelf list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List Bookshelf resources by subscription ID.
+ *
+ * @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 a Bookshelf list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List Bookshelf resources by subscription ID.
+ *
+ * @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 a Bookshelf list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/ChatModelDeploymentsClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/ChatModelDeploymentsClient.java
new file mode 100644
index 000000000000..08d015b9d1d3
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/ChatModelDeploymentsClient.java
@@ -0,0 +1,277 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.ChatModelDeploymentInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ChatModelDeploymentsClient.
+ */
+public interface ChatModelDeploymentsClient {
+ /**
+ * Get a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @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 ChatModelDeployment along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String workspaceName,
+ String chatModelDeploymentName, Context context);
+
+ /**
+ * Get a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @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 ChatModelDeployment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ChatModelDeploymentInner get(String resourceGroupName, String workspaceName, String chatModelDeploymentName);
+
+ /**
+ * Create a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @param resource Resource create parameters.
+ * @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 represents a deployment that ties a specific model family to a user
+ * defined deployment name used when invoking the chat model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ChatModelDeploymentInner> beginCreateOrUpdate(
+ String resourceGroupName, String workspaceName, String chatModelDeploymentName,
+ ChatModelDeploymentInner resource);
+
+ /**
+ * Create a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @param resource Resource create parameters.
+ * @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 represents a deployment that ties a specific model family to a user
+ * defined deployment name used when invoking the chat model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ChatModelDeploymentInner> beginCreateOrUpdate(
+ String resourceGroupName, String workspaceName, String chatModelDeploymentName,
+ ChatModelDeploymentInner resource, Context context);
+
+ /**
+ * Create a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @param resource Resource create parameters.
+ * @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 represents a deployment that ties a specific model family to a user defined deployment name used when
+ * invoking the chat model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ChatModelDeploymentInner createOrUpdate(String resourceGroupName, String workspaceName,
+ String chatModelDeploymentName, ChatModelDeploymentInner resource);
+
+ /**
+ * Create a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @param resource Resource create parameters.
+ * @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 represents a deployment that ties a specific model family to a user defined deployment name used when
+ * invoking the chat model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ChatModelDeploymentInner createOrUpdate(String resourceGroupName, String workspaceName,
+ String chatModelDeploymentName, ChatModelDeploymentInner resource, Context context);
+
+ /**
+ * Update a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @param properties The resource properties to 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 represents a deployment that ties a specific model family to a user
+ * defined deployment name used when invoking the chat model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ChatModelDeploymentInner> beginUpdate(String resourceGroupName,
+ String workspaceName, String chatModelDeploymentName, ChatModelDeploymentInner properties);
+
+ /**
+ * Update a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @param properties The resource properties to 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 represents a deployment that ties a specific model family to a user
+ * defined deployment name used when invoking the chat model.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ChatModelDeploymentInner> beginUpdate(String resourceGroupName,
+ String workspaceName, String chatModelDeploymentName, ChatModelDeploymentInner properties, Context context);
+
+ /**
+ * Update a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @param properties The resource properties to 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 represents a deployment that ties a specific model family to a user defined deployment name used when
+ * invoking the chat model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ChatModelDeploymentInner update(String resourceGroupName, String workspaceName, String chatModelDeploymentName,
+ ChatModelDeploymentInner properties);
+
+ /**
+ * Update a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @param properties The resource properties to 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 represents a deployment that ties a specific model family to a user defined deployment name used when
+ * invoking the chat model.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ChatModelDeploymentInner update(String resourceGroupName, String workspaceName, String chatModelDeploymentName,
+ ChatModelDeploymentInner properties, Context context);
+
+ /**
+ * Delete a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @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 workspaceName,
+ String chatModelDeploymentName);
+
+ /**
+ * Delete a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @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 workspaceName,
+ String chatModelDeploymentName, Context context);
+
+ /**
+ * Delete a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @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 workspaceName, String chatModelDeploymentName);
+
+ /**
+ * Delete a ChatModelDeployment.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param chatModelDeploymentName The name of the ChatModelDeployment.
+ * @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 workspaceName, String chatModelDeploymentName, Context context);
+
+ /**
+ * List ChatModelDeployment resources by Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 a ChatModelDeployment list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByWorkspace(String resourceGroupName, String workspaceName);
+
+ /**
+ * List ChatModelDeployment resources by Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 a ChatModelDeployment list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByWorkspace(String resourceGroupName, String workspaceName,
+ Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/DiscoveryManagementClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/DiscoveryManagementClient.java
new file mode 100644
index 000000000000..afbdea58e768
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/DiscoveryManagementClient.java
@@ -0,0 +1,146 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/**
+ * The interface for DiscoveryManagementClient class.
+ */
+public interface DiscoveryManagementClient {
+ /**
+ * Gets Service host.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Version parameter.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The ID of the target subscription. The value must be an UUID.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * 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 OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the BookshelvesClient object to access its operations.
+ *
+ * @return the BookshelvesClient object.
+ */
+ BookshelvesClient getBookshelves();
+
+ /**
+ * Gets the BookshelfPrivateEndpointConnectionsClient object to access its operations.
+ *
+ * @return the BookshelfPrivateEndpointConnectionsClient object.
+ */
+ BookshelfPrivateEndpointConnectionsClient getBookshelfPrivateEndpointConnections();
+
+ /**
+ * Gets the BookshelfPrivateLinkResourcesClient object to access its operations.
+ *
+ * @return the BookshelfPrivateLinkResourcesClient object.
+ */
+ BookshelfPrivateLinkResourcesClient getBookshelfPrivateLinkResources();
+
+ /**
+ * Gets the ToolsClient object to access its operations.
+ *
+ * @return the ToolsClient object.
+ */
+ ToolsClient getTools();
+
+ /**
+ * Gets the ProjectsClient object to access its operations.
+ *
+ * @return the ProjectsClient object.
+ */
+ ProjectsClient getProjects();
+
+ /**
+ * Gets the WorkspacesClient object to access its operations.
+ *
+ * @return the WorkspacesClient object.
+ */
+ WorkspacesClient getWorkspaces();
+
+ /**
+ * Gets the WorkspacePrivateEndpointConnectionsClient object to access its operations.
+ *
+ * @return the WorkspacePrivateEndpointConnectionsClient object.
+ */
+ WorkspacePrivateEndpointConnectionsClient getWorkspacePrivateEndpointConnections();
+
+ /**
+ * Gets the ChatModelDeploymentsClient object to access its operations.
+ *
+ * @return the ChatModelDeploymentsClient object.
+ */
+ ChatModelDeploymentsClient getChatModelDeployments();
+
+ /**
+ * Gets the WorkspacePrivateLinkResourcesClient object to access its operations.
+ *
+ * @return the WorkspacePrivateLinkResourcesClient object.
+ */
+ WorkspacePrivateLinkResourcesClient getWorkspacePrivateLinkResources();
+
+ /**
+ * Gets the NodePoolsClient object to access its operations.
+ *
+ * @return the NodePoolsClient object.
+ */
+ NodePoolsClient getNodePools();
+
+ /**
+ * Gets the SupercomputersClient object to access its operations.
+ *
+ * @return the SupercomputersClient object.
+ */
+ SupercomputersClient getSupercomputers();
+
+ /**
+ * Gets the StorageAssetsClient object to access its operations.
+ *
+ * @return the StorageAssetsClient object.
+ */
+ StorageAssetsClient getStorageAssets();
+
+ /**
+ * Gets the StorageContainersClient object to access its operations.
+ *
+ * @return the StorageContainersClient object.
+ */
+ StorageContainersClient getStorageContainers();
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/NodePoolsClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/NodePoolsClient.java
new file mode 100644
index 000000000000..019165d826c3
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/NodePoolsClient.java
@@ -0,0 +1,267 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.NodePoolInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in NodePoolsClient.
+ */
+public interface NodePoolsClient {
+ /**
+ * Get a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @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 NodePool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String supercomputerName, String nodePoolName,
+ Context context);
+
+ /**
+ * Get a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @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 NodePool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NodePoolInner get(String resourceGroupName, String supercomputerName, String nodePoolName);
+
+ /**
+ * Create a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @param resource Resource create parameters.
+ * @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 nodePool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NodePoolInner> beginCreateOrUpdate(String resourceGroupName,
+ String supercomputerName, String nodePoolName, NodePoolInner resource);
+
+ /**
+ * Create a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @param resource Resource create parameters.
+ * @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 nodePool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NodePoolInner> beginCreateOrUpdate(String resourceGroupName,
+ String supercomputerName, String nodePoolName, NodePoolInner resource, Context context);
+
+ /**
+ * Create a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @param resource Resource create parameters.
+ * @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 nodePool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NodePoolInner createOrUpdate(String resourceGroupName, String supercomputerName, String nodePoolName,
+ NodePoolInner resource);
+
+ /**
+ * Create a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @param resource Resource create parameters.
+ * @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 nodePool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NodePoolInner createOrUpdate(String resourceGroupName, String supercomputerName, String nodePoolName,
+ NodePoolInner resource, Context context);
+
+ /**
+ * Update a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @param properties The resource properties to 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 nodePool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NodePoolInner> beginUpdate(String resourceGroupName, String supercomputerName,
+ String nodePoolName, NodePoolInner properties);
+
+ /**
+ * Update a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @param properties The resource properties to 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 nodePool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, NodePoolInner> beginUpdate(String resourceGroupName, String supercomputerName,
+ String nodePoolName, NodePoolInner properties, Context context);
+
+ /**
+ * Update a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @param properties The resource properties to 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 nodePool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NodePoolInner update(String resourceGroupName, String supercomputerName, String nodePoolName,
+ NodePoolInner properties);
+
+ /**
+ * Update a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @param properties The resource properties to 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 nodePool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ NodePoolInner update(String resourceGroupName, String supercomputerName, String nodePoolName,
+ NodePoolInner properties, Context context);
+
+ /**
+ * Delete a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @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 supercomputerName,
+ String nodePoolName);
+
+ /**
+ * Delete a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @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 supercomputerName,
+ String nodePoolName, Context context);
+
+ /**
+ * Delete a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @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 supercomputerName, String nodePoolName);
+
+ /**
+ * Delete a NodePool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param nodePoolName The name of the NodePool.
+ * @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 supercomputerName, String nodePoolName, Context context);
+
+ /**
+ * List NodePool resources by Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @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 a NodePool list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySupercomputer(String resourceGroupName, String supercomputerName);
+
+ /**
+ * List NodePool resources by Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @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 a NodePool list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySupercomputer(String resourceGroupName, String supercomputerName,
+ Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/OperationsClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/OperationsClient.java
new file mode 100644
index 000000000000..c3f0fd052408
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/OperationsClient.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.OperationInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in OperationsClient.
+ */
+public interface OperationsClient {
+ /**
+ * List the operations for the provider.
+ *
+ * @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 REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List the operations for the provider.
+ *
+ * @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 REST API operations supported by an Azure Resource Provider as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/ProjectsClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/ProjectsClient.java
new file mode 100644
index 000000000000..f55bfcac3d78
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/ProjectsClient.java
@@ -0,0 +1,264 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.ProjectInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ProjectsClient.
+ */
+public interface ProjectsClient {
+ /**
+ * Get a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @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 Project along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String workspaceName, String projectName,
+ Context context);
+
+ /**
+ * Get a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @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 Project.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProjectInner get(String resourceGroupName, String workspaceName, String projectName);
+
+ /**
+ * Create a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @param resource Resource create parameters.
+ * @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 project tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProjectInner> beginCreateOrUpdate(String resourceGroupName,
+ String workspaceName, String projectName, ProjectInner resource);
+
+ /**
+ * Create a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @param resource Resource create parameters.
+ * @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 project tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProjectInner> beginCreateOrUpdate(String resourceGroupName,
+ String workspaceName, String projectName, ProjectInner resource, Context context);
+
+ /**
+ * Create a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @param resource Resource create parameters.
+ * @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 project tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProjectInner createOrUpdate(String resourceGroupName, String workspaceName, String projectName,
+ ProjectInner resource);
+
+ /**
+ * Create a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @param resource Resource create parameters.
+ * @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 project tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProjectInner createOrUpdate(String resourceGroupName, String workspaceName, String projectName,
+ ProjectInner resource, Context context);
+
+ /**
+ * Update a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @param properties The resource properties to 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 project tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProjectInner> beginUpdate(String resourceGroupName, String workspaceName,
+ String projectName, ProjectInner properties);
+
+ /**
+ * Update a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @param properties The resource properties to 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 project tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ProjectInner> beginUpdate(String resourceGroupName, String workspaceName,
+ String projectName, ProjectInner properties, Context context);
+
+ /**
+ * Update a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @param properties The resource properties to 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 project tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProjectInner update(String resourceGroupName, String workspaceName, String projectName, ProjectInner properties);
+
+ /**
+ * Update a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @param properties The resource properties to 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 project tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ProjectInner update(String resourceGroupName, String workspaceName, String projectName, ProjectInner properties,
+ Context context);
+
+ /**
+ * Delete a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @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 workspaceName, String projectName);
+
+ /**
+ * Delete a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @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 workspaceName, String projectName,
+ Context context);
+
+ /**
+ * Delete a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @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 workspaceName, String projectName);
+
+ /**
+ * Delete a Project.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param projectName The name of the Project.
+ * @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 workspaceName, String projectName, Context context);
+
+ /**
+ * List Project resources by Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 a Project list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByWorkspace(String resourceGroupName, String workspaceName);
+
+ /**
+ * List Project resources by Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 a Project list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByWorkspace(String resourceGroupName, String workspaceName, Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/StorageAssetsClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/StorageAssetsClient.java
new file mode 100644
index 000000000000..a10524b35a44
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/StorageAssetsClient.java
@@ -0,0 +1,267 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.StorageAssetInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in StorageAssetsClient.
+ */
+public interface StorageAssetsClient {
+ /**
+ * Get a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @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 StorageAsset along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String storageContainerName,
+ String storageAssetName, Context context);
+
+ /**
+ * Get a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @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 StorageAsset.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageAssetInner get(String resourceGroupName, String storageContainerName, String storageAssetName);
+
+ /**
+ * Create a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @param resource Resource create parameters.
+ * @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 storage Asset tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, StorageAssetInner> beginCreateOrUpdate(String resourceGroupName,
+ String storageContainerName, String storageAssetName, StorageAssetInner resource);
+
+ /**
+ * Create a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @param resource Resource create parameters.
+ * @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 storage Asset tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, StorageAssetInner> beginCreateOrUpdate(String resourceGroupName,
+ String storageContainerName, String storageAssetName, StorageAssetInner resource, Context context);
+
+ /**
+ * Create a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @param resource Resource create parameters.
+ * @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 storage Asset tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageAssetInner createOrUpdate(String resourceGroupName, String storageContainerName, String storageAssetName,
+ StorageAssetInner resource);
+
+ /**
+ * Create a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @param resource Resource create parameters.
+ * @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 storage Asset tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageAssetInner createOrUpdate(String resourceGroupName, String storageContainerName, String storageAssetName,
+ StorageAssetInner resource, Context context);
+
+ /**
+ * Update a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @param properties The resource properties to 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 storage Asset tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, StorageAssetInner> beginUpdate(String resourceGroupName,
+ String storageContainerName, String storageAssetName, StorageAssetInner properties);
+
+ /**
+ * Update a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @param properties The resource properties to 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 storage Asset tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, StorageAssetInner> beginUpdate(String resourceGroupName,
+ String storageContainerName, String storageAssetName, StorageAssetInner properties, Context context);
+
+ /**
+ * Update a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @param properties The resource properties to 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 storage Asset tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageAssetInner update(String resourceGroupName, String storageContainerName, String storageAssetName,
+ StorageAssetInner properties);
+
+ /**
+ * Update a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @param properties The resource properties to 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 storage Asset tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageAssetInner update(String resourceGroupName, String storageContainerName, String storageAssetName,
+ StorageAssetInner properties, Context context);
+
+ /**
+ * Delete a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @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 storageContainerName,
+ String storageAssetName);
+
+ /**
+ * Delete a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @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 storageContainerName,
+ String storageAssetName, Context context);
+
+ /**
+ * Delete a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @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 storageContainerName, String storageAssetName);
+
+ /**
+ * Delete a StorageAsset.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param storageAssetName The name of the StorageAsset.
+ * @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 storageContainerName, String storageAssetName, Context context);
+
+ /**
+ * List StorageAsset resources by StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @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 a StorageAsset list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByStorageContainer(String resourceGroupName, String storageContainerName);
+
+ /**
+ * List StorageAsset resources by StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @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 a StorageAsset list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByStorageContainer(String resourceGroupName, String storageContainerName,
+ Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/StorageContainersClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/StorageContainersClient.java
new file mode 100644
index 000000000000..d5a15ff23cb8
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/StorageContainersClient.java
@@ -0,0 +1,271 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.StorageContainerInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in StorageContainersClient.
+ */
+public interface StorageContainersClient {
+ /**
+ * Get a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @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 StorageContainer along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName,
+ String storageContainerName, Context context);
+
+ /**
+ * Get a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @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 StorageContainer.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageContainerInner getByResourceGroup(String resourceGroupName, String storageContainerName);
+
+ /**
+ * Create a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param resource Resource create parameters.
+ * @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 storage Container tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, StorageContainerInner> beginCreateOrUpdate(String resourceGroupName,
+ String storageContainerName, StorageContainerInner resource);
+
+ /**
+ * Create a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param resource Resource create parameters.
+ * @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 storage Container tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, StorageContainerInner> beginCreateOrUpdate(String resourceGroupName,
+ String storageContainerName, StorageContainerInner resource, Context context);
+
+ /**
+ * Create a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param resource Resource create parameters.
+ * @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 storage Container tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageContainerInner createOrUpdate(String resourceGroupName, String storageContainerName,
+ StorageContainerInner resource);
+
+ /**
+ * Create a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param resource Resource create parameters.
+ * @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 storage Container tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageContainerInner createOrUpdate(String resourceGroupName, String storageContainerName,
+ StorageContainerInner resource, Context context);
+
+ /**
+ * Update a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param properties The resource properties to 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 storage Container tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, StorageContainerInner> beginUpdate(String resourceGroupName,
+ String storageContainerName, StorageContainerInner properties);
+
+ /**
+ * Update a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param properties The resource properties to 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 storage Container tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, StorageContainerInner> beginUpdate(String resourceGroupName,
+ String storageContainerName, StorageContainerInner properties, Context context);
+
+ /**
+ * Update a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param properties The resource properties to 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 storage Container tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageContainerInner update(String resourceGroupName, String storageContainerName,
+ StorageContainerInner properties);
+
+ /**
+ * Update a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @param properties The resource properties to 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 storage Container tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ StorageContainerInner update(String resourceGroupName, String storageContainerName,
+ StorageContainerInner properties, Context context);
+
+ /**
+ * Delete a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @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 storageContainerName);
+
+ /**
+ * Delete a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @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 storageContainerName,
+ Context context);
+
+ /**
+ * Delete a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @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 storageContainerName);
+
+ /**
+ * Delete a StorageContainer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param storageContainerName The name of the StorageContainer.
+ * @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 storageContainerName, Context context);
+
+ /**
+ * List StorageContainer resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 a StorageContainer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List StorageContainer resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 a StorageContainer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List StorageContainer resources by subscription ID.
+ *
+ * @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 a StorageContainer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List StorageContainer resources by subscription ID.
+ *
+ * @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 a StorageContainer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/SupercomputersClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/SupercomputersClient.java
new file mode 100644
index 000000000000..358ad3d256d2
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/SupercomputersClient.java
@@ -0,0 +1,268 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.SupercomputerInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in SupercomputersClient.
+ */
+public interface SupercomputersClient {
+ /**
+ * Get a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @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 Supercomputer along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String supercomputerName,
+ Context context);
+
+ /**
+ * Get a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @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 Supercomputer.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SupercomputerInner getByResourceGroup(String resourceGroupName, String supercomputerName);
+
+ /**
+ * Create a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param resource Resource create parameters.
+ * @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 supercomputer tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SupercomputerInner> beginCreateOrUpdate(String resourceGroupName,
+ String supercomputerName, SupercomputerInner resource);
+
+ /**
+ * Create a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param resource Resource create parameters.
+ * @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 supercomputer tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SupercomputerInner> beginCreateOrUpdate(String resourceGroupName,
+ String supercomputerName, SupercomputerInner resource, Context context);
+
+ /**
+ * Create a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param resource Resource create parameters.
+ * @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 supercomputer tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SupercomputerInner createOrUpdate(String resourceGroupName, String supercomputerName, SupercomputerInner resource);
+
+ /**
+ * Create a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param resource Resource create parameters.
+ * @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 supercomputer tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SupercomputerInner createOrUpdate(String resourceGroupName, String supercomputerName, SupercomputerInner resource,
+ Context context);
+
+ /**
+ * Update a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param properties The resource properties to 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 supercomputer tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SupercomputerInner> beginUpdate(String resourceGroupName,
+ String supercomputerName, SupercomputerInner properties);
+
+ /**
+ * Update a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param properties The resource properties to 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 supercomputer tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, SupercomputerInner> beginUpdate(String resourceGroupName,
+ String supercomputerName, SupercomputerInner properties, Context context);
+
+ /**
+ * Update a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param properties The resource properties to 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 supercomputer tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SupercomputerInner update(String resourceGroupName, String supercomputerName, SupercomputerInner properties);
+
+ /**
+ * Update a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @param properties The resource properties to 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 supercomputer tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SupercomputerInner update(String resourceGroupName, String supercomputerName, SupercomputerInner properties,
+ Context context);
+
+ /**
+ * Delete a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @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 supercomputerName);
+
+ /**
+ * Delete a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @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 supercomputerName, Context context);
+
+ /**
+ * Delete a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @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 supercomputerName);
+
+ /**
+ * Delete a Supercomputer.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param supercomputerName The name of the Supercomputer.
+ * @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 supercomputerName, Context context);
+
+ /**
+ * List Supercomputer resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 a Supercomputer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List Supercomputer resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 a Supercomputer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List Supercomputer resources by subscription ID.
+ *
+ * @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 a Supercomputer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List Supercomputer resources by subscription ID.
+ *
+ * @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 a Supercomputer list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/ToolsClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/ToolsClient.java
new file mode 100644
index 000000000000..adb8366e8519
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/ToolsClient.java
@@ -0,0 +1,265 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.ToolInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ToolsClient.
+ */
+public interface ToolsClient {
+ /**
+ * Get a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @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 Tool along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String toolName, Context context);
+
+ /**
+ * Get a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @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 Tool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ToolInner getByResourceGroup(String resourceGroupName, String toolName);
+
+ /**
+ * Create a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @param resource Resource create parameters.
+ * @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 tool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ToolInner> beginCreateOrUpdate(String resourceGroupName, String toolName,
+ ToolInner resource);
+
+ /**
+ * Create a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @param resource Resource create parameters.
+ * @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 tool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ToolInner> beginCreateOrUpdate(String resourceGroupName, String toolName,
+ ToolInner resource, Context context);
+
+ /**
+ * Create a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @param resource Resource create parameters.
+ * @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 tool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ToolInner createOrUpdate(String resourceGroupName, String toolName, ToolInner resource);
+
+ /**
+ * Create a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @param resource Resource create parameters.
+ * @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 tool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ToolInner createOrUpdate(String resourceGroupName, String toolName, ToolInner resource, Context context);
+
+ /**
+ * Update a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @param properties The resource properties to 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 tool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ToolInner> beginUpdate(String resourceGroupName, String toolName,
+ ToolInner properties);
+
+ /**
+ * Update a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @param properties The resource properties to 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 tool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ToolInner> beginUpdate(String resourceGroupName, String toolName,
+ ToolInner properties, Context context);
+
+ /**
+ * Update a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @param properties The resource properties to 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 tool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ToolInner update(String resourceGroupName, String toolName, ToolInner properties);
+
+ /**
+ * Update a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @param properties The resource properties to 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 tool tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ToolInner update(String resourceGroupName, String toolName, ToolInner properties, Context context);
+
+ /**
+ * Delete a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @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 toolName);
+
+ /**
+ * Delete a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @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 toolName, Context context);
+
+ /**
+ * Delete a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @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 toolName);
+
+ /**
+ * Delete a Tool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param toolName The name of the Tool.
+ * @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 toolName, Context context);
+
+ /**
+ * List Tool resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 a Tool list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List Tool resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 a Tool list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List Tool resources by subscription ID.
+ *
+ * @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 a Tool list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List Tool resources by subscription ID.
+ *
+ * @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 a Tool list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/WorkspacePrivateEndpointConnectionsClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/WorkspacePrivateEndpointConnectionsClient.java
new file mode 100644
index 000000000000..93c73c3aa330
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/WorkspacePrivateEndpointConnectionsClient.java
@@ -0,0 +1,217 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.WorkspacePrivateEndpointConnectionInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in WorkspacePrivateEndpointConnectionsClient.
+ */
+public interface WorkspacePrivateEndpointConnectionsClient {
+ /**
+ * Gets the specified private endpoint connection associated with the workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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 specified private endpoint connection associated with the workspace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String workspaceName,
+ String privateEndpointConnectionName, Context context);
+
+ /**
+ * Gets the specified private endpoint connection associated with the workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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 specified private endpoint connection associated with the workspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspacePrivateEndpointConnectionInner get(String resourceGroupName, String workspaceName,
+ String privateEndpointConnectionName);
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 the Private Endpoint Connection resource for Workspace.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WorkspacePrivateEndpointConnectionInner>
+ beginCreateOrUpdate(String resourceGroupName, String workspaceName, String privateEndpointConnectionName,
+ WorkspacePrivateEndpointConnectionInner resource);
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 the Private Endpoint Connection resource for Workspace.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WorkspacePrivateEndpointConnectionInner>
+ beginCreateOrUpdate(String resourceGroupName, String workspaceName, String privateEndpointConnectionName,
+ WorkspacePrivateEndpointConnectionInner resource, Context context);
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 Private Endpoint Connection resource for Workspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspacePrivateEndpointConnectionInner createOrUpdate(String resourceGroupName, String workspaceName,
+ String privateEndpointConnectionName, WorkspacePrivateEndpointConnectionInner resource);
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 Private Endpoint Connection resource for Workspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspacePrivateEndpointConnectionInner createOrUpdate(String resourceGroupName, String workspaceName,
+ String privateEndpointConnectionName, WorkspacePrivateEndpointConnectionInner resource, Context context);
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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, Void> beginDelete(String resourceGroupName, String workspaceName,
+ String privateEndpointConnectionName);
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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, Void> beginDelete(String resourceGroupName, String workspaceName,
+ String privateEndpointConnectionName, Context context);
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Lists all private endpoint connections for a workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 a WorkspacePrivateEndpointConnection list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByWorkspace(String resourceGroupName,
+ String workspaceName);
+
+ /**
+ * Lists all private endpoint connections for a workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 a WorkspacePrivateEndpointConnection list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByWorkspace(String resourceGroupName,
+ String workspaceName, Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/WorkspacePrivateLinkResourcesClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/WorkspacePrivateLinkResourcesClient.java
new file mode 100644
index 000000000000..be93e7cf47dd
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/WorkspacePrivateLinkResourcesClient.java
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.WorkspacePrivateLinkResourceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in WorkspacePrivateLinkResourcesClient.
+ */
+public interface WorkspacePrivateLinkResourcesClient {
+ /**
+ * Gets the specified private link resource for the workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateLinkResourceName The name of the private link associated with the Azure 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 specified private link resource for the workspace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String workspaceName,
+ String privateLinkResourceName, Context context);
+
+ /**
+ * Gets the specified private link resource for the workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param privateLinkResourceName The name of the private link associated with the Azure 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 specified private link resource for the workspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspacePrivateLinkResourceInner get(String resourceGroupName, String workspaceName,
+ String privateLinkResourceName);
+
+ /**
+ * Lists all private link resources for the workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 a WorkspacePrivateLinkResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByWorkspace(String resourceGroupName, String workspaceName);
+
+ /**
+ * Lists all private link resources for the workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 a WorkspacePrivateLinkResource list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByWorkspace(String resourceGroupName, String workspaceName,
+ Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/WorkspacesClient.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/WorkspacesClient.java
new file mode 100644
index 000000000000..9dda5105beb2
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/WorkspacesClient.java
@@ -0,0 +1,267 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.models.WorkspaceInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in WorkspacesClient.
+ */
+public interface WorkspacesClient {
+ /**
+ * Get a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 Workspace along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(String resourceGroupName, String workspaceName,
+ Context context);
+
+ /**
+ * Get a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 Workspace.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceInner getByResourceGroup(String resourceGroupName, String workspaceName);
+
+ /**
+ * Create a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param resource Resource create parameters.
+ * @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 workspace tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WorkspaceInner> beginCreateOrUpdate(String resourceGroupName,
+ String workspaceName, WorkspaceInner resource);
+
+ /**
+ * Create a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param resource Resource create parameters.
+ * @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 workspace tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WorkspaceInner> beginCreateOrUpdate(String resourceGroupName,
+ String workspaceName, WorkspaceInner resource, Context context);
+
+ /**
+ * Create a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param resource Resource create parameters.
+ * @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 workspace tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceInner createOrUpdate(String resourceGroupName, String workspaceName, WorkspaceInner resource);
+
+ /**
+ * Create a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param resource Resource create parameters.
+ * @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 workspace tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceInner createOrUpdate(String resourceGroupName, String workspaceName, WorkspaceInner resource,
+ Context context);
+
+ /**
+ * Update a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param properties The resource properties to 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 workspace tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WorkspaceInner> beginUpdate(String resourceGroupName, String workspaceName,
+ WorkspaceInner properties);
+
+ /**
+ * Update a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param properties The resource properties to 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 workspace tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, WorkspaceInner> beginUpdate(String resourceGroupName, String workspaceName,
+ WorkspaceInner properties, Context context);
+
+ /**
+ * Update a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param properties The resource properties to 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 workspace tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceInner update(String resourceGroupName, String workspaceName, WorkspaceInner properties);
+
+ /**
+ * Update a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @param properties The resource properties to 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 workspace tracked resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceInner update(String resourceGroupName, String workspaceName, WorkspaceInner properties, Context context);
+
+ /**
+ * Delete a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 workspaceName);
+
+ /**
+ * Delete a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 workspaceName, Context context);
+
+ /**
+ * Delete a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 workspaceName);
+
+ /**
+ * Delete a Workspace.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the Workspace.
+ * @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 workspaceName, Context context);
+
+ /**
+ * List Workspace resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 a Workspace list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * List Workspace resources by resource group.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @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 a Workspace list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * List Workspace resources by subscription ID.
+ *
+ * @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 a Workspace list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * List Workspace resources by subscription ID.
+ *
+ * @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 a Workspace list operation as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/BookshelfInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/BookshelfInner.java
new file mode 100644
index 000000000000..8e9092985286
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/BookshelfInner.java
@@ -0,0 +1,181 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.BookshelfProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Bookshelf tracked resource.
+ */
+@Fluent
+public final class BookshelfInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private BookshelfProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 BookshelfInner class.
+ */
+ public BookshelfInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public BookshelfProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the BookshelfInner object itself.
+ */
+ public BookshelfInner withProperties(BookshelfProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 BookshelfInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public BookshelfInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@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("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of BookshelfInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of BookshelfInner 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 BookshelfInner.
+ */
+ public static BookshelfInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ BookshelfInner deserializedBookshelfInner = new BookshelfInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedBookshelfInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedBookshelfInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedBookshelfInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedBookshelfInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedBookshelfInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedBookshelfInner.properties = BookshelfProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedBookshelfInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedBookshelfInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/BookshelfPrivateEndpointConnectionInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/BookshelfPrivateEndpointConnectionInner.java
new file mode 100644
index 000000000000..318ca5468e0d
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/BookshelfPrivateEndpointConnectionInner.java
@@ -0,0 +1,157 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.PrivateEndpointConnectionProperties;
+import java.io.IOException;
+
+/**
+ * The Private Endpoint Connection resource for Bookshelf.
+ */
+@Fluent
+public final class BookshelfPrivateEndpointConnectionInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private PrivateEndpointConnectionProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 BookshelfPrivateEndpointConnectionInner class.
+ */
+ public BookshelfPrivateEndpointConnectionInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public PrivateEndpointConnectionProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the BookshelfPrivateEndpointConnectionInner object itself.
+ */
+ public BookshelfPrivateEndpointConnectionInner withProperties(PrivateEndpointConnectionProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of BookshelfPrivateEndpointConnectionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of BookshelfPrivateEndpointConnectionInner 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 BookshelfPrivateEndpointConnectionInner.
+ */
+ public static BookshelfPrivateEndpointConnectionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ BookshelfPrivateEndpointConnectionInner deserializedBookshelfPrivateEndpointConnectionInner
+ = new BookshelfPrivateEndpointConnectionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedBookshelfPrivateEndpointConnectionInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedBookshelfPrivateEndpointConnectionInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedBookshelfPrivateEndpointConnectionInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedBookshelfPrivateEndpointConnectionInner.properties
+ = PrivateEndpointConnectionProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedBookshelfPrivateEndpointConnectionInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedBookshelfPrivateEndpointConnectionInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/BookshelfPrivateLinkResourceInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/BookshelfPrivateLinkResourceInner.java
new file mode 100644
index 000000000000..a5cc96d5bc8c
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/BookshelfPrivateLinkResourceInner.java
@@ -0,0 +1,146 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+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.discovery.models.PrivateLinkResourceProperties;
+import java.io.IOException;
+
+/**
+ * A private link resource for Bookshelf.
+ */
+@Immutable
+public final class BookshelfPrivateLinkResourceInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private PrivateLinkResourceProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 BookshelfPrivateLinkResourceInner class.
+ */
+ private BookshelfPrivateLinkResourceInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public PrivateLinkResourceProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of BookshelfPrivateLinkResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of BookshelfPrivateLinkResourceInner 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 BookshelfPrivateLinkResourceInner.
+ */
+ public static BookshelfPrivateLinkResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ BookshelfPrivateLinkResourceInner deserializedBookshelfPrivateLinkResourceInner
+ = new BookshelfPrivateLinkResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedBookshelfPrivateLinkResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedBookshelfPrivateLinkResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedBookshelfPrivateLinkResourceInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedBookshelfPrivateLinkResourceInner.properties
+ = PrivateLinkResourceProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedBookshelfPrivateLinkResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedBookshelfPrivateLinkResourceInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/ChatModelDeploymentInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/ChatModelDeploymentInner.java
new file mode 100644
index 000000000000..2401166482e9
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/ChatModelDeploymentInner.java
@@ -0,0 +1,182 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.ChatModelDeploymentProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Represents a deployment that ties a specific model family to a user defined deployment name used when invoking the
+ * chat model.
+ */
+@Fluent
+public final class ChatModelDeploymentInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private ChatModelDeploymentProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 ChatModelDeploymentInner class.
+ */
+ public ChatModelDeploymentInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public ChatModelDeploymentProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the ChatModelDeploymentInner object itself.
+ */
+ public ChatModelDeploymentInner withProperties(ChatModelDeploymentProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 ChatModelDeploymentInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ChatModelDeploymentInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@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("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ChatModelDeploymentInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ChatModelDeploymentInner 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 ChatModelDeploymentInner.
+ */
+ public static ChatModelDeploymentInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ChatModelDeploymentInner deserializedChatModelDeploymentInner = new ChatModelDeploymentInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedChatModelDeploymentInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedChatModelDeploymentInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedChatModelDeploymentInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedChatModelDeploymentInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedChatModelDeploymentInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedChatModelDeploymentInner.properties = ChatModelDeploymentProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedChatModelDeploymentInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedChatModelDeploymentInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/NodePoolInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/NodePoolInner.java
new file mode 100644
index 000000000000..9b1dbac4c65d
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/NodePoolInner.java
@@ -0,0 +1,181 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.NodePoolProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * NodePool tracked resource.
+ */
+@Fluent
+public final class NodePoolInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private NodePoolProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 NodePoolInner class.
+ */
+ public NodePoolInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public NodePoolProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the NodePoolInner object itself.
+ */
+ public NodePoolInner withProperties(NodePoolProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 NodePoolInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public NodePoolInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@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("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of NodePoolInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of NodePoolInner 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 NodePoolInner.
+ */
+ public static NodePoolInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ NodePoolInner deserializedNodePoolInner = new NodePoolInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedNodePoolInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedNodePoolInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedNodePoolInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedNodePoolInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedNodePoolInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedNodePoolInner.properties = NodePoolProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedNodePoolInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedNodePoolInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/OperationInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..4a8bf43f8d73
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/OperationInner.java
@@ -0,0 +1,150 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.ActionType;
+import com.azure.resourcemanager.discovery.models.OperationDisplay;
+import com.azure.resourcemanager.discovery.models.Origin;
+import java.io.IOException;
+
+/**
+ * REST API Operation
+ *
+ * Details of a REST API operation, returned from the Resource Provider Operations API.
+ */
+@Immutable
+public final class OperationInner implements JsonSerializable {
+ /*
+ * The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
+ */
+ private String name;
+
+ /*
+ * Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for Azure
+ * Resource Manager/control-plane operations.
+ */
+ private Boolean isDataAction;
+
+ /*
+ * Localized display information for this particular operation.
+ */
+ private OperationDisplay display;
+
+ /*
+ * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default
+ * value is "user,system"
+ */
+ private Origin origin;
+
+ /*
+ * Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
+ */
+ private ActionType actionType;
+
+ /**
+ * Creates an instance of OperationInner class.
+ */
+ private OperationInner() {
+ }
+
+ /**
+ * Get the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for Azure Resource Manager/control-plane operations.
+ *
+ * @return the isDataAction value.
+ */
+ public Boolean isDataAction() {
+ return this.isDataAction;
+ }
+
+ /**
+ * Get the display property: Localized display information for this particular operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Get the origin property: The intended executor of the operation; as in Resource Based Access Control (RBAC) and
+ * audit logs UX. Default value is "user,system".
+ *
+ * @return the origin value.
+ */
+ public Origin origin() {
+ return this.origin;
+ }
+
+ /**
+ * Get the actionType property: Extensible enum. Indicates the action type. "Internal" refers to actions that are
+ * for internal only APIs.
+ *
+ * @return the actionType value.
+ */
+ public ActionType actionType() {
+ return this.actionType;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("display", this.display);
+ 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 = Origin.fromString(reader.getString());
+ } else if ("actionType".equals(fieldName)) {
+ deserializedOperationInner.actionType = ActionType.fromString(reader.getString());
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedOperationInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/ProjectInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/ProjectInner.java
new file mode 100644
index 000000000000..6e2a45279f87
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/ProjectInner.java
@@ -0,0 +1,181 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.ProjectProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Project tracked resource.
+ */
+@Fluent
+public final class ProjectInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private ProjectProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 ProjectInner class.
+ */
+ public ProjectInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public ProjectProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the ProjectInner object itself.
+ */
+ public ProjectInner withProperties(ProjectProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 ProjectInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ProjectInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@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("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ProjectInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ProjectInner 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 ProjectInner.
+ */
+ public static ProjectInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ProjectInner deserializedProjectInner = new ProjectInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedProjectInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedProjectInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedProjectInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedProjectInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedProjectInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedProjectInner.properties = ProjectProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedProjectInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedProjectInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/StorageAssetInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/StorageAssetInner.java
new file mode 100644
index 000000000000..a53d057281ee
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/StorageAssetInner.java
@@ -0,0 +1,181 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.StorageAssetProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Storage Asset tracked resource.
+ */
+@Fluent
+public final class StorageAssetInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private StorageAssetProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 StorageAssetInner class.
+ */
+ public StorageAssetInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public StorageAssetProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the StorageAssetInner object itself.
+ */
+ public StorageAssetInner withProperties(StorageAssetProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 StorageAssetInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public StorageAssetInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@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("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of StorageAssetInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of StorageAssetInner 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 StorageAssetInner.
+ */
+ public static StorageAssetInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ StorageAssetInner deserializedStorageAssetInner = new StorageAssetInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedStorageAssetInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedStorageAssetInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedStorageAssetInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedStorageAssetInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedStorageAssetInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedStorageAssetInner.properties = StorageAssetProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedStorageAssetInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedStorageAssetInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/StorageContainerInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/StorageContainerInner.java
new file mode 100644
index 000000000000..586470eece5a
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/StorageContainerInner.java
@@ -0,0 +1,181 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.StorageContainerProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Storage Container tracked resource.
+ */
+@Fluent
+public final class StorageContainerInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private StorageContainerProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 StorageContainerInner class.
+ */
+ public StorageContainerInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public StorageContainerProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the StorageContainerInner object itself.
+ */
+ public StorageContainerInner withProperties(StorageContainerProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 StorageContainerInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public StorageContainerInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@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("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of StorageContainerInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of StorageContainerInner 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 StorageContainerInner.
+ */
+ public static StorageContainerInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ StorageContainerInner deserializedStorageContainerInner = new StorageContainerInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedStorageContainerInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedStorageContainerInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedStorageContainerInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedStorageContainerInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedStorageContainerInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedStorageContainerInner.properties = StorageContainerProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedStorageContainerInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedStorageContainerInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/SupercomputerInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/SupercomputerInner.java
new file mode 100644
index 000000000000..21dfd7e9a877
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/SupercomputerInner.java
@@ -0,0 +1,181 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.SupercomputerProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Supercomputer tracked resource.
+ */
+@Fluent
+public final class SupercomputerInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private SupercomputerProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 SupercomputerInner class.
+ */
+ public SupercomputerInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public SupercomputerProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the SupercomputerInner object itself.
+ */
+ public SupercomputerInner withProperties(SupercomputerProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 SupercomputerInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public SupercomputerInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@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("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of SupercomputerInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of SupercomputerInner 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 SupercomputerInner.
+ */
+ public static SupercomputerInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ SupercomputerInner deserializedSupercomputerInner = new SupercomputerInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedSupercomputerInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedSupercomputerInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedSupercomputerInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedSupercomputerInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedSupercomputerInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedSupercomputerInner.properties = SupercomputerProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedSupercomputerInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedSupercomputerInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/ToolInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/ToolInner.java
new file mode 100644
index 000000000000..948b6259f362
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/ToolInner.java
@@ -0,0 +1,181 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.ToolProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Tool tracked resource.
+ */
+@Fluent
+public final class ToolInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private ToolProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 ToolInner class.
+ */
+ public ToolInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public ToolProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the ToolInner object itself.
+ */
+ public ToolInner withProperties(ToolProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 ToolInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public ToolInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@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("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of ToolInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of ToolInner 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 ToolInner.
+ */
+ public static ToolInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ ToolInner deserializedToolInner = new ToolInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedToolInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedToolInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedToolInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedToolInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedToolInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedToolInner.properties = ToolProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedToolInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedToolInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/WorkspaceInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/WorkspaceInner.java
new file mode 100644
index 000000000000..bbf1f11fd7d5
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/WorkspaceInner.java
@@ -0,0 +1,181 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.WorkspaceProperties;
+import java.io.IOException;
+import java.util.Map;
+
+/**
+ * Workspace tracked resource.
+ */
+@Fluent
+public final class WorkspaceInner extends Resource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private WorkspaceProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 WorkspaceInner class.
+ */
+ public WorkspaceInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public WorkspaceProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the WorkspaceInner object itself.
+ */
+ public WorkspaceInner withProperties(WorkspaceProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 WorkspaceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public WorkspaceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * {@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("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of WorkspaceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of WorkspaceInner 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 WorkspaceInner.
+ */
+ public static WorkspaceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ WorkspaceInner deserializedWorkspaceInner = new WorkspaceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedWorkspaceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedWorkspaceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedWorkspaceInner.type = reader.getString();
+ } else if ("location".equals(fieldName)) {
+ deserializedWorkspaceInner.withLocation(reader.getString());
+ } else if ("tags".equals(fieldName)) {
+ Map tags = reader.readMap(reader1 -> reader1.getString());
+ deserializedWorkspaceInner.withTags(tags);
+ } else if ("properties".equals(fieldName)) {
+ deserializedWorkspaceInner.properties = WorkspaceProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedWorkspaceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedWorkspaceInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/WorkspacePrivateEndpointConnectionInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/WorkspacePrivateEndpointConnectionInner.java
new file mode 100644
index 000000000000..d2c64584c93b
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/WorkspacePrivateEndpointConnectionInner.java
@@ -0,0 +1,157 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.models.PrivateEndpointConnectionProperties;
+import java.io.IOException;
+
+/**
+ * The Private Endpoint Connection resource for Workspace.
+ */
+@Fluent
+public final class WorkspacePrivateEndpointConnectionInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private PrivateEndpointConnectionProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 WorkspacePrivateEndpointConnectionInner class.
+ */
+ public WorkspacePrivateEndpointConnectionInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public PrivateEndpointConnectionProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The resource-specific properties for this resource.
+ *
+ * @param properties the properties value to set.
+ * @return the WorkspacePrivateEndpointConnectionInner object itself.
+ */
+ public WorkspacePrivateEndpointConnectionInner withProperties(PrivateEndpointConnectionProperties properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of WorkspacePrivateEndpointConnectionInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of WorkspacePrivateEndpointConnectionInner 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 WorkspacePrivateEndpointConnectionInner.
+ */
+ public static WorkspacePrivateEndpointConnectionInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ WorkspacePrivateEndpointConnectionInner deserializedWorkspacePrivateEndpointConnectionInner
+ = new WorkspacePrivateEndpointConnectionInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedWorkspacePrivateEndpointConnectionInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedWorkspacePrivateEndpointConnectionInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedWorkspacePrivateEndpointConnectionInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedWorkspacePrivateEndpointConnectionInner.properties
+ = PrivateEndpointConnectionProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedWorkspacePrivateEndpointConnectionInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedWorkspacePrivateEndpointConnectionInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/WorkspacePrivateLinkResourceInner.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/WorkspacePrivateLinkResourceInner.java
new file mode 100644
index 000000000000..795177d7a8fb
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/WorkspacePrivateLinkResourceInner.java
@@ -0,0 +1,146 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+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.discovery.models.PrivateLinkResourceProperties;
+import java.io.IOException;
+
+/**
+ * A private link resource for Workspace.
+ */
+@Immutable
+public final class WorkspacePrivateLinkResourceInner extends ProxyResource {
+ /*
+ * The resource-specific properties for this resource.
+ */
+ private PrivateLinkResourceProperties properties;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ */
+ private SystemData systemData;
+
+ /*
+ * 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 WorkspacePrivateLinkResourceInner class.
+ */
+ private WorkspacePrivateLinkResourceInner() {
+ }
+
+ /**
+ * Get the properties property: The resource-specific properties for this resource.
+ *
+ * @return the properties value.
+ */
+ public PrivateLinkResourceProperties properties() {
+ return this.properties;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * 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 JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
+ jsonWriter.writeStartObject();
+ jsonWriter.writeJsonField("properties", this.properties);
+ return jsonWriter.writeEndObject();
+ }
+
+ /**
+ * Reads an instance of WorkspacePrivateLinkResourceInner from the JsonReader.
+ *
+ * @param jsonReader The JsonReader being read.
+ * @return An instance of WorkspacePrivateLinkResourceInner 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 WorkspacePrivateLinkResourceInner.
+ */
+ public static WorkspacePrivateLinkResourceInner fromJson(JsonReader jsonReader) throws IOException {
+ return jsonReader.readObject(reader -> {
+ WorkspacePrivateLinkResourceInner deserializedWorkspacePrivateLinkResourceInner
+ = new WorkspacePrivateLinkResourceInner();
+ while (reader.nextToken() != JsonToken.END_OBJECT) {
+ String fieldName = reader.getFieldName();
+ reader.nextToken();
+
+ if ("id".equals(fieldName)) {
+ deserializedWorkspacePrivateLinkResourceInner.id = reader.getString();
+ } else if ("name".equals(fieldName)) {
+ deserializedWorkspacePrivateLinkResourceInner.name = reader.getString();
+ } else if ("type".equals(fieldName)) {
+ deserializedWorkspacePrivateLinkResourceInner.type = reader.getString();
+ } else if ("properties".equals(fieldName)) {
+ deserializedWorkspacePrivateLinkResourceInner.properties
+ = PrivateLinkResourceProperties.fromJson(reader);
+ } else if ("systemData".equals(fieldName)) {
+ deserializedWorkspacePrivateLinkResourceInner.systemData = SystemData.fromJson(reader);
+ } else {
+ reader.skipChildren();
+ }
+ }
+
+ return deserializedWorkspacePrivateLinkResourceInner;
+ });
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/package-info.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/models/package-info.java
new file mode 100644
index 000000000000..d320be47f0ad
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/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) TypeSpec Code Generator.
+
+/**
+ * Package containing the inner data models for Discovery.
+ * Microsoft.Discovery Resource Provider management API.
+ */
+package com.azure.resourcemanager.discovery.fluent.models;
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/package-info.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/fluent/package-info.java
new file mode 100644
index 000000000000..53757a5245ba
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/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) TypeSpec Code Generator.
+
+/**
+ * Package containing the service clients for Discovery.
+ * Microsoft.Discovery Resource Provider management API.
+ */
+package com.azure.resourcemanager.discovery.fluent;
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfImpl.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfImpl.java
new file mode 100644
index 000000000000..ac3cacafee0b
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfImpl.java
@@ -0,0 +1,163 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.implementation;
+
+import com.azure.core.management.Region;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.discovery.fluent.models.BookshelfInner;
+import com.azure.resourcemanager.discovery.models.Bookshelf;
+import com.azure.resourcemanager.discovery.models.BookshelfProperties;
+import java.util.Collections;
+import java.util.Map;
+
+public final class BookshelfImpl implements Bookshelf, Bookshelf.Definition, Bookshelf.Update {
+ private BookshelfInner innerObject;
+
+ private final com.azure.resourcemanager.discovery.DiscoveryManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map tags() {
+ Map inner = this.innerModel().tags();
+ if (inner != null) {
+ return Collections.unmodifiableMap(inner);
+ } else {
+ return Collections.emptyMap();
+ }
+ }
+
+ public BookshelfProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public Region region() {
+ return Region.fromName(this.regionName());
+ }
+
+ public String regionName() {
+ return this.location();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public BookshelfInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.discovery.DiscoveryManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String bookshelfName;
+
+ public BookshelfImpl withExistingResourceGroup(String resourceGroupName) {
+ this.resourceGroupName = resourceGroupName;
+ return this;
+ }
+
+ public Bookshelf create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelves()
+ .createOrUpdate(resourceGroupName, bookshelfName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public Bookshelf create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelves()
+ .createOrUpdate(resourceGroupName, bookshelfName, this.innerModel(), context);
+ return this;
+ }
+
+ BookshelfImpl(String name, com.azure.resourcemanager.discovery.DiscoveryManager serviceManager) {
+ this.innerObject = new BookshelfInner();
+ this.serviceManager = serviceManager;
+ this.bookshelfName = name;
+ }
+
+ public BookshelfImpl update() {
+ return this;
+ }
+
+ public Bookshelf apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelves()
+ .update(resourceGroupName, bookshelfName, this.innerModel(), Context.NONE);
+ return this;
+ }
+
+ public Bookshelf apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelves()
+ .update(resourceGroupName, bookshelfName, this.innerModel(), context);
+ return this;
+ }
+
+ BookshelfImpl(BookshelfInner innerObject, com.azure.resourcemanager.discovery.DiscoveryManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.bookshelfName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "bookshelves");
+ }
+
+ public Bookshelf refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelves()
+ .getByResourceGroupWithResponse(resourceGroupName, bookshelfName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public Bookshelf refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelves()
+ .getByResourceGroupWithResponse(resourceGroupName, bookshelfName, context)
+ .getValue();
+ return this;
+ }
+
+ public BookshelfImpl withRegion(Region location) {
+ this.innerModel().withLocation(location.toString());
+ return this;
+ }
+
+ public BookshelfImpl withRegion(String location) {
+ this.innerModel().withLocation(location);
+ return this;
+ }
+
+ public BookshelfImpl withTags(Map tags) {
+ this.innerModel().withTags(tags);
+ return this;
+ }
+
+ public BookshelfImpl withProperties(BookshelfProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfPrivateEndpointConnectionImpl.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfPrivateEndpointConnectionImpl.java
new file mode 100644
index 000000000000..55311f7b3b79
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfPrivateEndpointConnectionImpl.java
@@ -0,0 +1,137 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.discovery.fluent.models.BookshelfPrivateEndpointConnectionInner;
+import com.azure.resourcemanager.discovery.models.BookshelfPrivateEndpointConnection;
+import com.azure.resourcemanager.discovery.models.PrivateEndpointConnectionProperties;
+
+public final class BookshelfPrivateEndpointConnectionImpl implements BookshelfPrivateEndpointConnection,
+ BookshelfPrivateEndpointConnection.Definition, BookshelfPrivateEndpointConnection.Update {
+ private BookshelfPrivateEndpointConnectionInner innerObject;
+
+ private final com.azure.resourcemanager.discovery.DiscoveryManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public PrivateEndpointConnectionProperties properties() {
+ return this.innerModel().properties();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public String resourceGroupName() {
+ return resourceGroupName;
+ }
+
+ public BookshelfPrivateEndpointConnectionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.discovery.DiscoveryManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String bookshelfName;
+
+ private String privateEndpointConnectionName;
+
+ public BookshelfPrivateEndpointConnectionImpl withExistingBookshelf(String resourceGroupName,
+ String bookshelfName) {
+ this.resourceGroupName = resourceGroupName;
+ this.bookshelfName = bookshelfName;
+ return this;
+ }
+
+ public BookshelfPrivateEndpointConnection create() {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelfPrivateEndpointConnections()
+ .createOrUpdate(resourceGroupName, bookshelfName, privateEndpointConnectionName, this.innerModel(),
+ Context.NONE);
+ return this;
+ }
+
+ public BookshelfPrivateEndpointConnection create(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelfPrivateEndpointConnections()
+ .createOrUpdate(resourceGroupName, bookshelfName, privateEndpointConnectionName, this.innerModel(),
+ context);
+ return this;
+ }
+
+ BookshelfPrivateEndpointConnectionImpl(String name,
+ com.azure.resourcemanager.discovery.DiscoveryManager serviceManager) {
+ this.innerObject = new BookshelfPrivateEndpointConnectionInner();
+ this.serviceManager = serviceManager;
+ this.privateEndpointConnectionName = name;
+ }
+
+ public BookshelfPrivateEndpointConnectionImpl update() {
+ return this;
+ }
+
+ public BookshelfPrivateEndpointConnection apply() {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelfPrivateEndpointConnections()
+ .createOrUpdate(resourceGroupName, bookshelfName, privateEndpointConnectionName, this.innerModel(),
+ Context.NONE);
+ return this;
+ }
+
+ public BookshelfPrivateEndpointConnection apply(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelfPrivateEndpointConnections()
+ .createOrUpdate(resourceGroupName, bookshelfName, privateEndpointConnectionName, this.innerModel(),
+ context);
+ return this;
+ }
+
+ BookshelfPrivateEndpointConnectionImpl(BookshelfPrivateEndpointConnectionInner innerObject,
+ com.azure.resourcemanager.discovery.DiscoveryManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ this.resourceGroupName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "resourceGroups");
+ this.bookshelfName = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "bookshelves");
+ this.privateEndpointConnectionName
+ = ResourceManagerUtils.getValueFromIdByName(innerObject.id(), "privateEndpointConnections");
+ }
+
+ public BookshelfPrivateEndpointConnection refresh() {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelfPrivateEndpointConnections()
+ .getWithResponse(resourceGroupName, bookshelfName, privateEndpointConnectionName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public BookshelfPrivateEndpointConnection refresh(Context context) {
+ this.innerObject = serviceManager.serviceClient()
+ .getBookshelfPrivateEndpointConnections()
+ .getWithResponse(resourceGroupName, bookshelfName, privateEndpointConnectionName, context)
+ .getValue();
+ return this;
+ }
+
+ public BookshelfPrivateEndpointConnectionImpl withProperties(PrivateEndpointConnectionProperties properties) {
+ this.innerModel().withProperties(properties);
+ return this;
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfPrivateEndpointConnectionsClientImpl.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfPrivateEndpointConnectionsClientImpl.java
new file mode 100644
index 000000000000..be95fe9836e3
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfPrivateEndpointConnectionsClientImpl.java
@@ -0,0 +1,819 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.management.polling.PollResult;
+import com.azure.core.util.BinaryData;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.discovery.fluent.BookshelfPrivateEndpointConnectionsClient;
+import com.azure.resourcemanager.discovery.fluent.models.BookshelfPrivateEndpointConnectionInner;
+import com.azure.resourcemanager.discovery.implementation.models.BookshelfPrivateEndpointConnectionListResult;
+import java.nio.ByteBuffer;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/**
+ * An instance of this class provides access to all the operations defined in BookshelfPrivateEndpointConnectionsClient.
+ */
+public final class BookshelfPrivateEndpointConnectionsClientImpl implements BookshelfPrivateEndpointConnectionsClient {
+ /**
+ * The proxy service used to perform REST calls.
+ */
+ private final BookshelfPrivateEndpointConnectionsService service;
+
+ /**
+ * The service client containing this operation class.
+ */
+ private final DiscoveryManagementClientImpl client;
+
+ /**
+ * Initializes an instance of BookshelfPrivateEndpointConnectionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ BookshelfPrivateEndpointConnectionsClientImpl(DiscoveryManagementClientImpl client) {
+ this.service = RestProxy.create(BookshelfPrivateEndpointConnectionsService.class, client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for DiscoveryManagementClientBookshelfPrivateEndpointConnections to be
+ * used by the proxy service to perform REST calls.
+ */
+ @Host("{endpoint}")
+ @ServiceInterface(name = "DiscoveryManagementClientBookshelfPrivateEndpointConnections")
+ public interface BookshelfPrivateEndpointConnectionsService {
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Discovery/bookshelves/{bookshelfName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("bookshelfName") String bookshelfName,
+ @PathParam("privateEndpointConnectionName") String privateEndpointConnectionName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Discovery/bookshelves/{bookshelfName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response getSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("bookshelfName") String bookshelfName,
+ @PathParam("privateEndpointConnectionName") String privateEndpointConnectionName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Discovery/bookshelves/{bookshelfName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> createOrUpdate(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("bookshelfName") String bookshelfName,
+ @PathParam("privateEndpointConnectionName") String privateEndpointConnectionName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BookshelfPrivateEndpointConnectionInner resource, Context context);
+
+ @Put("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Discovery/bookshelves/{bookshelfName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ @ExpectedResponses({ 200, 201 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response createOrUpdateSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("bookshelfName") String bookshelfName,
+ @PathParam("privateEndpointConnectionName") String privateEndpointConnectionName,
+ @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept,
+ @BodyParam("application/json") BookshelfPrivateEndpointConnectionInner resource, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Discovery/bookshelves/{bookshelfName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("bookshelfName") String bookshelfName,
+ @PathParam("privateEndpointConnectionName") String privateEndpointConnectionName, Context context);
+
+ @Headers({ "Accept: application/json;q=0.9", "Content-Type: application/json" })
+ @Delete("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Discovery/bookshelves/{bookshelfName}/privateEndpointConnections/{privateEndpointConnectionName}")
+ @ExpectedResponses({ 202, 204 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response deleteSync(@HostParam("endpoint") String endpoint,
+ @QueryParam("api-version") String apiVersion, @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("bookshelfName") String bookshelfName,
+ @PathParam("privateEndpointConnectionName") String privateEndpointConnectionName, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Discovery/bookshelves/{bookshelfName}/privateEndpointConnections")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByBookshelf(
+ @HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("bookshelfName") String bookshelfName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Discovery/bookshelves/{bookshelfName}/privateEndpointConnections")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByBookshelfSync(
+ @HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName, @PathParam("bookshelfName") String bookshelfName,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByBookshelfNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+
+ @Headers({ "Content-Type: application/json" })
+ @Get("{nextLink}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Response listByBookshelfNextSync(
+ @PathParam(value = "nextLink", encoded = true) String nextLink, @HostParam("endpoint") String endpoint,
+ @HeaderParam("Accept") String accept, Context context);
+ }
+
+ /**
+ * Gets the specified private endpoint connection associated with the bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 specified private endpoint connection associated with the bookshelf along with {@link Response} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(String resourceGroupName,
+ String bookshelfName, String privateEndpointConnectionName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.get(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, bookshelfName, privateEndpointConnectionName,
+ accept, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets the specified private endpoint connection associated with the bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 specified private endpoint connection associated with the bookshelf on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName) {
+ return getWithResponseAsync(resourceGroupName, bookshelfName, privateEndpointConnectionName)
+ .flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Gets the specified private endpoint connection associated with the bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 specified private endpoint connection associated with the bookshelf along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(String resourceGroupName,
+ String bookshelfName, String privateEndpointConnectionName, Context context) {
+ final String accept = "application/json";
+ return service.getSync(this.client.getEndpoint(), this.client.getApiVersion(), this.client.getSubscriptionId(),
+ resourceGroupName, bookshelfName, privateEndpointConnectionName, accept, context);
+ }
+
+ /**
+ * Gets the specified private endpoint connection associated with the bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 specified private endpoint connection associated with the bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public BookshelfPrivateEndpointConnectionInner get(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName) {
+ return getWithResponse(resourceGroupName, bookshelfName, privateEndpointConnectionName, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 Private Endpoint Connection resource for Bookshelf along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> createOrUpdateWithResponseAsync(String resourceGroupName,
+ String bookshelfName, String privateEndpointConnectionName, BookshelfPrivateEndpointConnectionInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.createOrUpdate(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, bookshelfName, privateEndpointConnectionName,
+ contentType, accept, resource, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 Private Endpoint Connection resource for Bookshelf along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, BookshelfPrivateEndpointConnectionInner resource) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, bookshelfName, privateEndpointConnectionName,
+ contentType, accept, resource, Context.NONE);
+ }
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 Private Endpoint Connection resource for Bookshelf along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response createOrUpdateWithResponse(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, BookshelfPrivateEndpointConnectionInner resource, Context context) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return service.createOrUpdateSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, bookshelfName, privateEndpointConnectionName,
+ contentType, accept, resource, context);
+ }
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 PollerFlux} for polling of the Private Endpoint Connection resource for Bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, BookshelfPrivateEndpointConnectionInner>
+ beginCreateOrUpdateAsync(String resourceGroupName, String bookshelfName, String privateEndpointConnectionName,
+ BookshelfPrivateEndpointConnectionInner resource) {
+ Mono>> mono = createOrUpdateWithResponseAsync(resourceGroupName, bookshelfName,
+ privateEndpointConnectionName, resource);
+ return this.client
+ .getLroResult(mono,
+ this.client.getHttpPipeline(), BookshelfPrivateEndpointConnectionInner.class,
+ BookshelfPrivateEndpointConnectionInner.class, this.client.getContext());
+ }
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 SyncPoller} for polling of the Private Endpoint Connection resource for Bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, BookshelfPrivateEndpointConnectionInner>
+ beginCreateOrUpdate(String resourceGroupName, String bookshelfName, String privateEndpointConnectionName,
+ BookshelfPrivateEndpointConnectionInner resource) {
+ Response response
+ = createOrUpdateWithResponse(resourceGroupName, bookshelfName, privateEndpointConnectionName, resource);
+ return this.client
+ .getLroResult(response,
+ BookshelfPrivateEndpointConnectionInner.class, BookshelfPrivateEndpointConnectionInner.class,
+ Context.NONE);
+ }
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 SyncPoller} for polling of the Private Endpoint Connection resource for Bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, BookshelfPrivateEndpointConnectionInner>
+ beginCreateOrUpdate(String resourceGroupName, String bookshelfName, String privateEndpointConnectionName,
+ BookshelfPrivateEndpointConnectionInner resource, Context context) {
+ Response response = createOrUpdateWithResponse(resourceGroupName, bookshelfName,
+ privateEndpointConnectionName, resource, context);
+ return this.client
+ .getLroResult(response,
+ BookshelfPrivateEndpointConnectionInner.class, BookshelfPrivateEndpointConnectionInner.class, context);
+ }
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 Private Endpoint Connection resource for Bookshelf on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createOrUpdateAsync(String resourceGroupName,
+ String bookshelfName, String privateEndpointConnectionName, BookshelfPrivateEndpointConnectionInner resource) {
+ return beginCreateOrUpdateAsync(resourceGroupName, bookshelfName, privateEndpointConnectionName, resource)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 Private Endpoint Connection resource for Bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public BookshelfPrivateEndpointConnectionInner createOrUpdate(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, BookshelfPrivateEndpointConnectionInner resource) {
+ return beginCreateOrUpdate(resourceGroupName, bookshelfName, privateEndpointConnectionName, resource)
+ .getFinalResult();
+ }
+
+ /**
+ * Approves or updates the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @param resource Resource create parameters.
+ * @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 Private Endpoint Connection resource for Bookshelf.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public BookshelfPrivateEndpointConnectionInner createOrUpdate(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, BookshelfPrivateEndpointConnectionInner resource, Context context) {
+ return beginCreateOrUpdate(resourceGroupName, bookshelfName, privateEndpointConnectionName, resource, context)
+ .getFinalResult();
+ }
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 bookshelfName,
+ String privateEndpointConnectionName) {
+ return FluxUtil.withContext(context -> service.delete(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, bookshelfName, privateEndpointConnectionName, context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, bookshelfName, privateEndpointConnectionName,
+ Context.NONE);
+ }
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 body along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Response deleteWithResponse(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, Context context) {
+ return service.deleteSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, bookshelfName, privateEndpointConnectionName, context);
+ }
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName) {
+ Mono>> mono
+ = deleteWithResponseAsync(resourceGroupName, bookshelfName, privateEndpointConnectionName);
+ return this.client.getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName) {
+ Response response
+ = deleteWithResponse(resourceGroupName, bookshelfName, privateEndpointConnectionName);
+ return this.client.getLroResult(response, Void.class, Void.class, Context.NONE);
+ }
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, Void> beginDelete(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, Context context) {
+ Response response
+ = deleteWithResponse(resourceGroupName, bookshelfName, privateEndpointConnectionName, context);
+ return this.client.getLroResult(response, Void.class, Void.class, context);
+ }
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 bookshelfName,
+ String privateEndpointConnectionName) {
+ return beginDeleteAsync(resourceGroupName, bookshelfName, privateEndpointConnectionName).last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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 bookshelfName, String privateEndpointConnectionName) {
+ beginDelete(resourceGroupName, bookshelfName, privateEndpointConnectionName).getFinalResult();
+ }
+
+ /**
+ * Deletes the specified private endpoint connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @param privateEndpointConnectionName The name of the private endpoint connection associated with the Azure
+ * resource.
+ * @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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void delete(String resourceGroupName, String bookshelfName, String privateEndpointConnectionName,
+ Context context) {
+ beginDelete(resourceGroupName, bookshelfName, privateEndpointConnectionName, context).getFinalResult();
+ }
+
+ /**
+ * Lists all private endpoint connections for a bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 of a BookshelfPrivateEndpointConnection list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByBookshelfSinglePageAsync(String resourceGroupName, String bookshelfName) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByBookshelf(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, bookshelfName, 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()));
+ }
+
+ /**
+ * Lists all private endpoint connections for a bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 of a BookshelfPrivateEndpointConnection list operation as paginated response with
+ * {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByBookshelfAsync(String resourceGroupName,
+ String bookshelfName) {
+ return new PagedFlux<>(() -> listByBookshelfSinglePageAsync(resourceGroupName, bookshelfName),
+ nextLink -> listByBookshelfNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Lists all private endpoint connections for a bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 of a BookshelfPrivateEndpointConnection list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByBookshelfSinglePage(String resourceGroupName,
+ String bookshelfName) {
+ final String accept = "application/json";
+ Response res
+ = service.listByBookshelfSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, bookshelfName, accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Lists all private endpoint connections for a bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 of a BookshelfPrivateEndpointConnection list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByBookshelfSinglePage(String resourceGroupName,
+ String bookshelfName, Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listByBookshelfSync(this.client.getEndpoint(), this.client.getApiVersion(),
+ this.client.getSubscriptionId(), resourceGroupName, bookshelfName, accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * Lists all private endpoint connections for a bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 of a BookshelfPrivateEndpointConnection list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByBookshelf(String resourceGroupName,
+ String bookshelfName) {
+ return new PagedIterable<>(() -> listByBookshelfSinglePage(resourceGroupName, bookshelfName),
+ nextLink -> listByBookshelfNextSinglePage(nextLink));
+ }
+
+ /**
+ * Lists all private endpoint connections for a bookshelf.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param bookshelfName The name of the Bookshelf.
+ * @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 of a BookshelfPrivateEndpointConnection list operation as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByBookshelf(String resourceGroupName,
+ String bookshelfName, Context context) {
+ return new PagedIterable<>(() -> listByBookshelfSinglePage(resourceGroupName, bookshelfName, context),
+ nextLink -> listByBookshelfNextSinglePage(nextLink, context));
+ }
+
+ /**
+ * 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 of a BookshelfPrivateEndpointConnection list operation along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>
+ listByBookshelfNextSinglePageAsync(String nextLink) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByBookshelfNext(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.
+ * @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 of a BookshelfPrivateEndpointConnection list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByBookshelfNextSinglePage(String nextLink) {
+ final String accept = "application/json";
+ Response res
+ = service.listByBookshelfNextSync(nextLink, this.client.getEndpoint(), accept, Context.NONE);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+
+ /**
+ * 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 of a BookshelfPrivateEndpointConnection list operation along with {@link PagedResponse}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private PagedResponse listByBookshelfNextSinglePage(String nextLink,
+ Context context) {
+ final String accept = "application/json";
+ Response res
+ = service.listByBookshelfNextSync(nextLink, this.client.getEndpoint(), accept, context);
+ return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), res.getValue().value(),
+ res.getValue().nextLink(), null);
+ }
+}
diff --git a/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfPrivateEndpointConnectionsImpl.java b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfPrivateEndpointConnectionsImpl.java
new file mode 100644
index 000000000000..91f9b044f3bd
--- /dev/null
+++ b/sdk/discovery/azure-resourcemanager-discovery/src/main/java/com/azure/resourcemanager/discovery/implementation/BookshelfPrivateEndpointConnectionsImpl.java
@@ -0,0 +1,166 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) TypeSpec Code Generator.
+
+package com.azure.resourcemanager.discovery.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.discovery.fluent.BookshelfPrivateEndpointConnectionsClient;
+import com.azure.resourcemanager.discovery.fluent.models.BookshelfPrivateEndpointConnectionInner;
+import com.azure.resourcemanager.discovery.models.BookshelfPrivateEndpointConnection;
+import com.azure.resourcemanager.discovery.models.BookshelfPrivateEndpointConnections;
+
+public final class BookshelfPrivateEndpointConnectionsImpl implements BookshelfPrivateEndpointConnections {
+ private static final ClientLogger LOGGER = new ClientLogger(BookshelfPrivateEndpointConnectionsImpl.class);
+
+ private final BookshelfPrivateEndpointConnectionsClient innerClient;
+
+ private final com.azure.resourcemanager.discovery.DiscoveryManager serviceManager;
+
+ public BookshelfPrivateEndpointConnectionsImpl(BookshelfPrivateEndpointConnectionsClient innerClient,
+ com.azure.resourcemanager.discovery.DiscoveryManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response getWithResponse(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName, Context context) {
+ Response inner = this.serviceClient()
+ .getWithResponse(resourceGroupName, bookshelfName, privateEndpointConnectionName, context);
+ return new SimpleResponse<>(inner.getRequest(), inner.getStatusCode(), inner.getHeaders(),
+ new BookshelfPrivateEndpointConnectionImpl(inner.getValue(), this.manager()));
+ }
+
+ public BookshelfPrivateEndpointConnection get(String resourceGroupName, String bookshelfName,
+ String privateEndpointConnectionName) {
+ BookshelfPrivateEndpointConnectionInner inner
+ = this.serviceClient().get(resourceGroupName, bookshelfName, privateEndpointConnectionName);
+ if (inner != null) {
+ return new BookshelfPrivateEndpointConnectionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public void delete(String resourceGroupName, String bookshelfName, String privateEndpointConnectionName) {
+ this.serviceClient().delete(resourceGroupName, bookshelfName, privateEndpointConnectionName);
+ }
+
+ public void delete(String resourceGroupName, String bookshelfName, String privateEndpointConnectionName,
+ Context context) {
+ this.serviceClient().delete(resourceGroupName, bookshelfName, privateEndpointConnectionName, context);
+ }
+
+ public PagedIterable listByBookshelf(String resourceGroupName,
+ String bookshelfName) {
+ PagedIterable inner
+ = this.serviceClient().listByBookshelf(resourceGroupName, bookshelfName);
+ return ResourceManagerUtils.mapPage(inner,
+ inner1 -> new BookshelfPrivateEndpointConnectionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable