diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index f2e94174595de..ffe2b88779f54 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -330,6 +330,7 @@ com.azure.resourcemanager:azure-resourcemanager-desktopvirtualization;1.0.0-beta
com.azure.resourcemanager:azure-resourcemanager-loadtestservice;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-automanage;1.0.0-beta.1;1.0.0-beta.1
com.azure.resourcemanager:azure-resourcemanager-edgeorder;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-powerbiembedded;1.0.0-beta.1;1.0.0-beta.1
com.azure.tools:azure-sdk-archetype;1.0.0;1.0.0
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
diff --git a/pom.xml b/pom.xml
index acd793f3d360c..b3d6d370c8e6a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -808,6 +808,7 @@
sdk/postgresql
sdk/postgresqlflexibleserver
sdk/powerbidedicated
+ sdk/powerbiembedded
sdk/purview
sdk/quantum
sdk/quota
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/CHANGELOG.md b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/CHANGELOG.md
new file mode 100644
index 0000000000000..48f6287a59294
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-12-28)
+
+- Azure Resource Manager PowerBIEmbedded client library for Java. This package contains Microsoft Azure SDK for PowerBIEmbedded Management SDK. Client to manage your Power BI Embedded workspace collections and retrieve workspaces. Package tag package-2016-01. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/README.md b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/README.md
new file mode 100644
index 0000000000000..3e8cdeb217edf
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/README.md
@@ -0,0 +1,102 @@
+# Azure Resource Manager PowerBIEmbedded client library for Java
+
+Azure Resource Manager PowerBIEmbedded client library for Java.
+
+This package contains Microsoft Azure SDK for PowerBIEmbedded Management SDK. Client to manage your Power BI Embedded workspace collections and retrieve workspaces. Package tag package-2016-01. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-powerbiembedded;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-powerbiembedded
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+PowerBIEmbeddedManager manager = PowerBIEmbeddedManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/SAMPLE.md)
+
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/SAMPLE.md b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/SAMPLE.md
new file mode 100644
index 0000000000000..77e24ff3efbda
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/SAMPLE.md
@@ -0,0 +1,2 @@
+# Code snippets and samples
+
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/pom.xml b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/pom.xml
new file mode 100644
index 0000000000000..3b4ac096b6bb3
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/pom.xml
@@ -0,0 +1,81 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-powerbiembedded
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for PowerBIEmbedded Management
+ This package contains Microsoft Azure SDK for PowerBIEmbedded Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Client to manage your Power BI Embedded workspace collections and retrieve workspaces. Package tag package-2016-01.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+ true
+ false
+
+
+
+
+
+ com.azure
+ azure-core
+ 1.23.1
+
+
+ com.azure
+ azure-core-management
+ 1.4.4
+
+
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+ -
+
java.method.addedToInterface
+
+ -
+ true
+
.*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
+
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/PowerBIEmbeddedManager.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/PowerBIEmbeddedManager.java
new file mode 100644
index 0000000000000..d60812d56f22a
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/PowerBIEmbeddedManager.java
@@ -0,0 +1,269 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.HttpPipelinePosition;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.powerbiembedded.fluent.PowerBIEmbeddedManagementClient;
+import com.azure.resourcemanager.powerbiembedded.implementation.PowerBIEmbeddedManagementClientBuilder;
+import com.azure.resourcemanager.powerbiembedded.implementation.ResourceProvidersImpl;
+import com.azure.resourcemanager.powerbiembedded.implementation.WorkspaceCollectionsImpl;
+import com.azure.resourcemanager.powerbiembedded.implementation.WorkspacesImpl;
+import com.azure.resourcemanager.powerbiembedded.models.ResourceProviders;
+import com.azure.resourcemanager.powerbiembedded.models.WorkspaceCollections;
+import com.azure.resourcemanager.powerbiembedded.models.Workspaces;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * Entry point to PowerBIEmbeddedManager. Client to manage your Power BI Embedded workspace collections and retrieve
+ * workspaces.
+ */
+public final class PowerBIEmbeddedManager {
+ private WorkspaceCollections workspaceCollections;
+
+ private ResourceProviders resourceProviders;
+
+ private Workspaces workspaces;
+
+ private final PowerBIEmbeddedManagementClient clientObject;
+
+ private PowerBIEmbeddedManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new PowerBIEmbeddedManagementClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of PowerBIEmbedded service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the PowerBIEmbedded service API instance.
+ */
+ public static PowerBIEmbeddedManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create PowerBIEmbeddedManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new PowerBIEmbeddedManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ 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 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, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of PowerBIEmbedded service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the PowerBIEmbedded service API instance.
+ */
+ public PowerBIEmbeddedManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder
+ .append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.powerbiembedded")
+ .append("/")
+ .append("1.0.0-beta.1");
+ 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) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ 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 ArmChallengeAuthenticationPolicy(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 PowerBIEmbeddedManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of WorkspaceCollections. */
+ public WorkspaceCollections workspaceCollections() {
+ if (this.workspaceCollections == null) {
+ this.workspaceCollections = new WorkspaceCollectionsImpl(clientObject.getWorkspaceCollections(), this);
+ }
+ return workspaceCollections;
+ }
+
+ /** @return Resource collection API of ResourceProviders. */
+ public ResourceProviders resourceProviders() {
+ if (this.resourceProviders == null) {
+ this.resourceProviders = new ResourceProvidersImpl(clientObject.getResourceProviders(), this);
+ }
+ return resourceProviders;
+ }
+
+ /** @return Resource collection API of Workspaces. */
+ public Workspaces workspaces() {
+ if (this.workspaces == null) {
+ this.workspaces = new WorkspacesImpl(clientObject.getWorkspaces(), this);
+ }
+ return workspaces;
+ }
+
+ /**
+ * @return Wrapped service client PowerBIEmbeddedManagementClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ */
+ public PowerBIEmbeddedManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/PowerBIEmbeddedManagementClient.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/PowerBIEmbeddedManagementClient.java
new file mode 100644
index 0000000000000..7a4297121d343
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/PowerBIEmbeddedManagementClient.java
@@ -0,0 +1,68 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for PowerBIEmbeddedManagementClient class. */
+public interface PowerBIEmbeddedManagementClient {
+ /**
+ * Gets Gets subscription credentials which uniquely identify a Microsoft Azure subscription. The subscription ID
+ * forms part of the URI for every service call.
+ *
+ * @return the subscriptionId value.
+ */
+ String getSubscriptionId();
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ String getEndpoint();
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ String getApiVersion();
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ HttpPipeline getHttpPipeline();
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ Duration getDefaultPollInterval();
+
+ /**
+ * Gets the WorkspaceCollectionsClient object to access its operations.
+ *
+ * @return the WorkspaceCollectionsClient object.
+ */
+ WorkspaceCollectionsClient getWorkspaceCollections();
+
+ /**
+ * Gets the ResourceProvidersClient object to access its operations.
+ *
+ * @return the ResourceProvidersClient object.
+ */
+ ResourceProvidersClient getResourceProviders();
+
+ /**
+ * Gets the WorkspacesClient object to access its operations.
+ *
+ * @return the WorkspacesClient object.
+ */
+ WorkspacesClient getWorkspaces();
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/ResourceProvidersClient.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/ResourceProvidersClient.java
new file mode 100644
index 0000000000000..b2f81e3f616a5
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/ResourceProvidersClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.powerbiembedded.fluent.models.OperationListInner;
+
+/** An instance of this class provides access to all the operations defined in ResourceProvidersClient. */
+public interface ResourceProvidersClient {
+ /**
+ * Indicates which operations can be performed by the Power BI Resource 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 the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ OperationListInner getAvailableOperations();
+
+ /**
+ * Indicates which operations can be performed by the Power BI Resource 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 the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getAvailableOperationsWithResponse(Context context);
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/WorkspaceCollectionsClient.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/WorkspaceCollectionsClient.java
new file mode 100644
index 0000000000000..613a277850695
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/WorkspaceCollectionsClient.java
@@ -0,0 +1,336 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.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.powerbiembedded.fluent.models.CheckNameResponseInner;
+import com.azure.resourcemanager.powerbiembedded.fluent.models.WorkspaceCollectionAccessKeysInner;
+import com.azure.resourcemanager.powerbiembedded.fluent.models.WorkspaceCollectionInner;
+import com.azure.resourcemanager.powerbiembedded.models.CheckNameRequest;
+import com.azure.resourcemanager.powerbiembedded.models.CreateWorkspaceCollectionRequest;
+import com.azure.resourcemanager.powerbiembedded.models.MigrateWorkspaceCollectionRequest;
+import com.azure.resourcemanager.powerbiembedded.models.UpdateWorkspaceCollectionRequest;
+import com.azure.resourcemanager.powerbiembedded.models.WorkspaceCollectionAccessKey;
+
+/** An instance of this class provides access to all the operations defined in WorkspaceCollectionsClient. */
+public interface WorkspaceCollectionsClient {
+ /**
+ * Retrieves an existing Power BI Workspace Collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceCollectionInner getByResourceGroup(String resourceGroupName, String workspaceCollectionName);
+
+ /**
+ * Retrieves an existing Power BI Workspace Collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String workspaceCollectionName, Context context);
+
+ /**
+ * Creates a new Power BI Workspace Collection with the specified properties. A Power BI Workspace Collection
+ * contains one or more workspaces, and can be used to provision keys that provide API access to those workspaces.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param body Create workspace collection request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceCollectionInner create(
+ String resourceGroupName, String workspaceCollectionName, CreateWorkspaceCollectionRequest body);
+
+ /**
+ * Creates a new Power BI Workspace Collection with the specified properties. A Power BI Workspace Collection
+ * contains one or more workspaces, and can be used to provision keys that provide API access to those workspaces.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param body Create workspace collection request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String workspaceCollectionName,
+ CreateWorkspaceCollectionRequest body,
+ Context context);
+
+ /**
+ * Update an existing Power BI Workspace Collection with the specified properties.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param body Update workspace collection request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceCollectionInner update(
+ String resourceGroupName, String workspaceCollectionName, UpdateWorkspaceCollectionRequest body);
+
+ /**
+ * Update an existing Power BI Workspace Collection with the specified properties.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param body Update workspace collection request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String workspaceCollectionName,
+ UpdateWorkspaceCollectionRequest body,
+ Context context);
+
+ /**
+ * Delete a Power BI Workspace Collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(String resourceGroupName, String workspaceCollectionName);
+
+ /**
+ * Delete a Power BI Workspace Collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String workspaceCollectionName, Context context);
+
+ /**
+ * Delete a Power BI Workspace Collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceCollectionName);
+
+ /**
+ * Delete a Power BI Workspace Collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceCollectionName, Context context);
+
+ /**
+ * Verify the specified Power BI Workspace Collection name is valid and not already in use.
+ *
+ * @param location Azure location.
+ * @param body Check name availability request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameResponseInner checkNameAvailability(String location, CheckNameRequest body);
+
+ /**
+ * Verify the specified Power BI Workspace Collection name is valid and not already in use.
+ *
+ * @param location Azure location.
+ * @param body Check name availability request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithResponse(
+ String location, CheckNameRequest body, Context context);
+
+ /**
+ * Retrieves all existing Power BI workspace collections in the specified resource group.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Retrieves all existing Power BI workspace collections in the specified resource group.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Retrieves all existing Power BI workspace collections in the specified subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Retrieves all existing Power BI workspace collections in the specified subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Retrieves the primary and secondary access keys for the specified Power BI Workspace Collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceCollectionAccessKeysInner getAccessKeys(String resourceGroupName, String workspaceCollectionName);
+
+ /**
+ * Retrieves the primary and secondary access keys for the specified Power BI Workspace Collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getAccessKeysWithResponse(
+ String resourceGroupName, String workspaceCollectionName, Context context);
+
+ /**
+ * Regenerates the primary or secondary access key for the specified Power BI Workspace Collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param body Access key to regenerate.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ WorkspaceCollectionAccessKeysInner regenerateKey(
+ String resourceGroupName, String workspaceCollectionName, WorkspaceCollectionAccessKey body);
+
+ /**
+ * Regenerates the primary or secondary access key for the specified Power BI Workspace Collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param body Access key to regenerate.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response regenerateKeyWithResponse(
+ String resourceGroupName, String workspaceCollectionName, WorkspaceCollectionAccessKey body, Context context);
+
+ /**
+ * Migrates an existing Power BI Workspace Collection to a different resource group and/or subscription.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param body Workspace migration request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 migrate(String resourceGroupName, MigrateWorkspaceCollectionRequest body);
+
+ /**
+ * Migrates an existing Power BI Workspace Collection to a different resource group and/or subscription.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param body Workspace migration request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response migrateWithResponse(
+ String resourceGroupName, MigrateWorkspaceCollectionRequest body, Context context);
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/WorkspacesClient.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/WorkspacesClient.java
new file mode 100644
index 0000000000000..65641bf8cca76
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/WorkspacesClient.java
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.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.powerbiembedded.fluent.models.WorkspaceInner;
+
+/** An instance of this class provides access to all the operations defined in WorkspacesClient. */
+public interface WorkspacesClient {
+ /**
+ * Retrieves all existing Power BI workspaces in the specified workspace collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceCollectionName);
+
+ /**
+ * Retrieves all existing Power BI workspaces in the specified workspace collection.
+ *
+ * @param resourceGroupName Azure resource group.
+ * @param workspaceCollectionName Power BI Embedded Workspace Collection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(String resourceGroupName, String workspaceCollectionName, Context context);
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/CheckNameResponseInner.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/CheckNameResponseInner.java
new file mode 100644
index 0000000000000..7db0c549a305d
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/CheckNameResponseInner.java
@@ -0,0 +1,109 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.powerbiembedded.models.CheckNameReason;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The CheckNameResponse model. */
+@Fluent
+public final class CheckNameResponseInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CheckNameResponseInner.class);
+
+ /*
+ * Specifies a Boolean value that indicates whether the specified Power BI
+ * Workspace Collection name is available to use.
+ */
+ @JsonProperty(value = "nameAvailable")
+ private Boolean nameAvailable;
+
+ /*
+ * Reason why the workspace collection name cannot be used.
+ */
+ @JsonProperty(value = "reason")
+ private CheckNameReason reason;
+
+ /*
+ * Message indicating an unavailable name due to a conflict, or a
+ * description of the naming rules that are violated.
+ */
+ @JsonProperty(value = "message")
+ private String message;
+
+ /**
+ * Get the nameAvailable property: Specifies a Boolean value that indicates whether the specified Power BI Workspace
+ * Collection name is available to use.
+ *
+ * @return the nameAvailable value.
+ */
+ public Boolean nameAvailable() {
+ return this.nameAvailable;
+ }
+
+ /**
+ * Set the nameAvailable property: Specifies a Boolean value that indicates whether the specified Power BI Workspace
+ * Collection name is available to use.
+ *
+ * @param nameAvailable the nameAvailable value to set.
+ * @return the CheckNameResponseInner object itself.
+ */
+ public CheckNameResponseInner withNameAvailable(Boolean nameAvailable) {
+ this.nameAvailable = nameAvailable;
+ return this;
+ }
+
+ /**
+ * Get the reason property: Reason why the workspace collection name cannot be used.
+ *
+ * @return the reason value.
+ */
+ public CheckNameReason reason() {
+ return this.reason;
+ }
+
+ /**
+ * Set the reason property: Reason why the workspace collection name cannot be used.
+ *
+ * @param reason the reason value to set.
+ * @return the CheckNameResponseInner object itself.
+ */
+ public CheckNameResponseInner withReason(CheckNameReason reason) {
+ this.reason = reason;
+ return this;
+ }
+
+ /**
+ * Get the message property: Message indicating an unavailable name due to a conflict, or a description of the
+ * naming rules that are violated.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: Message indicating an unavailable name due to a conflict, or a description of the
+ * naming rules that are violated.
+ *
+ * @param message the message value to set.
+ * @return the CheckNameResponseInner object itself.
+ */
+ public CheckNameResponseInner withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/OperationListInner.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/OperationListInner.java
new file mode 100644
index 0000000000000..80dc54fb02060
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/OperationListInner.java
@@ -0,0 +1,55 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.powerbiembedded.models.Operation;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The OperationList model. */
+@Fluent
+public final class OperationListInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationListInner.class);
+
+ /*
+ * The value property.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * Get the value property: The value property.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The value property.
+ *
+ * @param value the value value to set.
+ * @return the OperationListInner object itself.
+ */
+ public OperationListInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/WorkspaceCollectionAccessKeysInner.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/WorkspaceCollectionAccessKeysInner.java
new file mode 100644
index 0000000000000..8d2db1c52a80f
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/WorkspaceCollectionAccessKeysInner.java
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The WorkspaceCollectionAccessKeys model. */
+@Fluent
+public final class WorkspaceCollectionAccessKeysInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(WorkspaceCollectionAccessKeysInner.class);
+
+ /*
+ * Access key 1
+ */
+ @JsonProperty(value = "key1")
+ private String key1;
+
+ /*
+ * Access key 2
+ */
+ @JsonProperty(value = "key2")
+ private String key2;
+
+ /**
+ * Get the key1 property: Access key 1.
+ *
+ * @return the key1 value.
+ */
+ public String key1() {
+ return this.key1;
+ }
+
+ /**
+ * Set the key1 property: Access key 1.
+ *
+ * @param key1 the key1 value to set.
+ * @return the WorkspaceCollectionAccessKeysInner object itself.
+ */
+ public WorkspaceCollectionAccessKeysInner withKey1(String key1) {
+ this.key1 = key1;
+ return this;
+ }
+
+ /**
+ * Get the key2 property: Access key 2.
+ *
+ * @return the key2 value.
+ */
+ public String key2() {
+ return this.key2;
+ }
+
+ /**
+ * Set the key2 property: Access key 2.
+ *
+ * @param key2 the key2 value to set.
+ * @return the WorkspaceCollectionAccessKeysInner object itself.
+ */
+ public WorkspaceCollectionAccessKeysInner withKey2(String key2) {
+ this.key2 = key2;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/WorkspaceCollectionInner.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/WorkspaceCollectionInner.java
new file mode 100644
index 0000000000000..1a67e76760986
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/WorkspaceCollectionInner.java
@@ -0,0 +1,213 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.powerbiembedded.models.AzureSku;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** The WorkspaceCollection model. */
+@Fluent
+public final class WorkspaceCollectionInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(WorkspaceCollectionInner.class);
+
+ /*
+ * Resource id
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * Workspace collection name
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * Resource type
+ */
+ @JsonProperty(value = "type")
+ private String type;
+
+ /*
+ * Azure location
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /*
+ * Dictionary of
+ */
+ @JsonProperty(value = "tags")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map tags;
+
+ /*
+ * The sku property.
+ */
+ @JsonProperty(value = "sku")
+ private AzureSku sku;
+
+ /*
+ * Properties
+ */
+ @JsonProperty(value = "properties")
+ private Object properties;
+
+ /**
+ * Get the id property: Resource id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Resource id.
+ *
+ * @param id the id value to set.
+ * @return the WorkspaceCollectionInner object itself.
+ */
+ public WorkspaceCollectionInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the name property: Workspace collection name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Workspace collection name.
+ *
+ * @param name the name value to set.
+ * @return the WorkspaceCollectionInner object itself.
+ */
+ public WorkspaceCollectionInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the type property: Resource type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: Resource type.
+ *
+ * @param type the type value to set.
+ * @return the WorkspaceCollectionInner object itself.
+ */
+ public WorkspaceCollectionInner withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the location property: Azure location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Azure location.
+ *
+ * @param location the location value to set.
+ * @return the WorkspaceCollectionInner object itself.
+ */
+ public WorkspaceCollectionInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the tags property: Dictionary of <string>.
+ *
+ * @return the tags value.
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags property: Dictionary of <string>.
+ *
+ * @param tags the tags value to set.
+ * @return the WorkspaceCollectionInner object itself.
+ */
+ public WorkspaceCollectionInner withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /**
+ * Get the sku property: The sku property.
+ *
+ * @return the sku value.
+ */
+ public AzureSku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: The sku property.
+ *
+ * @param sku the sku value to set.
+ * @return the WorkspaceCollectionInner object itself.
+ */
+ public WorkspaceCollectionInner withSku(AzureSku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the properties property: Properties.
+ *
+ * @return the properties value.
+ */
+ public Object properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Properties.
+ *
+ * @param properties the properties value to set.
+ * @return the WorkspaceCollectionInner object itself.
+ */
+ public WorkspaceCollectionInner withProperties(Object properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() != null) {
+ sku().validate();
+ }
+ }
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/WorkspaceInner.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/WorkspaceInner.java
new file mode 100644
index 0000000000000..e67d619e44e78
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/WorkspaceInner.java
@@ -0,0 +1,128 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The Workspace model. */
+@Fluent
+public final class WorkspaceInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(WorkspaceInner.class);
+
+ /*
+ * Workspace id
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * Workspace name
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * Resource type
+ */
+ @JsonProperty(value = "type")
+ private String type;
+
+ /*
+ * Property bag
+ */
+ @JsonProperty(value = "properties")
+ private Object properties;
+
+ /**
+ * Get the id property: Workspace id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Workspace id.
+ *
+ * @param id the id value to set.
+ * @return the WorkspaceInner object itself.
+ */
+ public WorkspaceInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the name property: Workspace name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Workspace name.
+ *
+ * @param name the name value to set.
+ * @return the WorkspaceInner object itself.
+ */
+ public WorkspaceInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the type property: Resource type.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: Resource type.
+ *
+ * @param type the type value to set.
+ * @return the WorkspaceInner object itself.
+ */
+ public WorkspaceInner withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the properties property: Property bag.
+ *
+ * @return the properties value.
+ */
+ public Object properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Property bag.
+ *
+ * @param properties the properties value to set.
+ * @return the WorkspaceInner object itself.
+ */
+ public WorkspaceInner withProperties(Object properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/package-info.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/package-info.java
new file mode 100644
index 0000000000000..9e485fb44804a
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/models/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the inner data models for PowerBIEmbeddedManagementClient. Client to manage your Power BI Embedded
+ * workspace collections and retrieve workspaces.
+ */
+package com.azure.resourcemanager.powerbiembedded.fluent.models;
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/package-info.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/package-info.java
new file mode 100644
index 0000000000000..67fe6171218d8
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/fluent/package-info.java
@@ -0,0 +1,9 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+/**
+ * Package containing the service clients for PowerBIEmbeddedManagementClient. Client to manage your Power BI Embedded
+ * workspace collections and retrieve workspaces.
+ */
+package com.azure.resourcemanager.powerbiembedded.fluent;
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/CheckNameResponseImpl.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/CheckNameResponseImpl.java
new file mode 100644
index 0000000000000..136b07f459b27
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/CheckNameResponseImpl.java
@@ -0,0 +1,42 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.implementation;
+
+import com.azure.resourcemanager.powerbiembedded.fluent.models.CheckNameResponseInner;
+import com.azure.resourcemanager.powerbiembedded.models.CheckNameReason;
+import com.azure.resourcemanager.powerbiembedded.models.CheckNameResponse;
+
+public final class CheckNameResponseImpl implements CheckNameResponse {
+ private CheckNameResponseInner innerObject;
+
+ private final com.azure.resourcemanager.powerbiembedded.PowerBIEmbeddedManager serviceManager;
+
+ CheckNameResponseImpl(
+ CheckNameResponseInner innerObject,
+ com.azure.resourcemanager.powerbiembedded.PowerBIEmbeddedManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public Boolean nameAvailable() {
+ return this.innerModel().nameAvailable();
+ }
+
+ public CheckNameReason reason() {
+ return this.innerModel().reason();
+ }
+
+ public String message() {
+ return this.innerModel().message();
+ }
+
+ public CheckNameResponseInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.powerbiembedded.PowerBIEmbeddedManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/OperationListImpl.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/OperationListImpl.java
new file mode 100644
index 0000000000000..5130ee06e458d
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/OperationListImpl.java
@@ -0,0 +1,41 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.implementation;
+
+import com.azure.resourcemanager.powerbiembedded.fluent.models.OperationListInner;
+import com.azure.resourcemanager.powerbiembedded.models.Operation;
+import com.azure.resourcemanager.powerbiembedded.models.OperationList;
+import java.util.Collections;
+import java.util.List;
+
+public final class OperationListImpl implements OperationList {
+ private OperationListInner innerObject;
+
+ private final com.azure.resourcemanager.powerbiembedded.PowerBIEmbeddedManager serviceManager;
+
+ OperationListImpl(
+ OperationListInner innerObject,
+ com.azure.resourcemanager.powerbiembedded.PowerBIEmbeddedManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public List value() {
+ List inner = this.innerModel().value();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public OperationListInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.powerbiembedded.PowerBIEmbeddedManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/PowerBIEmbeddedManagementClientBuilder.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/PowerBIEmbeddedManagementClientBuilder.java
new file mode 100644
index 0000000000000..7312e015ea85c
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/PowerBIEmbeddedManagementClientBuilder.java
@@ -0,0 +1,149 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.implementation;
+
+import com.azure.core.annotation.ServiceClientBuilder;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.CookiePolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.serializer.SerializerAdapter;
+import java.time.Duration;
+
+/** A builder for creating a new instance of the PowerBIEmbeddedManagementClientImpl type. */
+@ServiceClientBuilder(serviceClients = {PowerBIEmbeddedManagementClientImpl.class})
+public final class PowerBIEmbeddedManagementClientBuilder {
+ /*
+ * Gets subscription credentials which uniquely identify a Microsoft Azure
+ * subscription. The subscription ID forms part of the URI for every
+ * service call.
+ */
+ private String subscriptionId;
+
+ /**
+ * Sets Gets subscription credentials which uniquely identify a Microsoft Azure subscription. The subscription ID
+ * forms part of the URI for every service call.
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the PowerBIEmbeddedManagementClientBuilder.
+ */
+ public PowerBIEmbeddedManagementClientBuilder subscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /*
+ * server parameter
+ */
+ private String endpoint;
+
+ /**
+ * Sets server parameter.
+ *
+ * @param endpoint the endpoint value.
+ * @return the PowerBIEmbeddedManagementClientBuilder.
+ */
+ public PowerBIEmbeddedManagementClientBuilder endpoint(String endpoint) {
+ this.endpoint = endpoint;
+ return this;
+ }
+
+ /*
+ * The environment to connect to
+ */
+ private AzureEnvironment environment;
+
+ /**
+ * Sets The environment to connect to.
+ *
+ * @param environment the environment value.
+ * @return the PowerBIEmbeddedManagementClientBuilder.
+ */
+ public PowerBIEmbeddedManagementClientBuilder environment(AzureEnvironment environment) {
+ this.environment = environment;
+ return this;
+ }
+
+ /*
+ * The default poll interval for long-running operation
+ */
+ private Duration defaultPollInterval;
+
+ /**
+ * Sets The default poll interval for long-running operation.
+ *
+ * @param defaultPollInterval the defaultPollInterval value.
+ * @return the PowerBIEmbeddedManagementClientBuilder.
+ */
+ public PowerBIEmbeddedManagementClientBuilder defaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = defaultPollInterval;
+ return this;
+ }
+
+ /*
+ * The HTTP pipeline to send requests through
+ */
+ private HttpPipeline pipeline;
+
+ /**
+ * Sets The HTTP pipeline to send requests through.
+ *
+ * @param pipeline the pipeline value.
+ * @return the PowerBIEmbeddedManagementClientBuilder.
+ */
+ public PowerBIEmbeddedManagementClientBuilder pipeline(HttpPipeline pipeline) {
+ this.pipeline = pipeline;
+ return this;
+ }
+
+ /*
+ * The serializer to serialize an object into a string
+ */
+ private SerializerAdapter serializerAdapter;
+
+ /**
+ * Sets The serializer to serialize an object into a string.
+ *
+ * @param serializerAdapter the serializerAdapter value.
+ * @return the PowerBIEmbeddedManagementClientBuilder.
+ */
+ public PowerBIEmbeddedManagementClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) {
+ this.serializerAdapter = serializerAdapter;
+ return this;
+ }
+
+ /**
+ * Builds an instance of PowerBIEmbeddedManagementClientImpl with the provided parameters.
+ *
+ * @return an instance of PowerBIEmbeddedManagementClientImpl.
+ */
+ public PowerBIEmbeddedManagementClientImpl buildClient() {
+ if (endpoint == null) {
+ this.endpoint = "https://management.azure.com";
+ }
+ if (environment == null) {
+ this.environment = AzureEnvironment.AZURE;
+ }
+ if (defaultPollInterval == null) {
+ this.defaultPollInterval = Duration.ofSeconds(30);
+ }
+ if (pipeline == null) {
+ this.pipeline =
+ new HttpPipelineBuilder()
+ .policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy())
+ .build();
+ }
+ if (serializerAdapter == null) {
+ this.serializerAdapter = SerializerFactory.createDefaultManagementSerializerAdapter();
+ }
+ PowerBIEmbeddedManagementClientImpl client =
+ new PowerBIEmbeddedManagementClientImpl(
+ pipeline, serializerAdapter, defaultPollInterval, environment, subscriptionId, endpoint);
+ return client;
+ }
+}
diff --git a/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/PowerBIEmbeddedManagementClientImpl.java b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/PowerBIEmbeddedManagementClientImpl.java
new file mode 100644
index 0000000000000..6ee0dbfcc94df
--- /dev/null
+++ b/sdk/powerbiembedded/azure-resourcemanager-powerbiembedded/src/main/java/com/azure/resourcemanager/powerbiembedded/implementation/PowerBIEmbeddedManagementClientImpl.java
@@ -0,0 +1,326 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiembedded.implementation;
+
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.http.HttpHeaders;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpResponse;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.management.polling.PollerFactory;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.AsyncPollResponse;
+import com.azure.core.util.polling.LongRunningOperationStatus;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.serializer.SerializerAdapter;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.powerbiembedded.fluent.PowerBIEmbeddedManagementClient;
+import com.azure.resourcemanager.powerbiembedded.fluent.ResourceProvidersClient;
+import com.azure.resourcemanager.powerbiembedded.fluent.WorkspaceCollectionsClient;
+import com.azure.resourcemanager.powerbiembedded.fluent.WorkspacesClient;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.time.Duration;
+import java.util.Map;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** Initializes a new instance of the PowerBIEmbeddedManagementClientImpl type. */
+@ServiceClient(builder = PowerBIEmbeddedManagementClientBuilder.class)
+public final class PowerBIEmbeddedManagementClientImpl implements PowerBIEmbeddedManagementClient {
+ private final ClientLogger logger = new ClientLogger(PowerBIEmbeddedManagementClientImpl.class);
+
+ /**
+ * Gets subscription credentials which uniquely identify a Microsoft Azure subscription. The subscription ID forms
+ * part of the URI for every service call.
+ */
+ private final String subscriptionId;
+
+ /**
+ * Gets Gets subscription credentials which uniquely identify a Microsoft Azure subscription. The subscription ID
+ * forms part of the URI for every service call.
+ *
+ * @return the subscriptionId value.
+ */
+ public String getSubscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /** server parameter. */
+ private final String endpoint;
+
+ /**
+ * Gets server parameter.
+ *
+ * @return the endpoint value.
+ */
+ public String getEndpoint() {
+ return this.endpoint;
+ }
+
+ /** Api Version. */
+ private final String apiVersion;
+
+ /**
+ * Gets Api Version.
+ *
+ * @return the apiVersion value.
+ */
+ public String getApiVersion() {
+ return this.apiVersion;
+ }
+
+ /** The HTTP pipeline to send requests through. */
+ private final HttpPipeline httpPipeline;
+
+ /**
+ * Gets The HTTP pipeline to send requests through.
+ *
+ * @return the httpPipeline value.
+ */
+ public HttpPipeline getHttpPipeline() {
+ return this.httpPipeline;
+ }
+
+ /** The serializer to serialize an object into a string. */
+ private final SerializerAdapter serializerAdapter;
+
+ /**
+ * Gets The serializer to serialize an object into a string.
+ *
+ * @return the serializerAdapter value.
+ */
+ SerializerAdapter getSerializerAdapter() {
+ return this.serializerAdapter;
+ }
+
+ /** The default poll interval for long-running operation. */
+ private final Duration defaultPollInterval;
+
+ /**
+ * Gets The default poll interval for long-running operation.
+ *
+ * @return the defaultPollInterval value.
+ */
+ public Duration getDefaultPollInterval() {
+ return this.defaultPollInterval;
+ }
+
+ /** The WorkspaceCollectionsClient object to access its operations. */
+ private final WorkspaceCollectionsClient workspaceCollections;
+
+ /**
+ * Gets the WorkspaceCollectionsClient object to access its operations.
+ *
+ * @return the WorkspaceCollectionsClient object.
+ */
+ public WorkspaceCollectionsClient getWorkspaceCollections() {
+ return this.workspaceCollections;
+ }
+
+ /** The ResourceProvidersClient object to access its operations. */
+ private final ResourceProvidersClient resourceProviders;
+
+ /**
+ * Gets the ResourceProvidersClient object to access its operations.
+ *
+ * @return the ResourceProvidersClient object.
+ */
+ public ResourceProvidersClient getResourceProviders() {
+ return this.resourceProviders;
+ }
+
+ /** The WorkspacesClient object to access its operations. */
+ private final WorkspacesClient workspaces;
+
+ /**
+ * Gets the WorkspacesClient object to access its operations.
+ *
+ * @return the WorkspacesClient object.
+ */
+ public WorkspacesClient getWorkspaces() {
+ return this.workspaces;
+ }
+
+ /**
+ * Initializes an instance of PowerBIEmbeddedManagementClient client.
+ *
+ * @param httpPipeline The HTTP pipeline to send requests through.
+ * @param serializerAdapter The serializer to serialize an object into a string.
+ * @param defaultPollInterval The default poll interval for long-running operation.
+ * @param environment The Azure environment.
+ * @param subscriptionId Gets subscription credentials which uniquely identify a Microsoft Azure subscription. The
+ * subscription ID forms part of the URI for every service call.
+ * @param endpoint server parameter.
+ */
+ PowerBIEmbeddedManagementClientImpl(
+ HttpPipeline httpPipeline,
+ SerializerAdapter serializerAdapter,
+ Duration defaultPollInterval,
+ AzureEnvironment environment,
+ String subscriptionId,
+ String endpoint) {
+ this.httpPipeline = httpPipeline;
+ this.serializerAdapter = serializerAdapter;
+ this.defaultPollInterval = defaultPollInterval;
+ this.subscriptionId = subscriptionId;
+ this.endpoint = endpoint;
+ this.apiVersion = "2016-01-29";
+ this.workspaceCollections = new WorkspaceCollectionsClientImpl(this);
+ this.resourceProviders = new ResourceProvidersClientImpl(this);
+ this.workspaces = new WorkspacesClientImpl(this);
+ }
+
+ /**
+ * Gets default client context.
+ *
+ * @return the default client context.
+ */
+ public Context getContext() {
+ return Context.NONE;
+ }
+
+ /**
+ * Merges default client context with provided context.
+ *
+ * @param context the context to be merged with default client context.
+ * @return the merged context.
+ */
+ public Context mergeContext(Context context) {
+ for (Map.Entry