diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 053d18426c3e..b753ea139a93 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -340,6 +340,7 @@ com.azure.resourcemanager:azure-resourcemanager-securityinsights;1.0.0-beta.2;1.
com.azure.resourcemanager:azure-resourcemanager-oep;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-dnsresolver;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-mobilenetwork;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-powerbiprivatelinks;1.0.0-beta.1;1.0.0-beta.1
com.azure.tools:azure-sdk-archetype;1.0.0;1.0.0
com.azure.tools:azure-sdk-build-tool;1.0.0-beta.1;1.0.0-beta.2
diff --git a/pom.xml b/pom.xml
index f3ba561857a5..39bac6a32729 100644
--- a/pom.xml
+++ b/pom.xml
@@ -940,6 +940,7 @@
sdk/postgresqlsdk/postgresqlflexibleserversdk/powerbidedicated
+ sdk/powerbiprivatelinkssdk/purviewsdk/quantumsdk/quota
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/CHANGELOG.md b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/CHANGELOG.md
new file mode 100644
index 000000000000..f9121e3c644f
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2022-03-24)
+
+- Azure Resource Manager PrivateLinkServicesForPowerBI client library for Java. This package contains Microsoft Azure SDK for PrivateLinkServicesForPowerBI Management SDK. Client to manage Power BI Private Link Service resources and connection members. Package tag package-2020-06-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/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/README.md b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/README.md
new file mode 100644
index 000000000000..405be7e04a1b
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/README.md
@@ -0,0 +1,102 @@
+# Azure Resource Manager PrivateLinkServicesForPowerBI client library for Java
+
+Azure Resource Manager PrivateLinkServicesForPowerBI client library for Java.
+
+This package contains Microsoft Azure SDK for PrivateLinkServicesForPowerBI Management SDK. Client to manage Power BI Private Link Service resources and connection members. Package tag package-2020-06-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-powerbiprivatelinks;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-powerbiprivatelinks
+ 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();
+PrivateLinkServicesForPowerBIManager manager = PrivateLinkServicesForPowerBIManager
+ .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/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/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/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/SAMPLE.md b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/SAMPLE.md
new file mode 100644
index 000000000000..acdccd0c8523
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/SAMPLE.md
@@ -0,0 +1,361 @@
+# Code snippets and samples
+
+
+## Operations
+
+- [List](#operations_list)
+
+## PowerBIResources
+
+- [Create](#powerbiresources_create)
+- [Delete](#powerbiresources_delete)
+- [GetByResourceGroup](#powerbiresources_getbyresourcegroup)
+
+## PrivateEndpointConnections
+
+- [Create](#privateendpointconnections_create)
+- [Delete](#privateendpointconnections_delete)
+- [Get](#privateendpointconnections_get)
+- [ListByResource](#privateendpointconnections_listbyresource)
+
+## PrivateLinkResources
+
+- [Get](#privatelinkresources_get)
+- [ListByResource](#privatelinkresources_listbyresource)
+
+## PrivateLinkServiceResourceOperationResults
+
+- [Get](#privatelinkserviceresourceoperationresults_get)
+
+## PrivateLinkServices
+
+- [ListByResourceGroup](#privatelinkservices_listbyresourcegroup)
+
+## PrivateLinkServicesForPowerBI
+
+- [ListBySubscriptionId](#privatelinkservicesforpowerbi_listbysubscriptionid)
+### Operations_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for Operations List. */
+public final class OperationsListSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/Operations_List.json
+ */
+ /**
+ * Sample code: Lists all of the available Power BI RP operations.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void listsAllOfTheAvailablePowerBIRPOperations(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager.operations().list(Context.NONE);
+ }
+}
+```
+
+### PowerBIResources_Create
+
+```java
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for PowerBIResources Create. */
+public final class PowerBIResourcesCreateSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PowerBIResources_Create.json
+ */
+ /**
+ * Sample code: Creates or updates private link service resource.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void createsOrUpdatesPrivateLinkServiceResource(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager
+ .powerBIResources()
+ .define("azureResourceName")
+ .withRegion("global")
+ .withExistingResourceGroup("resourceGroup")
+ .withTags(mapOf("tag1", "value1", "tag2", "value2"))
+ .withTenantId("ac2bc297-8a3e-46f3-972d-87c2b4ae6e2f")
+ .withClientTenantId("ac2bc297-8a3e-46f3-972d-87c2b4ae6e2f")
+ .create();
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### PowerBIResources_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PowerBIResources Delete. */
+public final class PowerBIResourcesDeleteSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PowerBIResources_Delete.json
+ */
+ /**
+ * Sample code: Deletes private link service resource.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void deletesPrivateLinkServiceResource(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager.powerBIResources().deleteWithResponse("resourceGroup", "azureResourceName", Context.NONE);
+ }
+}
+```
+
+### PowerBIResources_GetByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PowerBIResources GetByResourceGroup. */
+public final class PowerBIResourcesGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PowerBIResources_ListByResourceName.json
+ */
+ /**
+ * Sample code: List private link resources in a Azure resource.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void listPrivateLinkResourcesInAAzureResource(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager.powerBIResources().getByResourceGroupWithResponse("resourceGroup", "azureResourceName", Context.NONE);
+ }
+}
+```
+
+### PrivateEndpointConnections_Create
+
+```java
+import com.azure.resourcemanager.powerbiprivatelinks.models.ConnectionState;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PersistedConnectionStatus;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateEndpoint;
+
+/** Samples for PrivateEndpointConnections Create. */
+public final class PrivateEndpointConnectionsCreateSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PrivateEndpointConnections_Create.json
+ */
+ /**
+ * Sample code: Updates status of private endpoint connection.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void updatesStatusOfPrivateEndpointConnection(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager
+ .privateEndpointConnections()
+ .define("myPrivateEndpointName")
+ .withExistingPrivateLinkServicesForPowerBI("resourceGroup", "azureResourceName")
+ .withPrivateEndpoint(
+ new PrivateEndpoint()
+ .withId(
+ "/subscriptions/a0020869-4d28-422a-89f4-c2413130d73c/resourceGroups/resourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpointName"))
+ .withPrivateLinkServiceConnectionState(
+ new ConnectionState()
+ .withStatus(PersistedConnectionStatus.fromString("Approved "))
+ .withDescription("")
+ .withActionsRequired("None"))
+ .create();
+ }
+}
+```
+
+### PrivateEndpointConnections_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateEndpointConnections Delete. */
+public final class PrivateEndpointConnectionsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PrivateEndpointConnections_Delete.json
+ */
+ /**
+ * Sample code: Deletes private endpoint connection.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void deletesPrivateEndpointConnection(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager
+ .privateEndpointConnections()
+ .delete("resourceGroup", "azureResourceName", "myPrivateEndpointName", Context.NONE);
+ }
+}
+```
+
+### PrivateEndpointConnections_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateEndpointConnections Get. */
+public final class PrivateEndpointConnectionsGetSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PrivateEndpointConnections_Get.json
+ */
+ /**
+ * Sample code: Gets private endpoint connection.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void getsPrivateEndpointConnection(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager
+ .privateEndpointConnections()
+ .getWithResponse("resourceGroup", "azureResourceName", "myPrivateEndpointName", Context.NONE);
+ }
+}
+```
+
+### PrivateEndpointConnections_ListByResource
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateEndpointConnections ListByResource. */
+public final class PrivateEndpointConnectionsListByResourceSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PrivateEndpointConnections_ListByResource.json
+ */
+ /**
+ * Sample code: Gets private endpoint connections.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void getsPrivateEndpointConnections(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager.privateEndpointConnections().listByResource("resourceGroup", "azureResourceName", Context.NONE);
+ }
+}
+```
+
+### PrivateLinkResources_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkResources Get. */
+public final class PrivateLinkResourcesGetSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PrivateLinkResources_Get.json
+ */
+ /**
+ * Sample code: Gets a private link resource.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void getsAPrivateLinkResource(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager.privateLinkResources().getWithResponse("resourceGroup", "azureResourceName", "tenant", Context.NONE);
+ }
+}
+```
+
+### PrivateLinkResources_ListByResource
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkResources ListByResource. */
+public final class PrivateLinkResourcesListByResourceSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PrivateLinkResources_ListByResource.json
+ */
+ /**
+ * Sample code: Gets private link resources in a Azure resource.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void getsPrivateLinkResourcesInAAzureResource(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager.privateLinkResources().listByResource("resourceGroup", "azureResourceName", Context.NONE);
+ }
+}
+```
+
+### PrivateLinkServiceResourceOperationResults_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkServiceResourceOperationResults Get. */
+public final class PrivateLinkServiceResourceOperationResultsGetSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PrivateLinkServiceResourceOperationResults_Get.json
+ */
+ /**
+ * Sample code: Result of operation on private link resources.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void resultOfOperationOnPrivateLinkResources(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager.privateLinkServiceResourceOperationResults().get("9a062a88-e463-4697-bef2-fe039df73a02", Context.NONE);
+ }
+}
+```
+
+### PrivateLinkServices_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkServices ListByResourceGroup. */
+public final class PrivateLinkServicesListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PrivateLinkServices_ListByResourceGroup.json
+ */
+ /**
+ * Sample code: List private link resources in a resource group.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void listPrivateLinkResourcesInAResourceGroup(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager.privateLinkServices().listByResourceGroupWithResponse("resourceGroup", Context.NONE);
+ }
+}
+```
+
+### PrivateLinkServicesForPowerBI_ListBySubscriptionId
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkServicesForPowerBI ListBySubscriptionId. */
+public final class PrivateLinkServicesForPowerBIListBySubscriptionIdSamples {
+ /*
+ * x-ms-original-file: specification/powerbiprivatelinks/resource-manager/Microsoft.PowerBI/stable/2020-06-01/examples/PrivateLinkServices_ListBySubscriptionId.json
+ */
+ /**
+ * Sample code: List private link resources in a subscription.
+ *
+ * @param manager Entry point to PrivateLinkServicesForPowerBIManager.
+ */
+ public static void listPrivateLinkResourcesInASubscription(
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager) {
+ manager.privateLinkServicesForPowerBIs().listBySubscriptionIdWithResponse(Context.NONE);
+ }
+}
+```
+
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/pom.xml b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/pom.xml
new file mode 100644
index 000000000000..94247c4416b6
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/pom.xml
@@ -0,0 +1,55 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-powerbiprivatelinks
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for PrivateLinkServicesForPowerBI Management
+ This package contains Microsoft Azure SDK for PrivateLinkServicesForPowerBI Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Client to manage Power BI Private Link Service resources and connection members. Package tag package-2020-06-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
+
+
+
+ com.azure
+ azure-core
+ 1.26.0
+
+
+ com.azure
+ azure-core-management
+ 1.5.3
+
+
+
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/PrivateLinkServicesForPowerBIManager.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/PrivateLinkServicesForPowerBIManager.java
new file mode 100644
index 000000000000..f2e51cd16054
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/PrivateLinkServicesForPowerBIManager.java
@@ -0,0 +1,325 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks;
+
+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.powerbiprivatelinks.fluent.PrivateLinkServicesForPowerBIClient;
+import com.azure.resourcemanager.powerbiprivatelinks.implementation.OperationsImpl;
+import com.azure.resourcemanager.powerbiprivatelinks.implementation.PowerBIResourcesImpl;
+import com.azure.resourcemanager.powerbiprivatelinks.implementation.PrivateEndpointConnectionsImpl;
+import com.azure.resourcemanager.powerbiprivatelinks.implementation.PrivateLinkResourcesImpl;
+import com.azure.resourcemanager.powerbiprivatelinks.implementation.PrivateLinkServiceResourceOperationResultsImpl;
+import com.azure.resourcemanager.powerbiprivatelinks.implementation.PrivateLinkServicesForPowerBIClientBuilder;
+import com.azure.resourcemanager.powerbiprivatelinks.implementation.PrivateLinkServicesForPowerBIsImpl;
+import com.azure.resourcemanager.powerbiprivatelinks.implementation.PrivateLinkServicesImpl;
+import com.azure.resourcemanager.powerbiprivatelinks.models.Operations;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PowerBIResources;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateEndpointConnections;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkResources;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkServiceResourceOperationResults;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkServices;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkServicesForPowerBIs;
+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 PrivateLinkServicesForPowerBIManager. Client to manage Power BI Private Link Service resources and
+ * connection members.
+ */
+public final class PrivateLinkServicesForPowerBIManager {
+ private Operations operations;
+
+ private PrivateLinkServicesForPowerBIs privateLinkServicesForPowerBIs;
+
+ private PrivateLinkServiceResourceOperationResults privateLinkServiceResourceOperationResults;
+
+ private PrivateLinkServices privateLinkServices;
+
+ private PowerBIResources powerBIResources;
+
+ private PrivateLinkResources privateLinkResources;
+
+ private PrivateEndpointConnections privateEndpointConnections;
+
+ private final PrivateLinkServicesForPowerBIClient clientObject;
+
+ private PrivateLinkServicesForPowerBIManager(
+ HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new PrivateLinkServicesForPowerBIClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of PrivateLinkServicesForPowerBI service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the PrivateLinkServicesForPowerBI service API instance.
+ */
+ public static PrivateLinkServicesForPowerBIManager 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 PrivateLinkServicesForPowerBIManager with optional
+ * configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new PrivateLinkServicesForPowerBIManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private static 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, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of PrivateLinkServicesForPowerBI service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the PrivateLinkServicesForPowerBI service API instance.
+ */
+ public PrivateLinkServicesForPowerBIManager 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.powerbiprivatelinks")
+ .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 PrivateLinkServicesForPowerBIManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of PrivateLinkServicesForPowerBIs. */
+ public PrivateLinkServicesForPowerBIs privateLinkServicesForPowerBIs() {
+ if (this.privateLinkServicesForPowerBIs == null) {
+ this.privateLinkServicesForPowerBIs =
+ new PrivateLinkServicesForPowerBIsImpl(clientObject.getPrivateLinkServicesForPowerBIs(), this);
+ }
+ return privateLinkServicesForPowerBIs;
+ }
+
+ /** @return Resource collection API of PrivateLinkServiceResourceOperationResults. */
+ public PrivateLinkServiceResourceOperationResults privateLinkServiceResourceOperationResults() {
+ if (this.privateLinkServiceResourceOperationResults == null) {
+ this.privateLinkServiceResourceOperationResults =
+ new PrivateLinkServiceResourceOperationResultsImpl(
+ clientObject.getPrivateLinkServiceResourceOperationResults(), this);
+ }
+ return privateLinkServiceResourceOperationResults;
+ }
+
+ /** @return Resource collection API of PrivateLinkServices. */
+ public PrivateLinkServices privateLinkServices() {
+ if (this.privateLinkServices == null) {
+ this.privateLinkServices = new PrivateLinkServicesImpl(clientObject.getPrivateLinkServices(), this);
+ }
+ return privateLinkServices;
+ }
+
+ /** @return Resource collection API of PowerBIResources. */
+ public PowerBIResources powerBIResources() {
+ if (this.powerBIResources == null) {
+ this.powerBIResources = new PowerBIResourcesImpl(clientObject.getPowerBIResources(), this);
+ }
+ return powerBIResources;
+ }
+
+ /** @return Resource collection API of PrivateLinkResources. */
+ public PrivateLinkResources privateLinkResources() {
+ if (this.privateLinkResources == null) {
+ this.privateLinkResources = new PrivateLinkResourcesImpl(clientObject.getPrivateLinkResources(), this);
+ }
+ return privateLinkResources;
+ }
+
+ /** @return Resource collection API of PrivateEndpointConnections. */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections =
+ new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /**
+ * @return Wrapped service client PrivateLinkServicesForPowerBIClient providing direct access to the underlying
+ * auto-generated API implementation, based on Azure REST API.
+ */
+ public PrivateLinkServicesForPowerBIClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/OperationsClient.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/OperationsClient.java
new file mode 100644
index 000000000000..dc7581dbdf52
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/OperationsClient.java
@@ -0,0 +1,38 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.powerbiprivatelinks.fluent.models.OperationInner;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public interface OperationsClient {
+ /**
+ * Lists all of the available Power BI RP operations.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all of the available Power BI RP operations.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return 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/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PowerBIResourcesClient.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PowerBIResourcesClient.java
new file mode 100644
index 000000000000..e4273137bd15
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PowerBIResourcesClient.java
@@ -0,0 +1,141 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.powerbiprivatelinks.fluent.models.TenantResourceInner;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in PowerBIResourcesClient. */
+public interface PowerBIResourcesClient {
+ /**
+ * Gets all the private link resources for the given Azure resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 all the private link resources for the given Azure resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List getByResourceGroup(String resourceGroupName, String azureResourceName);
+
+ /**
+ * Gets all the private link resources for the given Azure resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 all the private link resources for the given Azure resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> getByResourceGroupWithResponse(
+ String resourceGroupName, String azureResourceName, Context context);
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or 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 tenantResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TenantResourceInner create(String resourceGroupName, String azureResourceName, TenantResourceInner body);
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @param clientTenantId The client tenant id in header. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @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 tenantResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String azureResourceName,
+ TenantResourceInner body,
+ String clientTenantId,
+ Context context);
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or 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 tenantResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ TenantResourceInner update(String resourceGroupName, String azureResourceName, TenantResourceInner body);
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @param clientTenantId The client tenant id in header. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @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 tenantResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String azureResourceName,
+ TenantResourceInner body,
+ String clientTenantId,
+ Context context);
+
+ /**
+ * Deletes a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 azureResourceName);
+
+ /**
+ * Deletes a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String azureResourceName, Context context);
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateEndpointConnectionsClient.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateEndpointConnectionsClient.java
new file mode 100644
index 000000000000..81d948a12cbd
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateEndpointConnectionsClient.java
@@ -0,0 +1,173 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.powerbiprivatelinks.fluent.models.PrivateEndpointConnectionInner;
+
+/** An instance of this class provides access to all the operations defined in PrivateEndpointConnectionsClient. */
+public interface PrivateEndpointConnectionsClient {
+ /**
+ * Gets private endpoint connection for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param azureResourceName The name of the powerbi 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 private endpoint connection for Power BI as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResource(String resourceGroupName, String azureResourceName);
+
+ /**
+ * Gets private endpoint connection for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param azureResourceName The name of the powerbi 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 private endpoint connection for Power BI as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResource(
+ String resourceGroupName, String azureResourceName, Context context);
+
+ /**
+ * Get a specific private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 specific private endpoint connection for Power BI by private endpoint name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner get(String resourceGroupName, String azureResourceName, String privateEndpointName);
+
+ /**
+ * Get a specific private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 specific private endpoint connection for Power BI by private endpoint name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String azureResourceName, String privateEndpointName, Context context);
+
+ /**
+ * Updates the status of Private Endpoint Connection object. Used to approve or reject a connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param privateEndpointConnection Private endpoint connection object to update.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return privateEndpointConnection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner create(
+ String resourceGroupName,
+ String azureResourceName,
+ String privateEndpointName,
+ PrivateEndpointConnectionInner privateEndpointConnection);
+
+ /**
+ * Updates the status of Private Endpoint Connection object. Used to approve or reject a connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param privateEndpointConnection Private endpoint connection object to update.
+ * @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 privateEndpointConnection along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createWithResponse(
+ String resourceGroupName,
+ String azureResourceName,
+ String privateEndpointName,
+ PrivateEndpointConnectionInner privateEndpointConnection,
+ Context context);
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 azureResourceName, String privateEndpointName);
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 azureResourceName, String privateEndpointName, Context context);
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 azureResourceName, String privateEndpointName);
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 azureResourceName, String privateEndpointName, Context context);
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkResourcesClient.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkResourcesClient.java
new file mode 100644
index 000000000000..4ee97c00b4fc
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkResourcesClient.java
@@ -0,0 +1,73 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.powerbiprivatelinks.fluent.models.PrivateLinkResourceInner;
+
+/** An instance of this class provides access to all the operations defined in PrivateLinkResourcesClient. */
+public interface PrivateLinkResourcesClient {
+ /**
+ * List private link resources under a specific Power BI resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 privateLinkResourcesListResult as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResource(String resourceGroupName, String azureResourceName);
+
+ /**
+ * List private link resources under a specific Power BI resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 privateLinkResourcesListResult as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResource(
+ String resourceGroupName, String azureResourceName, Context context);
+
+ /**
+ * Get properties of a private link resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateLinkResourceName The name of private link resource.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return properties of a private link resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkResourceInner get(String resourceGroupName, String azureResourceName, String privateLinkResourceName);
+
+ /**
+ * Get properties of a private link resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateLinkResourceName The name of private link resource.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return properties of a private link resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String azureResourceName, String privateLinkResourceName, Context context);
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServiceResourceOperationResultsClient.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServiceResourceOperationResultsClient.java
new file mode 100644
index 000000000000..a8a3c7be25dd
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServiceResourceOperationResultsClient.java
@@ -0,0 +1,69 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.AsyncOperationDetailInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * PrivateLinkServiceResourceOperationResultsClient.
+ */
+public interface PrivateLinkServiceResourceOperationResultsClient {
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async 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 operation result of Private Link Service Resources for Power BI.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AsyncOperationDetailInner> beginGet(String operationId);
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async operation.
+ * @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 operation result of Private Link Service Resources for Power BI.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, AsyncOperationDetailInner> beginGet(
+ String operationId, Context context);
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async 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 operation result of Private Link Service Resources for Power BI.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AsyncOperationDetailInner get(String operationId);
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async operation.
+ * @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 operation result of Private Link Service Resources for Power BI.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AsyncOperationDetailInner get(String operationId, Context context);
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServicesClient.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServicesClient.java
new file mode 100644
index 000000000000..9144a32066dd
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServicesClient.java
@@ -0,0 +1,40 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.powerbiprivatelinks.fluent.models.TenantResourceInner;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in PrivateLinkServicesClient. */
+public interface PrivateLinkServicesClient {
+ /**
+ * Gets all the private link resources for the given resource group.
+ *
+ * @param resourceGroupName The name of the 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 all the private link resources for the given resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets all the private link resources for the given resource group.
+ *
+ * @param resourceGroupName The name of the 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 all the private link resources for the given resource group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listByResourceGroupWithResponse(String resourceGroupName, Context context);
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServicesForPowerBIClient.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServicesForPowerBIClient.java
new file mode 100644
index 000000000000..f6cd1204e5cf
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServicesForPowerBIClient.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for PrivateLinkServicesForPowerBIClient class. */
+public interface PrivateLinkServicesForPowerBIClient {
+ /**
+ * Gets The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).
+ *
+ * @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 OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ OperationsClient getOperations();
+
+ /**
+ * Gets the PrivateLinkServicesForPowerBIsClient object to access its operations.
+ *
+ * @return the PrivateLinkServicesForPowerBIsClient object.
+ */
+ PrivateLinkServicesForPowerBIsClient getPrivateLinkServicesForPowerBIs();
+
+ /**
+ * Gets the PrivateLinkServiceResourceOperationResultsClient object to access its operations.
+ *
+ * @return the PrivateLinkServiceResourceOperationResultsClient object.
+ */
+ PrivateLinkServiceResourceOperationResultsClient getPrivateLinkServiceResourceOperationResults();
+
+ /**
+ * Gets the PrivateLinkServicesClient object to access its operations.
+ *
+ * @return the PrivateLinkServicesClient object.
+ */
+ PrivateLinkServicesClient getPrivateLinkServices();
+
+ /**
+ * Gets the PowerBIResourcesClient object to access its operations.
+ *
+ * @return the PowerBIResourcesClient object.
+ */
+ PowerBIResourcesClient getPowerBIResources();
+
+ /**
+ * Gets the PrivateLinkResourcesClient object to access its operations.
+ *
+ * @return the PrivateLinkResourcesClient object.
+ */
+ PrivateLinkResourcesClient getPrivateLinkResources();
+
+ /**
+ * Gets the PrivateEndpointConnectionsClient object to access its operations.
+ *
+ * @return the PrivateEndpointConnectionsClient object.
+ */
+ PrivateEndpointConnectionsClient getPrivateEndpointConnections();
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServicesForPowerBIsClient.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServicesForPowerBIsClient.java
new file mode 100644
index 000000000000..8ea5d2604dc6
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkServicesForPowerBIsClient.java
@@ -0,0 +1,37 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.powerbiprivatelinks.fluent.models.TenantResourceInner;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in PrivateLinkServicesForPowerBIsClient. */
+public interface PrivateLinkServicesForPowerBIsClient {
+ /**
+ * Gets all the private link resources for the given 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 all the private link resources for the given subscription id.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listBySubscriptionId();
+
+ /**
+ * Gets all the private link resources for the given 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 all the private link resources for the given subscription id along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listBySubscriptionIdWithResponse(Context context);
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/AsyncOperationDetailInner.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/AsyncOperationDetailInner.java
new file mode 100644
index 000000000000..1be2b780c676
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/AsyncOperationDetailInner.java
@@ -0,0 +1,177 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.exception.ManagementError;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** AsyncOperationDetail. */
+@Fluent
+public final class AsyncOperationDetailInner {
+ /*
+ * The operation id.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * The operation name.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * The operation status.
+ */
+ @JsonProperty(value = "status")
+ private String status;
+
+ /*
+ * The operation start time.
+ */
+ @JsonProperty(value = "startTime")
+ private String startTime;
+
+ /*
+ * The operation end time.
+ */
+ @JsonProperty(value = "endTime")
+ private String endTime;
+
+ /*
+ * The error.
+ */
+ @JsonProperty(value = "error")
+ private ManagementError error;
+
+ /**
+ * Get the id property: The operation id.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: The operation id.
+ *
+ * @param id the id value to set.
+ * @return the AsyncOperationDetailInner object itself.
+ */
+ public AsyncOperationDetailInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the name property: The operation name.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: The operation name.
+ *
+ * @param name the name value to set.
+ * @return the AsyncOperationDetailInner object itself.
+ */
+ public AsyncOperationDetailInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the status property: The operation status.
+ *
+ * @return the status value.
+ */
+ public String status() {
+ return this.status;
+ }
+
+ /**
+ * Set the status property: The operation status.
+ *
+ * @param status the status value to set.
+ * @return the AsyncOperationDetailInner object itself.
+ */
+ public AsyncOperationDetailInner withStatus(String status) {
+ this.status = status;
+ return this;
+ }
+
+ /**
+ * Get the startTime property: The operation start time.
+ *
+ * @return the startTime value.
+ */
+ public String startTime() {
+ return this.startTime;
+ }
+
+ /**
+ * Set the startTime property: The operation start time.
+ *
+ * @param startTime the startTime value to set.
+ * @return the AsyncOperationDetailInner object itself.
+ */
+ public AsyncOperationDetailInner withStartTime(String startTime) {
+ this.startTime = startTime;
+ return this;
+ }
+
+ /**
+ * Get the endTime property: The operation end time.
+ *
+ * @return the endTime value.
+ */
+ public String endTime() {
+ return this.endTime;
+ }
+
+ /**
+ * Set the endTime property: The operation end time.
+ *
+ * @param endTime the endTime value to set.
+ * @return the AsyncOperationDetailInner object itself.
+ */
+ public AsyncOperationDetailInner withEndTime(String endTime) {
+ this.endTime = endTime;
+ return this;
+ }
+
+ /**
+ * Get the error property: The error.
+ *
+ * @return the error value.
+ */
+ public ManagementError error() {
+ return this.error;
+ }
+
+ /**
+ * Set the error property: The error.
+ *
+ * @param error the error value to set.
+ * @return the AsyncOperationDetailInner object itself.
+ */
+ public AsyncOperationDetailInner withError(ManagementError error) {
+ this.error = error;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/OperationInner.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/OperationInner.java
new file mode 100644
index 000000000000..a393b055805c
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/OperationInner.java
@@ -0,0 +1,121 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.powerbiprivatelinks.models.ActionType;
+import com.azure.resourcemanager.powerbiprivatelinks.models.OperationDisplay;
+import com.azure.resourcemanager.powerbiprivatelinks.models.Origin;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** REST API Operation Details of a REST API operation, returned from the Resource Provider Operations API. */
+@Fluent
+public final class OperationInner {
+ /*
+ * The name of the operation, as per Resource-Based Access Control (RBAC).
+ * Examples: "Microsoft.Compute/virtualMachines/write",
+ * "Microsoft.Compute/virtualMachines/capture/action"
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * Whether the operation applies to data-plane. This is "true" for
+ * data-plane operations and "false" for ARM/control-plane operations.
+ */
+ @JsonProperty(value = "isDataAction", access = JsonProperty.Access.WRITE_ONLY)
+ private Boolean isDataAction;
+
+ /*
+ * Localized display information for this particular operation.
+ */
+ @JsonProperty(value = "display")
+ 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"
+ */
+ @JsonProperty(value = "origin", access = JsonProperty.Access.WRITE_ONLY)
+ private Origin origin;
+
+ /*
+ * Enum. Indicates the action type. "Internal" refers to actions that are
+ * for internal only APIs.
+ */
+ @JsonProperty(value = "actionType", access = JsonProperty.Access.WRITE_ONLY)
+ private ActionType actionType;
+
+ /**
+ * 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 ARM/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;
+ }
+
+ /**
+ * Set the display property: Localized display information for this particular operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: 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: 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;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateEndpointConnectionInner.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateEndpointConnectionInner.java
new file mode 100644
index 000000000000..36392ec84c6b
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateEndpointConnectionInner.java
@@ -0,0 +1,130 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.resourcemanager.powerbiprivatelinks.models.ConnectionState;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateEndpoint;
+import com.azure.resourcemanager.powerbiprivatelinks.models.ResourceProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** PrivateEndpointConnection. */
+@Fluent
+public final class PrivateEndpointConnectionInner extends ProxyResource {
+ /*
+ * The system meta data relating to this resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * PrivateEndpointConnectionProperties Specifies the properties of the
+ * private endpoint connection.
+ */
+ @JsonProperty(value = "properties")
+ private PrivateEndpointConnectionProperties innerProperties;
+
+ /**
+ * Get the systemData property: The system meta data relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the innerProperties property: PrivateEndpointConnectionProperties Specifies the properties of the private
+ * endpoint connection.
+ *
+ * @return the innerProperties value.
+ */
+ private PrivateEndpointConnectionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the privateEndpoint property: PrivateEndpoint Specifies the private endpoint.
+ *
+ * @return the privateEndpoint value.
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateEndpoint();
+ }
+
+ /**
+ * Set the privateEndpoint property: PrivateEndpoint Specifies the private endpoint.
+ *
+ * @param privateEndpoint the privateEndpoint value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withPrivateEndpoint(privateEndpoint);
+ return this;
+ }
+
+ /**
+ * Get the privateLinkServiceConnectionState property: Specifies the connection state.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ public ConnectionState privateLinkServiceConnectionState() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateLinkServiceConnectionState();
+ }
+
+ /**
+ * Set the privateLinkServiceConnectionState property: Specifies the connection state.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withPrivateLinkServiceConnectionState(
+ ConnectionState privateLinkServiceConnectionState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withPrivateLinkServiceConnectionState(privateLinkServiceConnectionState);
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the Private Endpoint Connection.
+ *
+ * @return the provisioningState value.
+ */
+ public ResourceProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Set the provisioningState property: Provisioning state of the Private Endpoint Connection.
+ *
+ * @param provisioningState the provisioningState value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withProvisioningState(ResourceProvisioningState provisioningState) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withProvisioningState(provisioningState);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateEndpointConnectionProperties.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateEndpointConnectionProperties.java
new file mode 100644
index 000000000000..325956b2b345
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateEndpointConnectionProperties.java
@@ -0,0 +1,108 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.powerbiprivatelinks.models.ConnectionState;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateEndpoint;
+import com.azure.resourcemanager.powerbiprivatelinks.models.ResourceProvisioningState;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** PrivateEndpointConnectionProperties. */
+@Fluent
+public final class PrivateEndpointConnectionProperties {
+ /*
+ * PrivateEndpoint Specifies the private endpoint.
+ */
+ @JsonProperty(value = "privateEndpoint")
+ private PrivateEndpoint privateEndpoint;
+
+ /*
+ * Specifies the connection state.
+ */
+ @JsonProperty(value = "privateLinkServiceConnectionState")
+ private ConnectionState privateLinkServiceConnectionState;
+
+ /*
+ * Provisioning state of the Private Endpoint Connection.
+ */
+ @JsonProperty(value = "provisioningState")
+ private ResourceProvisioningState provisioningState;
+
+ /**
+ * Get the privateEndpoint property: PrivateEndpoint Specifies the private endpoint.
+ *
+ * @return the privateEndpoint value.
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.privateEndpoint;
+ }
+
+ /**
+ * Set the privateEndpoint property: PrivateEndpoint Specifies the private endpoint.
+ *
+ * @param privateEndpoint the privateEndpoint value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ this.privateEndpoint = privateEndpoint;
+ return this;
+ }
+
+ /**
+ * Get the privateLinkServiceConnectionState property: Specifies the connection state.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ public ConnectionState privateLinkServiceConnectionState() {
+ return this.privateLinkServiceConnectionState;
+ }
+
+ /**
+ * Set the privateLinkServiceConnectionState property: Specifies the connection state.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withPrivateLinkServiceConnectionState(
+ ConnectionState privateLinkServiceConnectionState) {
+ this.privateLinkServiceConnectionState = privateLinkServiceConnectionState;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the Private Endpoint Connection.
+ *
+ * @return the provisioningState value.
+ */
+ public ResourceProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Set the provisioningState property: Provisioning state of the Private Endpoint Connection.
+ *
+ * @param provisioningState the provisioningState value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withProvisioningState(ResourceProvisioningState provisioningState) {
+ this.provisioningState = provisioningState;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (privateEndpoint() != null) {
+ privateEndpoint().validate();
+ }
+ if (privateLinkServiceConnectionState() != null) {
+ privateLinkServiceConnectionState().validate();
+ }
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateLinkResourceInner.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateLinkResourceInner.java
new file mode 100644
index 000000000000..b693ba20a740
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateLinkResourceInner.java
@@ -0,0 +1,158 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** A private link resource. */
+@Fluent
+public final class PrivateLinkResourceInner {
+ /*
+ * Resource properties.
+ */
+ @JsonProperty(value = "properties")
+ private PrivateLinkResourceProperties innerProperties;
+
+ /*
+ * Fully qualified identifier of the resource.
+ */
+ @JsonProperty(value = "id")
+ private String id;
+
+ /*
+ * Name of the resource.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * Type of the resource.
+ */
+ @JsonProperty(value = "type")
+ private String type;
+
+ /**
+ * Get the innerProperties property: Resource properties.
+ *
+ * @return the innerProperties value.
+ */
+ private PrivateLinkResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the id property: Fully qualified identifier of the resource.
+ *
+ * @return the id value.
+ */
+ public String id() {
+ return this.id;
+ }
+
+ /**
+ * Set the id property: Fully qualified identifier of the resource.
+ *
+ * @param id the id value to set.
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ /**
+ * Get the name property: Name of the resource.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: Name of the resource.
+ *
+ * @param name the name value to set.
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the type property: Type of the resource.
+ *
+ * @return the type value.
+ */
+ public String type() {
+ return this.type;
+ }
+
+ /**
+ * Set the type property: Type of the resource.
+ *
+ * @param type the type value to set.
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withType(String type) {
+ this.type = type;
+ return this;
+ }
+
+ /**
+ * Get the groupId property: The private link resource group id.
+ *
+ * @return the groupId value.
+ */
+ public String groupId() {
+ return this.innerProperties() == null ? null : this.innerProperties().groupId();
+ }
+
+ /**
+ * Get the requiredMembers property: The private link resource required member names.
+ *
+ * @return the requiredMembers value.
+ */
+ public List requiredMembers() {
+ return this.innerProperties() == null ? null : this.innerProperties().requiredMembers();
+ }
+
+ /**
+ * Get the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @return the requiredZoneNames value.
+ */
+ public List requiredZoneNames() {
+ return this.innerProperties() == null ? null : this.innerProperties().requiredZoneNames();
+ }
+
+ /**
+ * Set the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @param requiredZoneNames the requiredZoneNames value to set.
+ * @return the PrivateLinkResourceInner object itself.
+ */
+ public PrivateLinkResourceInner withRequiredZoneNames(List requiredZoneNames) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateLinkResourceProperties();
+ }
+ this.innerProperties().withRequiredZoneNames(requiredZoneNames);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateLinkResourceProperties.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateLinkResourceProperties.java
new file mode 100644
index 000000000000..c9103298f001
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateLinkResourceProperties.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Properties of a private link resource. */
+@Fluent
+public final class PrivateLinkResourceProperties {
+ /*
+ * The private link resource group id.
+ */
+ @JsonProperty(value = "groupId", access = JsonProperty.Access.WRITE_ONLY)
+ private String groupId;
+
+ /*
+ * The private link resource required member names.
+ */
+ @JsonProperty(value = "requiredMembers", access = JsonProperty.Access.WRITE_ONLY)
+ private List requiredMembers;
+
+ /*
+ * The private link resource Private link DNS zone name.
+ */
+ @JsonProperty(value = "requiredZoneNames")
+ private List requiredZoneNames;
+
+ /**
+ * Get the groupId property: The private link resource group id.
+ *
+ * @return the groupId value.
+ */
+ public String groupId() {
+ return this.groupId;
+ }
+
+ /**
+ * Get the requiredMembers property: The private link resource required member names.
+ *
+ * @return the requiredMembers value.
+ */
+ public List requiredMembers() {
+ return this.requiredMembers;
+ }
+
+ /**
+ * Get the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @return the requiredZoneNames value.
+ */
+ public List requiredZoneNames() {
+ return this.requiredZoneNames;
+ }
+
+ /**
+ * Set the requiredZoneNames property: The private link resource Private link DNS zone name.
+ *
+ * @param requiredZoneNames the requiredZoneNames value to set.
+ * @return the PrivateLinkResourceProperties object itself.
+ */
+ public PrivateLinkResourceProperties withRequiredZoneNames(List requiredZoneNames) {
+ this.requiredZoneNames = requiredZoneNames;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/TenantProperties.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/TenantProperties.java
new file mode 100644
index 000000000000..3565ea755eae
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/TenantProperties.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** TenantProperties. */
+@Fluent
+public final class TenantProperties {
+ /*
+ * Specifies the tenant id of the resource.
+ */
+ @JsonProperty(value = "tenantId")
+ private String tenantId;
+
+ /*
+ * Specifies the private endpoint connections of the resource.
+ */
+ @JsonProperty(value = "privateEndpointConnections")
+ private List privateEndpointConnections;
+
+ /**
+ * Get the tenantId property: Specifies the tenant id of the resource.
+ *
+ * @return the tenantId value.
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Set the tenantId property: Specifies the tenant id of the resource.
+ *
+ * @param tenantId the tenantId value to set.
+ * @return the TenantProperties object itself.
+ */
+ public TenantProperties withTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ return this;
+ }
+
+ /**
+ * Get the privateEndpointConnections property: Specifies the private endpoint connections of the resource.
+ *
+ * @return the privateEndpointConnections value.
+ */
+ public List privateEndpointConnections() {
+ return this.privateEndpointConnections;
+ }
+
+ /**
+ * Set the privateEndpointConnections property: Specifies the private endpoint connections of the resource.
+ *
+ * @param privateEndpointConnections the privateEndpointConnections value to set.
+ * @return the TenantProperties object itself.
+ */
+ public TenantProperties withPrivateEndpointConnections(
+ List privateEndpointConnections) {
+ this.privateEndpointConnections = privateEndpointConnections;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (privateEndpointConnections() != null) {
+ privateEndpointConnections().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/TenantResourceInner.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/TenantResourceInner.java
new file mode 100644
index 000000000000..dab6d88edf6c
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/TenantResourceInner.java
@@ -0,0 +1,118 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** TenantResource. */
+@Fluent
+public final class TenantResourceInner extends Resource {
+ /*
+ * The system metadata relating to this resource.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * TenantProperties Specifies the properties of the resource.
+ */
+ @JsonProperty(value = "properties")
+ private TenantProperties innerProperties;
+
+ /**
+ * Get the systemData property: The system metadata relating to this resource.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the innerProperties property: TenantProperties Specifies the properties of the resource.
+ *
+ * @return the innerProperties value.
+ */
+ private TenantProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public TenantResourceInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public TenantResourceInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Get the tenantId property: Specifies the tenant id of the resource.
+ *
+ * @return the tenantId value.
+ */
+ public String tenantId() {
+ return this.innerProperties() == null ? null : this.innerProperties().tenantId();
+ }
+
+ /**
+ * Set the tenantId property: Specifies the tenant id of the resource.
+ *
+ * @param tenantId the tenantId value to set.
+ * @return the TenantResourceInner object itself.
+ */
+ public TenantResourceInner withTenantId(String tenantId) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new TenantProperties();
+ }
+ this.innerProperties().withTenantId(tenantId);
+ return this;
+ }
+
+ /**
+ * Get the privateEndpointConnections property: Specifies the private endpoint connections of the resource.
+ *
+ * @return the privateEndpointConnections value.
+ */
+ public List privateEndpointConnections() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateEndpointConnections();
+ }
+
+ /**
+ * Set the privateEndpointConnections property: Specifies the private endpoint connections of the resource.
+ *
+ * @param privateEndpointConnections the privateEndpointConnections value to set.
+ * @return the TenantResourceInner object itself.
+ */
+ public TenantResourceInner withPrivateEndpointConnections(
+ List privateEndpointConnections) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new TenantProperties();
+ }
+ this.innerProperties().withPrivateEndpointConnections(privateEndpointConnections);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/package-info.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/package-info.java
new file mode 100644
index 000000000000..ac98933cadb7
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/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 PrivateLinkServicesForPowerBIClient. Client to manage Power BI Private
+ * Link Service resources and connection members.
+ */
+package com.azure.resourcemanager.powerbiprivatelinks.fluent.models;
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/package-info.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/package-info.java
new file mode 100644
index 000000000000..c4e45c546e9b
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/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 PrivateLinkServicesForPowerBIClient. Client to manage Power BI Private
+ * Link Service resources and connection members.
+ */
+package com.azure.resourcemanager.powerbiprivatelinks.fluent;
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/AsyncOperationDetailImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/AsyncOperationDetailImpl.java
new file mode 100644
index 000000000000..3f342bfd7f2c
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/AsyncOperationDetailImpl.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+import com.azure.core.management.exception.ManagementError;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.AsyncOperationDetailInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.AsyncOperationDetail;
+
+public final class AsyncOperationDetailImpl implements AsyncOperationDetail {
+ private AsyncOperationDetailInner innerObject;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ AsyncOperationDetailImpl(
+ AsyncOperationDetailInner innerObject,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String status() {
+ return this.innerModel().status();
+ }
+
+ public String startTime() {
+ return this.innerModel().startTime();
+ }
+
+ public String endTime() {
+ return this.innerModel().endTime();
+ }
+
+ public ManagementError error() {
+ return this.innerModel().error();
+ }
+
+ public AsyncOperationDetailInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/OperationImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/OperationImpl.java
new file mode 100644
index 000000000000..5c0dba69fe2b
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/OperationImpl.java
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.OperationInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.ActionType;
+import com.azure.resourcemanager.powerbiprivatelinks.models.Operation;
+import com.azure.resourcemanager.powerbiprivatelinks.models.OperationDisplay;
+import com.azure.resourcemanager.powerbiprivatelinks.models.Origin;
+
+public final class OperationImpl implements Operation {
+ private OperationInner innerObject;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ OperationImpl(
+ OperationInner innerObject,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public Boolean isDataAction() {
+ return this.innerModel().isDataAction();
+ }
+
+ public OperationDisplay display() {
+ return this.innerModel().display();
+ }
+
+ public Origin origin() {
+ return this.innerModel().origin();
+ }
+
+ public ActionType actionType() {
+ return this.innerModel().actionType();
+ }
+
+ public OperationInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/OperationsClientImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/OperationsClientImpl.java
new file mode 100644
index 000000000000..f30ba053eec5
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/OperationsClientImpl.java
@@ -0,0 +1,274 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+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.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.OperationsClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.OperationInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.OperationListResult;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in OperationsClient. */
+public final class OperationsClientImpl implements OperationsClient {
+ /** The proxy service used to perform REST calls. */
+ private final OperationsService service;
+
+ /** The service client containing this operation class. */
+ private final PrivateLinkServicesForPowerBIClientImpl client;
+
+ /**
+ * Initializes an instance of OperationsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ OperationsClientImpl(PrivateLinkServicesForPowerBIClientImpl client) {
+ this.service =
+ RestProxy.create(OperationsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for PrivateLinkServicesForPowerBIClientOperations to be used by the proxy
+ * service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "PrivateLinkServicesF")
+ private interface OperationsService {
+ @Headers({"Content-Type: application/json"})
+ @Get("/providers/Microsoft.PowerBI/operations")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> list(
+ @HostParam("$host") String endpoint,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Lists all of the available Power BI RP operations.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync() {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context -> service.list(this.client.getEndpoint(), this.client.getApiVersion(), 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 of the available Power BI RP operations.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listSinglePageAsync(Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .list(this.client.getEndpoint(), this.client.getApiVersion(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Lists all of the available Power BI RP operations.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with {@link
+ * PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync() {
+ return new PagedFlux<>(() -> listSinglePageAsync(), nextLink -> listNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Lists all of the available Power BI RP operations.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with {@link
+ * PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listAsync(Context context) {
+ return new PagedFlux<>(
+ () -> listSinglePageAsync(context), nextLink -> listNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Lists all of the available Power BI RP operations.
+ *
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list() {
+ return new PagedIterable<>(listAsync());
+ }
+
+ /**
+ * Lists all of the available Power BI RP operations.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable list(Context context) {
+ return new PagedIterable<>(listAsync(context));
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listNext(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 nextLink parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of REST API operations supported by an Azure Resource Provider along with {@link PagedResponse} on
+ * successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listNextSinglePageAsync(String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/OperationsImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/OperationsImpl.java
new file mode 100644
index 000000000000..affb1dc17d1a
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/OperationsImpl.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.OperationsClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.OperationInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.Operation;
+import com.azure.resourcemanager.powerbiprivatelinks.models.Operations;
+
+public final class OperationsImpl implements Operations {
+ private static final ClientLogger LOGGER = new ClientLogger(OperationsImpl.class);
+
+ private final OperationsClient innerClient;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ public OperationsImpl(
+ OperationsClient innerClient,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable list() {
+ PagedIterable inner = this.serviceClient().list();
+ return Utils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable list(Context context) {
+ PagedIterable inner = this.serviceClient().list(context);
+ return Utils.mapPage(inner, inner1 -> new OperationImpl(inner1, this.manager()));
+ }
+
+ private OperationsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PowerBIResourcesClientImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PowerBIResourcesClientImpl.java
new file mode 100644
index 000000000000..d4e41533569b
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PowerBIResourcesClientImpl.java
@@ -0,0 +1,846 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.Patch;
+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.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PowerBIResourcesClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.TenantResourceInner;
+import java.util.List;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in PowerBIResourcesClient. */
+public final class PowerBIResourcesClientImpl implements PowerBIResourcesClient {
+ /** The proxy service used to perform REST calls. */
+ private final PowerBIResourcesService service;
+
+ /** The service client containing this operation class. */
+ private final PrivateLinkServicesForPowerBIClientImpl client;
+
+ /**
+ * Initializes an instance of PowerBIResourcesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ PowerBIResourcesClientImpl(PrivateLinkServicesForPowerBIClientImpl client) {
+ this.service =
+ RestProxy.create(PowerBIResourcesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for PrivateLinkServicesForPowerBIClientPowerBIResources to be used by the
+ * proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "PrivateLinkServicesF")
+ private interface PowerBIResourcesService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI/{azureResourceName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> getByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("azureResourceName") String azureResourceName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI/{azureResourceName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("azureResourceName") String azureResourceName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("x-ms-client-tenant-id") String clientTenantId,
+ @BodyParam("application/json") TenantResourceInner body,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Patch(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI/{azureResourceName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> update(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("azureResourceName") String azureResourceName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("x-ms-client-tenant-id") String clientTenantId,
+ @BodyParam("application/json") TenantResourceInner body,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI/{azureResourceName}")
+ @ExpectedResponses({200, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("azureResourceName") String azureResourceName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets all the private link resources for the given Azure resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 all the private link resources for the given Azure resource along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String azureResourceName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets all the private link resources for the given Azure resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 all the private link resources for the given Azure resource along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> getByResourceGroupWithResponseAsync(
+ String resourceGroupName, String azureResourceName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .getByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets all the private link resources for the given Azure resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 all the private link resources for the given Azure resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getByResourceGroupAsync(
+ String resourceGroupName, String azureResourceName) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, azureResourceName)
+ .flatMap(
+ (Response> res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Gets all the private link resources for the given Azure resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 all the private link resources for the given Azure resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public List getByResourceGroup(String resourceGroupName, String azureResourceName) {
+ return getByResourceGroupAsync(resourceGroupName, azureResourceName).block();
+ }
+
+ /**
+ * Gets all the private link resources for the given Azure resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 all the private link resources for the given Azure resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response> getByResourceGroupWithResponse(
+ String resourceGroupName, String azureResourceName, Context context) {
+ return getByResourceGroupWithResponseAsync(resourceGroupName, azureResourceName, context).block();
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @param clientTenantId The client tenant id in header. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @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 tenantResource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String resourceGroupName, String azureResourceName, TenantResourceInner body, String clientTenantId) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ clientTenantId,
+ body,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @param clientTenantId The client tenant id in header. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @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 tenantResource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String resourceGroupName,
+ String azureResourceName,
+ TenantResourceInner body,
+ String clientTenantId,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ clientTenantId,
+ body,
+ accept,
+ context);
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @param clientTenantId The client tenant id in header. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @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 tenantResource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName, String azureResourceName, TenantResourceInner body, String clientTenantId) {
+ return createWithResponseAsync(resourceGroupName, azureResourceName, body, clientTenantId)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @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 tenantResource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName, String azureResourceName, TenantResourceInner body) {
+ final String clientTenantId = null;
+ return createWithResponseAsync(resourceGroupName, azureResourceName, body, clientTenantId)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @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 tenantResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public TenantResourceInner create(String resourceGroupName, String azureResourceName, TenantResourceInner body) {
+ final String clientTenantId = null;
+ return createAsync(resourceGroupName, azureResourceName, body, clientTenantId).block();
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @param clientTenantId The client tenant id in header. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @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 tenantResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response createWithResponse(
+ String resourceGroupName,
+ String azureResourceName,
+ TenantResourceInner body,
+ String clientTenantId,
+ Context context) {
+ return createWithResponseAsync(resourceGroupName, azureResourceName, body, clientTenantId, context).block();
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @param clientTenantId The client tenant id in header. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @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 tenantResource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> updateWithResponseAsync(
+ String resourceGroupName, String azureResourceName, TenantResourceInner body, String clientTenantId) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .update(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ clientTenantId,
+ body,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @param clientTenantId The client tenant id in header. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @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 tenantResource along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> updateWithResponseAsync(
+ String resourceGroupName,
+ String azureResourceName,
+ TenantResourceInner body,
+ String clientTenantId,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (body == null) {
+ return Mono.error(new IllegalArgumentException("Parameter body is required and cannot be null."));
+ } else {
+ body.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .update(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ clientTenantId,
+ body,
+ accept,
+ context);
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @param clientTenantId The client tenant id in header. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @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 tenantResource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(
+ String resourceGroupName, String azureResourceName, TenantResourceInner body, String clientTenantId) {
+ return updateWithResponseAsync(resourceGroupName, azureResourceName, body, clientTenantId)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @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 tenantResource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono updateAsync(
+ String resourceGroupName, String azureResourceName, TenantResourceInner body) {
+ final String clientTenantId = null;
+ return updateWithResponseAsync(resourceGroupName, azureResourceName, body, clientTenantId)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @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 tenantResource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public TenantResourceInner update(String resourceGroupName, String azureResourceName, TenantResourceInner body) {
+ final String clientTenantId = null;
+ return updateAsync(resourceGroupName, azureResourceName, body, clientTenantId).block();
+ }
+
+ /**
+ * Creates or updates a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param body Tenant resource to be created or updated.
+ * @param clientTenantId The client tenant id in header. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @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 tenantResource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response updateWithResponse(
+ String resourceGroupName,
+ String azureResourceName,
+ TenantResourceInner body,
+ String clientTenantId,
+ Context context) {
+ return updateWithResponseAsync(resourceGroupName, azureResourceName, body, clientTenantId, context).block();
+ }
+
+ /**
+ * Deletes a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 azureResourceName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> deleteWithResponseAsync(
+ String resourceGroupName, String azureResourceName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Deletes a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 azureResourceName) {
+ return deleteWithResponseAsync(resourceGroupName, azureResourceName)
+ .flatMap((Response res) -> Mono.empty());
+ }
+
+ /**
+ * Deletes a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 azureResourceName) {
+ deleteAsync(resourceGroupName, azureResourceName).block();
+ }
+
+ /**
+ * Deletes a Private Link Service Resource for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteWithResponse(String resourceGroupName, String azureResourceName, Context context) {
+ return deleteWithResponseAsync(resourceGroupName, azureResourceName, context).block();
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PowerBIResourcesImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PowerBIResourcesImpl.java
new file mode 100644
index 000000000000..fb6c73fd0448
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PowerBIResourcesImpl.java
@@ -0,0 +1,131 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+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.powerbiprivatelinks.fluent.PowerBIResourcesClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.TenantResourceInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PowerBIResources;
+import com.azure.resourcemanager.powerbiprivatelinks.models.TenantResource;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public final class PowerBIResourcesImpl implements PowerBIResources {
+ private static final ClientLogger LOGGER = new ClientLogger(PowerBIResourcesImpl.class);
+
+ private final PowerBIResourcesClient innerClient;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ public PowerBIResourcesImpl(
+ PowerBIResourcesClient innerClient,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public List getByResourceGroup(String resourceGroupName, String azureResourceName) {
+ List inner = this.serviceClient().getByResourceGroup(resourceGroupName, azureResourceName);
+ if (inner != null) {
+ return Collections
+ .unmodifiableList(
+ inner
+ .stream()
+ .map(inner1 -> new TenantResourceImpl(inner1, this.manager()))
+ .collect(Collectors.toList()));
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public Response> getByResourceGroupWithResponse(
+ String resourceGroupName, String azureResourceName, Context context) {
+ Response> inner =
+ this.serviceClient().getByResourceGroupWithResponse(resourceGroupName, azureResourceName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ inner
+ .getValue()
+ .stream()
+ .map(inner1 -> new TenantResourceImpl(inner1, this.manager()))
+ .collect(Collectors.toList()));
+ } else {
+ return null;
+ }
+ }
+
+ public void deleteByResourceGroup(String resourceGroupName, String azureResourceName) {
+ this.serviceClient().delete(resourceGroupName, azureResourceName);
+ }
+
+ public Response deleteWithResponse(String resourceGroupName, String azureResourceName, Context context) {
+ return this.serviceClient().deleteWithResponse(resourceGroupName, azureResourceName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String azureResourceName = Utils.getValueFromIdByName(id, "privateLinkServicesForPowerBI");
+ if (azureResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment"
+ + " 'privateLinkServicesForPowerBI'.",
+ id)));
+ }
+ this.deleteWithResponse(resourceGroupName, azureResourceName, Context.NONE);
+ }
+
+ public Response deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String azureResourceName = Utils.getValueFromIdByName(id, "privateLinkServicesForPowerBI");
+ if (azureResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment"
+ + " 'privateLinkServicesForPowerBI'.",
+ id)));
+ }
+ return this.deleteWithResponse(resourceGroupName, azureResourceName, context);
+ }
+
+ private PowerBIResourcesClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager() {
+ return this.serviceManager;
+ }
+
+ public TenantResourceImpl define(String name) {
+ return new TenantResourceImpl(name, this.manager());
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateEndpointConnectionImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateEndpointConnectionImpl.java
new file mode 100644
index 000000000000..5653420cb9ed
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateEndpointConnectionImpl.java
@@ -0,0 +1,142 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+import com.azure.core.management.SystemData;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.PrivateEndpointConnectionInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.ConnectionState;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateEndpoint;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateEndpointConnection;
+import com.azure.resourcemanager.powerbiprivatelinks.models.ResourceProvisioningState;
+
+public final class PrivateEndpointConnectionImpl
+ implements PrivateEndpointConnection, PrivateEndpointConnection.Definition {
+ private PrivateEndpointConnectionInner innerObject;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ PrivateEndpointConnectionImpl(
+ PrivateEndpointConnectionInner innerObject,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public SystemData systemData() {
+ return this.innerModel().systemData();
+ }
+
+ public PrivateEndpoint privateEndpoint() {
+ return this.innerModel().privateEndpoint();
+ }
+
+ public ConnectionState privateLinkServiceConnectionState() {
+ return this.innerModel().privateLinkServiceConnectionState();
+ }
+
+ public ResourceProvisioningState provisioningState() {
+ return this.innerModel().provisioningState();
+ }
+
+ public PrivateEndpointConnectionInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager() {
+ return this.serviceManager;
+ }
+
+ private String resourceGroupName;
+
+ private String azureResourceName;
+
+ private String privateEndpointName;
+
+ public PrivateEndpointConnectionImpl withExistingPrivateLinkServicesForPowerBI(
+ String resourceGroupName, String azureResourceName) {
+ this.resourceGroupName = resourceGroupName;
+ this.azureResourceName = azureResourceName;
+ return this;
+ }
+
+ public PrivateEndpointConnection create() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getPrivateEndpointConnections()
+ .createWithResponse(
+ resourceGroupName, azureResourceName, privateEndpointName, this.innerModel(), Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public PrivateEndpointConnection create(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getPrivateEndpointConnections()
+ .createWithResponse(
+ resourceGroupName, azureResourceName, privateEndpointName, this.innerModel(), context)
+ .getValue();
+ return this;
+ }
+
+ PrivateEndpointConnectionImpl(
+ String name,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerObject = new PrivateEndpointConnectionInner();
+ this.serviceManager = serviceManager;
+ this.privateEndpointName = name;
+ }
+
+ public PrivateEndpointConnection refresh() {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getPrivateEndpointConnections()
+ .getWithResponse(resourceGroupName, azureResourceName, privateEndpointName, Context.NONE)
+ .getValue();
+ return this;
+ }
+
+ public PrivateEndpointConnection refresh(Context context) {
+ this.innerObject =
+ serviceManager
+ .serviceClient()
+ .getPrivateEndpointConnections()
+ .getWithResponse(resourceGroupName, azureResourceName, privateEndpointName, context)
+ .getValue();
+ return this;
+ }
+
+ public PrivateEndpointConnectionImpl withPrivateEndpoint(PrivateEndpoint privateEndpoint) {
+ this.innerModel().withPrivateEndpoint(privateEndpoint);
+ return this;
+ }
+
+ public PrivateEndpointConnectionImpl withPrivateLinkServiceConnectionState(
+ ConnectionState privateLinkServiceConnectionState) {
+ this.innerModel().withPrivateLinkServiceConnectionState(privateLinkServiceConnectionState);
+ return this;
+ }
+
+ public PrivateEndpointConnectionImpl withProvisioningState(ResourceProvisioningState provisioningState) {
+ this.innerModel().withProvisioningState(provisioningState);
+ return this;
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateEndpointConnectionsClientImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateEndpointConnectionsClientImpl.java
new file mode 100644
index 000000000000..47bf8adca7a0
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateEndpointConnectionsClientImpl.java
@@ -0,0 +1,1042 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.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.powerbiprivatelinks.fluent.PrivateEndpointConnectionsClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.PrivateEndpointConnectionInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateEndpointConnectionListResult;
+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 PrivateEndpointConnectionsClient. */
+public final class PrivateEndpointConnectionsClientImpl implements PrivateEndpointConnectionsClient {
+ /** The proxy service used to perform REST calls. */
+ private final PrivateEndpointConnectionsService service;
+
+ /** The service client containing this operation class. */
+ private final PrivateLinkServicesForPowerBIClientImpl client;
+
+ /**
+ * Initializes an instance of PrivateEndpointConnectionsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ PrivateEndpointConnectionsClientImpl(PrivateLinkServicesForPowerBIClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ PrivateEndpointConnectionsService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for PrivateLinkServicesForPowerBIClientPrivateEndpointConnections to be
+ * used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "PrivateLinkServicesF")
+ private interface PrivateEndpointConnectionsService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI/{azureResourceName}/privateEndpointConnections")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResource(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("azureResourceName") String azureResourceName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI/{azureResourceName}/privateEndpointConnections/{privateEndpointName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("azureResourceName") String azureResourceName,
+ @PathParam("privateEndpointName") String privateEndpointName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Put(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI/{azureResourceName}/privateEndpointConnections/{privateEndpointName}")
+ @ExpectedResponses({200, 201})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> create(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("azureResourceName") String azureResourceName,
+ @PathParam("privateEndpointName") String privateEndpointName,
+ @QueryParam("api-version") String apiVersion,
+ @BodyParam("application/json") PrivateEndpointConnectionInner privateEndpointConnection,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Delete(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI/{azureResourceName}/privateEndpointConnections/{privateEndpointName}")
+ @ExpectedResponses({200, 202, 204})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> delete(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("azureResourceName") String azureResourceName,
+ @PathParam("privateEndpointName") String privateEndpointName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets private endpoint connection for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param azureResourceName The name of the powerbi 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 private endpoint connection for Power BI along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceSinglePageAsync(
+ String resourceGroupName, String azureResourceName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByResource(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .>map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets private endpoint connection for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param azureResourceName The name of the powerbi 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 private endpoint connection for Power BI along with {@link PagedResponse} on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceSinglePageAsync(
+ String resourceGroupName, String azureResourceName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResource(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * Gets private endpoint connection for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param azureResourceName The name of the powerbi 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 private endpoint connection for Power BI as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceAsync(
+ String resourceGroupName, String azureResourceName) {
+ return new PagedFlux<>(
+ () -> listByResourceSinglePageAsync(resourceGroupName, azureResourceName),
+ nextLink -> listByResourceNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * Gets private endpoint connection for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param azureResourceName The name of the powerbi 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 private endpoint connection for Power BI as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceAsync(
+ String resourceGroupName, String azureResourceName, Context context) {
+ return new PagedFlux<>(
+ () -> listByResourceSinglePageAsync(resourceGroupName, azureResourceName, context),
+ nextLink -> listByResourceNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * Gets private endpoint connection for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param azureResourceName The name of the powerbi 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 private endpoint connection for Power BI as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResource(
+ String resourceGroupName, String azureResourceName) {
+ return new PagedIterable<>(listByResourceAsync(resourceGroupName, azureResourceName));
+ }
+
+ /**
+ * Gets private endpoint connection for Power BI.
+ *
+ * @param resourceGroupName The name of the resource group within the user's subscription.
+ * @param azureResourceName The name of the powerbi 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 private endpoint connection for Power BI as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResource(
+ String resourceGroupName, String azureResourceName, Context context) {
+ return new PagedIterable<>(listByResourceAsync(resourceGroupName, azureResourceName, context));
+ }
+
+ /**
+ * Get a specific private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 specific private endpoint connection for Power BI by private endpoint name along with {@link Response}
+ * on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName, String azureResourceName, String privateEndpointName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (privateEndpointName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter privateEndpointName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ privateEndpointName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get a specific private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a specific private endpoint connection for Power BI by private endpoint name along with {@link Response}
+ * on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName, String azureResourceName, String privateEndpointName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (privateEndpointName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter privateEndpointName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ privateEndpointName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Get a specific private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 specific private endpoint connection for Power BI by private endpoint name on successful completion of
+ * {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String resourceGroupName, String azureResourceName, String privateEndpointName) {
+ return getWithResponseAsync(resourceGroupName, azureResourceName, privateEndpointName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Get a specific private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 specific private endpoint connection for Power BI by private endpoint name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PrivateEndpointConnectionInner get(
+ String resourceGroupName, String azureResourceName, String privateEndpointName) {
+ return getAsync(resourceGroupName, azureResourceName, privateEndpointName).block();
+ }
+
+ /**
+ * Get a specific private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a specific private endpoint connection for Power BI by private endpoint name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String resourceGroupName, String azureResourceName, String privateEndpointName, Context context) {
+ return getWithResponseAsync(resourceGroupName, azureResourceName, privateEndpointName, context).block();
+ }
+
+ /**
+ * Updates the status of Private Endpoint Connection object. Used to approve or reject a connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param privateEndpointConnection Private endpoint connection object to update.
+ * @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 privateEndpointConnection along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String resourceGroupName,
+ String azureResourceName,
+ String privateEndpointName,
+ PrivateEndpointConnectionInner privateEndpointConnection) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (privateEndpointName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter privateEndpointName is required and cannot be null."));
+ }
+ if (privateEndpointConnection == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter privateEndpointConnection is required and cannot be null."));
+ } else {
+ privateEndpointConnection.validate();
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ privateEndpointName,
+ this.client.getApiVersion(),
+ privateEndpointConnection,
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Updates the status of Private Endpoint Connection object. Used to approve or reject a connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param privateEndpointConnection Private endpoint connection object to update.
+ * @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 privateEndpointConnection along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> createWithResponseAsync(
+ String resourceGroupName,
+ String azureResourceName,
+ String privateEndpointName,
+ PrivateEndpointConnectionInner privateEndpointConnection,
+ Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (privateEndpointName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter privateEndpointName is required and cannot be null."));
+ }
+ if (privateEndpointConnection == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter privateEndpointConnection is required and cannot be null."));
+ } else {
+ privateEndpointConnection.validate();
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .create(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ privateEndpointName,
+ this.client.getApiVersion(),
+ privateEndpointConnection,
+ accept,
+ context);
+ }
+
+ /**
+ * Updates the status of Private Endpoint Connection object. Used to approve or reject a connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param privateEndpointConnection Private endpoint connection object to update.
+ * @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 privateEndpointConnection on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono createAsync(
+ String resourceGroupName,
+ String azureResourceName,
+ String privateEndpointName,
+ PrivateEndpointConnectionInner privateEndpointConnection) {
+ return createWithResponseAsync(
+ resourceGroupName, azureResourceName, privateEndpointName, privateEndpointConnection)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Updates the status of Private Endpoint Connection object. Used to approve or reject a connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param privateEndpointConnection Private endpoint connection object to update.
+ * @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 privateEndpointConnection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PrivateEndpointConnectionInner create(
+ String resourceGroupName,
+ String azureResourceName,
+ String privateEndpointName,
+ PrivateEndpointConnectionInner privateEndpointConnection) {
+ return createAsync(resourceGroupName, azureResourceName, privateEndpointName, privateEndpointConnection)
+ .block();
+ }
+
+ /**
+ * Updates the status of Private Endpoint Connection object. Used to approve or reject a connection.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param privateEndpointConnection Private endpoint connection object to update.
+ * @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 privateEndpointConnection along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response createWithResponse(
+ String resourceGroupName,
+ String azureResourceName,
+ String privateEndpointName,
+ PrivateEndpointConnectionInner privateEndpointConnection,
+ Context context) {
+ return createWithResponseAsync(
+ resourceGroupName, azureResourceName, privateEndpointName, privateEndpointConnection, context)
+ .block();
+ }
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 azureResourceName, String privateEndpointName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (privateEndpointName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter privateEndpointName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ privateEndpointName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> deleteWithResponseAsync(
+ String resourceGroupName, String azureResourceName, String privateEndpointName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (privateEndpointName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter privateEndpointName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .delete(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ privateEndpointName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 azureResourceName, String privateEndpointName) {
+ Mono>> mono =
+ deleteWithResponseAsync(resourceGroupName, azureResourceName, privateEndpointName);
+ return this
+ .client
+ .getLroResult(
+ mono, this.client.getHttpPipeline(), Void.class, Void.class, this.client.getContext());
+ }
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 PollerFlux} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, Void> beginDeleteAsync(
+ String resourceGroupName, String azureResourceName, String privateEndpointName, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono =
+ deleteWithResponseAsync(resourceGroupName, azureResourceName, privateEndpointName, context);
+ return this
+ .client
+ .getLroResult(mono, this.client.getHttpPipeline(), Void.class, Void.class, context);
+ }
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 azureResourceName, String privateEndpointName) {
+ return beginDeleteAsync(resourceGroupName, azureResourceName, privateEndpointName).getSyncPoller();
+ }
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 azureResourceName, String privateEndpointName, Context context) {
+ return beginDeleteAsync(resourceGroupName, azureResourceName, privateEndpointName, context).getSyncPoller();
+ }
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 azureResourceName, String privateEndpointName) {
+ return beginDeleteAsync(resourceGroupName, azureResourceName, privateEndpointName)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return A {@link Mono} that completes when a successful response is received.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono deleteAsync(
+ String resourceGroupName, String azureResourceName, String privateEndpointName, Context context) {
+ return beginDeleteAsync(resourceGroupName, azureResourceName, privateEndpointName, context)
+ .last()
+ .flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 azureResourceName, String privateEndpointName) {
+ deleteAsync(resourceGroupName, azureResourceName, privateEndpointName).block();
+ }
+
+ /**
+ * Deletes a private endpoint connection for Power BI by private endpoint name.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateEndpointName The name of the private endpoint.
+ * @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 azureResourceName, String privateEndpointName, Context context) {
+ deleteAsync(resourceGroupName, azureResourceName, privateEndpointName, context).block();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @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 privateEndpointConnections along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByResourceNext(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 nextLink parameter.
+ * @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 privateEndpointConnections along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateEndpointConnectionsImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateEndpointConnectionsImpl.java
new file mode 100644
index 000000000000..50d39b025aaf
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateEndpointConnectionsImpl.java
@@ -0,0 +1,222 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.powerbiprivatelinks.fluent.PrivateEndpointConnectionsClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.PrivateEndpointConnectionInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateEndpointConnection;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateEndpointConnections;
+
+public final class PrivateEndpointConnectionsImpl implements PrivateEndpointConnections {
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateEndpointConnectionsImpl.class);
+
+ private final PrivateEndpointConnectionsClient innerClient;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ public PrivateEndpointConnectionsImpl(
+ PrivateEndpointConnectionsClient innerClient,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listByResource(String resourceGroupName, String azureResourceName) {
+ PagedIterable inner =
+ this.serviceClient().listByResource(resourceGroupName, azureResourceName);
+ return Utils.mapPage(inner, inner1 -> new PrivateEndpointConnectionImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResource(
+ String resourceGroupName, String azureResourceName, Context context) {
+ PagedIterable inner =
+ this.serviceClient().listByResource(resourceGroupName, azureResourceName, context);
+ return Utils.mapPage(inner, inner1 -> new PrivateEndpointConnectionImpl(inner1, this.manager()));
+ }
+
+ public PrivateEndpointConnection get(
+ String resourceGroupName, String azureResourceName, String privateEndpointName) {
+ PrivateEndpointConnectionInner inner =
+ this.serviceClient().get(resourceGroupName, azureResourceName, privateEndpointName);
+ if (inner != null) {
+ return new PrivateEndpointConnectionImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getWithResponse(
+ String resourceGroupName, String azureResourceName, String privateEndpointName, Context context) {
+ Response inner =
+ this.serviceClient().getWithResponse(resourceGroupName, azureResourceName, privateEndpointName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new PrivateEndpointConnectionImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ public void delete(String resourceGroupName, String azureResourceName, String privateEndpointName) {
+ this.serviceClient().delete(resourceGroupName, azureResourceName, privateEndpointName);
+ }
+
+ public void delete(
+ String resourceGroupName, String azureResourceName, String privateEndpointName, Context context) {
+ this.serviceClient().delete(resourceGroupName, azureResourceName, privateEndpointName, context);
+ }
+
+ public PrivateEndpointConnection getById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String azureResourceName = Utils.getValueFromIdByName(id, "privateLinkServicesForPowerBI");
+ if (azureResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment"
+ + " 'privateLinkServicesForPowerBI'.",
+ id)));
+ }
+ String privateEndpointName = Utils.getValueFromIdByName(id, "privateEndpointConnections");
+ if (privateEndpointName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'privateEndpointConnections'.",
+ id)));
+ }
+ return this.getWithResponse(resourceGroupName, azureResourceName, privateEndpointName, Context.NONE).getValue();
+ }
+
+ public Response getByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String azureResourceName = Utils.getValueFromIdByName(id, "privateLinkServicesForPowerBI");
+ if (azureResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment"
+ + " 'privateLinkServicesForPowerBI'.",
+ id)));
+ }
+ String privateEndpointName = Utils.getValueFromIdByName(id, "privateEndpointConnections");
+ if (privateEndpointName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'privateEndpointConnections'.",
+ id)));
+ }
+ return this.getWithResponse(resourceGroupName, azureResourceName, privateEndpointName, context);
+ }
+
+ public void deleteById(String id) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String azureResourceName = Utils.getValueFromIdByName(id, "privateLinkServicesForPowerBI");
+ if (azureResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment"
+ + " 'privateLinkServicesForPowerBI'.",
+ id)));
+ }
+ String privateEndpointName = Utils.getValueFromIdByName(id, "privateEndpointConnections");
+ if (privateEndpointName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'privateEndpointConnections'.",
+ id)));
+ }
+ this.delete(resourceGroupName, azureResourceName, privateEndpointName, Context.NONE);
+ }
+
+ public void deleteByIdWithResponse(String id, Context context) {
+ String resourceGroupName = Utils.getValueFromIdByName(id, "resourceGroups");
+ if (resourceGroupName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format("The resource ID '%s' is not valid. Missing path segment 'resourceGroups'.", id)));
+ }
+ String azureResourceName = Utils.getValueFromIdByName(id, "privateLinkServicesForPowerBI");
+ if (azureResourceName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment"
+ + " 'privateLinkServicesForPowerBI'.",
+ id)));
+ }
+ String privateEndpointName = Utils.getValueFromIdByName(id, "privateEndpointConnections");
+ if (privateEndpointName == null) {
+ throw LOGGER
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ String
+ .format(
+ "The resource ID '%s' is not valid. Missing path segment 'privateEndpointConnections'.",
+ id)));
+ }
+ this.delete(resourceGroupName, azureResourceName, privateEndpointName, context);
+ }
+
+ private PrivateEndpointConnectionsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager() {
+ return this.serviceManager;
+ }
+
+ public PrivateEndpointConnectionImpl define(String name) {
+ return new PrivateEndpointConnectionImpl(name, this.manager());
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkResourceImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkResourceImpl.java
new file mode 100644
index 000000000000..0d15c331c217
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkResourceImpl.java
@@ -0,0 +1,65 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.PrivateLinkResourceInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkResource;
+import java.util.Collections;
+import java.util.List;
+
+public final class PrivateLinkResourceImpl implements PrivateLinkResource {
+ private PrivateLinkResourceInner innerObject;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ PrivateLinkResourceImpl(
+ PrivateLinkResourceInner innerObject,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerObject = innerObject;
+ this.serviceManager = serviceManager;
+ }
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String groupId() {
+ return this.innerModel().groupId();
+ }
+
+ public List requiredMembers() {
+ List inner = this.innerModel().requiredMembers();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public List requiredZoneNames() {
+ List inner = this.innerModel().requiredZoneNames();
+ if (inner != null) {
+ return Collections.unmodifiableList(inner);
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ public PrivateLinkResourceInner innerModel() {
+ return this.innerObject;
+ }
+
+ private com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkResourcesClientImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkResourcesClientImpl.java
new file mode 100644
index 000000000000..d54825d4c552
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkResourcesClientImpl.java
@@ -0,0 +1,528 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+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.QueryParam;
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceInterface;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.annotation.UnexpectedResponseExceptionType;
+import com.azure.core.http.rest.PagedFlux;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.PagedResponse;
+import com.azure.core.http.rest.PagedResponseBase;
+import com.azure.core.http.rest.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PrivateLinkResourcesClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.PrivateLinkResourceInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkResourcesListResult;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in PrivateLinkResourcesClient. */
+public final class PrivateLinkResourcesClientImpl implements PrivateLinkResourcesClient {
+ /** The proxy service used to perform REST calls. */
+ private final PrivateLinkResourcesService service;
+
+ /** The service client containing this operation class. */
+ private final PrivateLinkServicesForPowerBIClientImpl client;
+
+ /**
+ * Initializes an instance of PrivateLinkResourcesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ PrivateLinkResourcesClientImpl(PrivateLinkServicesForPowerBIClientImpl client) {
+ this.service =
+ RestProxy
+ .create(PrivateLinkResourcesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for PrivateLinkServicesForPowerBIClientPrivateLinkResources to be used by
+ * the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "PrivateLinkServicesF")
+ private interface PrivateLinkResourcesService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI/{azureResourceName}/privateLinkResources")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResource(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("azureResourceName") String azureResourceName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI/{azureResourceName}/privateLinkResources/{privateLinkResourceName}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @PathParam("azureResourceName") String azureResourceName,
+ @PathParam("privateLinkResourceName") String privateLinkResourceName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+
+ @Headers({"Content-Type: application/json"})
+ @Get("{nextLink}")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono> listByResourceNext(
+ @PathParam(value = "nextLink", encoded = true) String nextLink,
+ @HostParam("$host") String endpoint,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * List private link resources under a specific Power BI resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 privateLinkResourcesListResult along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceSinglePageAsync(
+ String resourceGroupName, String azureResourceName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByResource(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ 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()));
+ }
+
+ /**
+ * List private link resources under a specific Power BI resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 privateLinkResourcesListResult along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceSinglePageAsync(
+ String resourceGroupName, String azureResourceName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResource(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ this.client.getApiVersion(),
+ accept,
+ context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+
+ /**
+ * List private link resources under a specific Power BI resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 privateLinkResourcesListResult as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceAsync(
+ String resourceGroupName, String azureResourceName) {
+ return new PagedFlux<>(
+ () -> listByResourceSinglePageAsync(resourceGroupName, azureResourceName),
+ nextLink -> listByResourceNextSinglePageAsync(nextLink));
+ }
+
+ /**
+ * List private link resources under a specific Power BI resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 privateLinkResourcesListResult as paginated response with {@link PagedFlux}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ private PagedFlux listByResourceAsync(
+ String resourceGroupName, String azureResourceName, Context context) {
+ return new PagedFlux<>(
+ () -> listByResourceSinglePageAsync(resourceGroupName, azureResourceName, context),
+ nextLink -> listByResourceNextSinglePageAsync(nextLink, context));
+ }
+
+ /**
+ * List private link resources under a specific Power BI resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 privateLinkResourcesListResult as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResource(String resourceGroupName, String azureResourceName) {
+ return new PagedIterable<>(listByResourceAsync(resourceGroupName, azureResourceName));
+ }
+
+ /**
+ * List private link resources under a specific Power BI resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of 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 privateLinkResourcesListResult as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listByResource(
+ String resourceGroupName, String azureResourceName, Context context) {
+ return new PagedIterable<>(listByResourceAsync(resourceGroupName, azureResourceName, context));
+ }
+
+ /**
+ * Get properties of a private link resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateLinkResourceName The name of private link 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 properties of a private link resource along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName, String azureResourceName, String privateLinkResourceName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (privateLinkResourceName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter privateLinkResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ privateLinkResourceName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Get properties of a private link resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateLinkResourceName The name of private link 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 properties of a private link resource along with {@link Response} on successful completion of {@link
+ * Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> getWithResponseAsync(
+ String resourceGroupName, String azureResourceName, String privateLinkResourceName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ if (azureResourceName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter azureResourceName is required and cannot be null."));
+ }
+ if (privateLinkResourceName == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException("Parameter privateLinkResourceName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ azureResourceName,
+ privateLinkResourceName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Get properties of a private link resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateLinkResourceName The name of private link 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 properties of a private link resource on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(
+ String resourceGroupName, String azureResourceName, String privateLinkResourceName) {
+ return getWithResponseAsync(resourceGroupName, azureResourceName, privateLinkResourceName)
+ .flatMap(
+ (Response res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Get properties of a private link resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateLinkResourceName The name of private link 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 properties of a private link resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public PrivateLinkResourceInner get(
+ String resourceGroupName, String azureResourceName, String privateLinkResourceName) {
+ return getAsync(resourceGroupName, azureResourceName, privateLinkResourceName).block();
+ }
+
+ /**
+ * Get properties of a private link resource.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @param azureResourceName The name of the Azure resource.
+ * @param privateLinkResourceName The name of private link 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 properties of a private link resource along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getWithResponse(
+ String resourceGroupName, String azureResourceName, String privateLinkResourceName, Context context) {
+ return getWithResponseAsync(resourceGroupName, azureResourceName, privateLinkResourceName, context).block();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The nextLink parameter.
+ * @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 privateLinkResourcesListResult along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceNextSinglePageAsync(String nextLink) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listByResourceNext(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 nextLink parameter.
+ * @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 privateLinkResourcesListResult along with {@link PagedResponse} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceNextSinglePageAsync(
+ String nextLink, Context context) {
+ if (nextLink == null) {
+ return Mono.error(new IllegalArgumentException("Parameter nextLink is required and cannot be null."));
+ }
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceNext(nextLink, this.client.getEndpoint(), accept, context)
+ .map(
+ res ->
+ new PagedResponseBase<>(
+ res.getRequest(),
+ res.getStatusCode(),
+ res.getHeaders(),
+ res.getValue().value(),
+ res.getValue().nextLink(),
+ null));
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkResourcesImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkResourcesImpl.java
new file mode 100644
index 000000000000..86a709c1cfdb
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkResourcesImpl.java
@@ -0,0 +1,78 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.powerbiprivatelinks.fluent.PrivateLinkResourcesClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.PrivateLinkResourceInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkResource;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkResources;
+
+public final class PrivateLinkResourcesImpl implements PrivateLinkResources {
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateLinkResourcesImpl.class);
+
+ private final PrivateLinkResourcesClient innerClient;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ public PrivateLinkResourcesImpl(
+ PrivateLinkResourcesClient innerClient,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public PagedIterable listByResource(String resourceGroupName, String azureResourceName) {
+ PagedIterable inner =
+ this.serviceClient().listByResource(resourceGroupName, azureResourceName);
+ return Utils.mapPage(inner, inner1 -> new PrivateLinkResourceImpl(inner1, this.manager()));
+ }
+
+ public PagedIterable listByResource(
+ String resourceGroupName, String azureResourceName, Context context) {
+ PagedIterable inner =
+ this.serviceClient().listByResource(resourceGroupName, azureResourceName, context);
+ return Utils.mapPage(inner, inner1 -> new PrivateLinkResourceImpl(inner1, this.manager()));
+ }
+
+ public PrivateLinkResource get(String resourceGroupName, String azureResourceName, String privateLinkResourceName) {
+ PrivateLinkResourceInner inner =
+ this.serviceClient().get(resourceGroupName, azureResourceName, privateLinkResourceName);
+ if (inner != null) {
+ return new PrivateLinkResourceImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public Response getWithResponse(
+ String resourceGroupName, String azureResourceName, String privateLinkResourceName, Context context) {
+ Response inner =
+ this
+ .serviceClient()
+ .getWithResponse(resourceGroupName, azureResourceName, privateLinkResourceName, context);
+ if (inner != null) {
+ return new SimpleResponse<>(
+ inner.getRequest(),
+ inner.getStatusCode(),
+ inner.getHeaders(),
+ new PrivateLinkResourceImpl(inner.getValue(), this.manager()));
+ } else {
+ return null;
+ }
+ }
+
+ private PrivateLinkResourcesClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServiceResourceOperationResultsClientImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServiceResourceOperationResultsClientImpl.java
new file mode 100644
index 000000000000..a5f1f416a864
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServiceResourceOperationResultsClientImpl.java
@@ -0,0 +1,298 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+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.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.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.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.powerbiprivatelinks.fluent.PrivateLinkServiceResourceOperationResultsClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.AsyncOperationDetailInner;
+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
+ * PrivateLinkServiceResourceOperationResultsClient.
+ */
+public final class PrivateLinkServiceResourceOperationResultsClientImpl
+ implements PrivateLinkServiceResourceOperationResultsClient {
+ /** The proxy service used to perform REST calls. */
+ private final PrivateLinkServiceResourceOperationResultsService service;
+
+ /** The service client containing this operation class. */
+ private final PrivateLinkServicesForPowerBIClientImpl client;
+
+ /**
+ * Initializes an instance of PrivateLinkServiceResourceOperationResultsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ PrivateLinkServiceResourceOperationResultsClientImpl(PrivateLinkServicesForPowerBIClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ PrivateLinkServiceResourceOperationResultsService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for
+ * PrivateLinkServicesForPowerBIClientPrivateLinkServiceResourceOperationResults to be used by the proxy service to
+ * perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "PrivateLinkServicesF")
+ private interface PrivateLinkServiceResourceOperationResultsService {
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/operationResults/{operationId}")
+ @ExpectedResponses({200, 202})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> get(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("operationId") String operationId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async 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 operation result of Private Link Service Resources for Power BI along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> getWithResponseAsync(String operationId) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (operationId == null) {
+ return Mono.error(new IllegalArgumentException("Parameter operationId is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ operationId,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async operation.
+ * @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 operation result of Private Link Service Resources for Power BI along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> getWithResponseAsync(String operationId, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (operationId == null) {
+ return Mono.error(new IllegalArgumentException("Parameter operationId is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .get(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ operationId,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async 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 PollerFlux} for polling of operation result of Private Link Service Resources for Power BI.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, AsyncOperationDetailInner> beginGetAsync(
+ String operationId) {
+ Mono>> mono = getWithResponseAsync(operationId);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ AsyncOperationDetailInner.class,
+ AsyncOperationDetailInner.class,
+ this.client.getContext());
+ }
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async operation.
+ * @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 PollerFlux} for polling of operation result of Private Link Service Resources for Power BI.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ private PollerFlux, AsyncOperationDetailInner> beginGetAsync(
+ String operationId, Context context) {
+ context = this.client.mergeContext(context);
+ Mono>> mono = getWithResponseAsync(operationId, context);
+ return this
+ .client
+ .getLroResult(
+ mono,
+ this.client.getHttpPipeline(),
+ AsyncOperationDetailInner.class,
+ AsyncOperationDetailInner.class,
+ context);
+ }
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async 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 operation result of Private Link Service Resources for Power BI.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, AsyncOperationDetailInner> beginGet(String operationId) {
+ return beginGetAsync(operationId).getSyncPoller();
+ }
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async operation.
+ * @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 operation result of Private Link Service Resources for Power BI.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ public SyncPoller, AsyncOperationDetailInner> beginGet(
+ String operationId, Context context) {
+ return beginGetAsync(operationId, context).getSyncPoller();
+ }
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async 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 operation result of Private Link Service Resources for Power BI on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String operationId) {
+ return beginGetAsync(operationId).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async operation.
+ * @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 operation result of Private Link Service Resources for Power BI on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono getAsync(String operationId, Context context) {
+ return beginGetAsync(operationId, context).last().flatMap(this.client::getLroFinalResultOrError);
+ }
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async 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 operation result of Private Link Service Resources for Power BI.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AsyncOperationDetailInner get(String operationId) {
+ return getAsync(operationId).block();
+ }
+
+ /**
+ * Gets operation result of Private Link Service Resources for Power BI.
+ *
+ * @param operationId The id of Azure async operation.
+ * @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 operation result of Private Link Service Resources for Power BI.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AsyncOperationDetailInner get(String operationId, Context context) {
+ return getAsync(operationId, context).block();
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServiceResourceOperationResultsImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServiceResourceOperationResultsImpl.java
new file mode 100644
index 000000000000..f68fabbaf994
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServiceResourceOperationResultsImpl.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PrivateLinkServiceResourceOperationResultsClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.AsyncOperationDetailInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.AsyncOperationDetail;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkServiceResourceOperationResults;
+
+public final class PrivateLinkServiceResourceOperationResultsImpl
+ implements PrivateLinkServiceResourceOperationResults {
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateLinkServiceResourceOperationResultsImpl.class);
+
+ private final PrivateLinkServiceResourceOperationResultsClient innerClient;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ public PrivateLinkServiceResourceOperationResultsImpl(
+ PrivateLinkServiceResourceOperationResultsClient innerClient,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public AsyncOperationDetail get(String operationId) {
+ AsyncOperationDetailInner inner = this.serviceClient().get(operationId);
+ if (inner != null) {
+ return new AsyncOperationDetailImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ public AsyncOperationDetail get(String operationId, Context context) {
+ AsyncOperationDetailInner inner = this.serviceClient().get(operationId, context);
+ if (inner != null) {
+ return new AsyncOperationDetailImpl(inner, this.manager());
+ } else {
+ return null;
+ }
+ }
+
+ private PrivateLinkServiceResourceOperationResultsClient serviceClient() {
+ return this.innerClient;
+ }
+
+ private com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager manager() {
+ return this.serviceManager;
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesClientImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesClientImpl.java
new file mode 100644
index 000000000000..0e4e3586bd87
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesClientImpl.java
@@ -0,0 +1,206 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+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.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.Response;
+import com.azure.core.http.rest.RestProxy;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.util.Context;
+import com.azure.core.util.FluxUtil;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PrivateLinkServicesClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.TenantResourceInner;
+import java.util.List;
+import reactor.core.publisher.Mono;
+
+/** An instance of this class provides access to all the operations defined in PrivateLinkServicesClient. */
+public final class PrivateLinkServicesClientImpl implements PrivateLinkServicesClient {
+ /** The proxy service used to perform REST calls. */
+ private final PrivateLinkServicesService service;
+
+ /** The service client containing this operation class. */
+ private final PrivateLinkServicesForPowerBIClientImpl client;
+
+ /**
+ * Initializes an instance of PrivateLinkServicesClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ PrivateLinkServicesClientImpl(PrivateLinkServicesForPowerBIClientImpl client) {
+ this.service =
+ RestProxy.create(PrivateLinkServicesService.class, client.getHttpPipeline(), client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for PrivateLinkServicesForPowerBIClientPrivateLinkServices to be used by
+ * the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "PrivateLinkServicesF")
+ private interface PrivateLinkServicesService {
+ @Headers({"Content-Type: application/json"})
+ @Get(
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI"
+ + "/privateLinkServicesForPowerBI")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> listByResourceGroup(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @PathParam("resourceGroupName") String resourceGroupName,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets all the private link resources for the given resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @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 all the private link resources for the given resource group along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> listByResourceGroupWithResponseAsync(String resourceGroupName) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * Gets all the private link resources for the given resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @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 all the private link resources for the given resource group along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> listByResourceGroupWithResponseAsync(
+ String resourceGroupName, Context context) {
+ if (this.client.getEndpoint() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getEndpoint() is required and cannot be null."));
+ }
+ if (this.client.getSubscriptionId() == null) {
+ return Mono
+ .error(
+ new IllegalArgumentException(
+ "Parameter this.client.getSubscriptionId() is required and cannot be null."));
+ }
+ if (resourceGroupName == null) {
+ return Mono
+ .error(new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listByResourceGroup(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ resourceGroupName,
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets all the private link resources for the given resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @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 all the private link resources for the given resource group on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listByResourceGroupAsync(String resourceGroupName) {
+ return listByResourceGroupWithResponseAsync(resourceGroupName)
+ .flatMap(
+ (Response> res) -> {
+ if (res.getValue() != null) {
+ return Mono.just(res.getValue());
+ } else {
+ return Mono.empty();
+ }
+ });
+ }
+
+ /**
+ * Gets all the private link resources for the given resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @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 all the private link resources for the given resource group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public List listByResourceGroup(String resourceGroupName) {
+ return listByResourceGroupAsync(resourceGroupName).block();
+ }
+
+ /**
+ * Gets all the private link resources for the given resource group.
+ *
+ * @param resourceGroupName The name of the resource group.
+ * @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 all the private link resources for the given resource group along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response> listByResourceGroupWithResponse(
+ String resourceGroupName, Context context) {
+ return listByResourceGroupWithResponseAsync(resourceGroupName, context).block();
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIClientBuilder.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIClientBuilder.java
new file mode 100644
index 000000000000..713c9df21319
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIClientBuilder.java
@@ -0,0 +1,147 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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 PrivateLinkServicesForPowerBIClientImpl type. */
+@ServiceClientBuilder(serviceClients = {PrivateLinkServicesForPowerBIClientImpl.class})
+public final class PrivateLinkServicesForPowerBIClientBuilder {
+ /*
+ * The Azure subscription ID. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ */
+ private String subscriptionId;
+
+ /**
+ * Sets The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the PrivateLinkServicesForPowerBIClientBuilder.
+ */
+ public PrivateLinkServicesForPowerBIClientBuilder subscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /*
+ * server parameter
+ */
+ private String endpoint;
+
+ /**
+ * Sets server parameter.
+ *
+ * @param endpoint the endpoint value.
+ * @return the PrivateLinkServicesForPowerBIClientBuilder.
+ */
+ public PrivateLinkServicesForPowerBIClientBuilder 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 PrivateLinkServicesForPowerBIClientBuilder.
+ */
+ public PrivateLinkServicesForPowerBIClientBuilder 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 PrivateLinkServicesForPowerBIClientBuilder.
+ */
+ public PrivateLinkServicesForPowerBIClientBuilder 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 PrivateLinkServicesForPowerBIClientBuilder.
+ */
+ public PrivateLinkServicesForPowerBIClientBuilder 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 PrivateLinkServicesForPowerBIClientBuilder.
+ */
+ public PrivateLinkServicesForPowerBIClientBuilder serializerAdapter(SerializerAdapter serializerAdapter) {
+ this.serializerAdapter = serializerAdapter;
+ return this;
+ }
+
+ /**
+ * Builds an instance of PrivateLinkServicesForPowerBIClientImpl with the provided parameters.
+ *
+ * @return an instance of PrivateLinkServicesForPowerBIClientImpl.
+ */
+ public PrivateLinkServicesForPowerBIClientImpl 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();
+ }
+ PrivateLinkServicesForPowerBIClientImpl client =
+ new PrivateLinkServicesForPowerBIClientImpl(
+ pipeline, serializerAdapter, defaultPollInterval, environment, subscriptionId, endpoint);
+ return client;
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIClientImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIClientImpl.java
new file mode 100644
index 000000000000..d8d0a33ee839
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIClientImpl.java
@@ -0,0 +1,379 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.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.powerbiprivatelinks.fluent.OperationsClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PowerBIResourcesClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PrivateEndpointConnectionsClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PrivateLinkResourcesClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PrivateLinkServiceResourceOperationResultsClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PrivateLinkServicesClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PrivateLinkServicesForPowerBIClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.PrivateLinkServicesForPowerBIsClient;
+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 PrivateLinkServicesForPowerBIClientImpl type. */
+@ServiceClient(builder = PrivateLinkServicesForPowerBIClientBuilder.class)
+public final class PrivateLinkServicesForPowerBIClientImpl implements PrivateLinkServicesForPowerBIClient {
+ /** The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000). */
+ private final String subscriptionId;
+
+ /**
+ * Gets The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000).
+ *
+ * @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 OperationsClient object to access its operations. */
+ private final OperationsClient operations;
+
+ /**
+ * Gets the OperationsClient object to access its operations.
+ *
+ * @return the OperationsClient object.
+ */
+ public OperationsClient getOperations() {
+ return this.operations;
+ }
+
+ /** The PrivateLinkServicesForPowerBIsClient object to access its operations. */
+ private final PrivateLinkServicesForPowerBIsClient privateLinkServicesForPowerBIs;
+
+ /**
+ * Gets the PrivateLinkServicesForPowerBIsClient object to access its operations.
+ *
+ * @return the PrivateLinkServicesForPowerBIsClient object.
+ */
+ public PrivateLinkServicesForPowerBIsClient getPrivateLinkServicesForPowerBIs() {
+ return this.privateLinkServicesForPowerBIs;
+ }
+
+ /** The PrivateLinkServiceResourceOperationResultsClient object to access its operations. */
+ private final PrivateLinkServiceResourceOperationResultsClient privateLinkServiceResourceOperationResults;
+
+ /**
+ * Gets the PrivateLinkServiceResourceOperationResultsClient object to access its operations.
+ *
+ * @return the PrivateLinkServiceResourceOperationResultsClient object.
+ */
+ public PrivateLinkServiceResourceOperationResultsClient getPrivateLinkServiceResourceOperationResults() {
+ return this.privateLinkServiceResourceOperationResults;
+ }
+
+ /** The PrivateLinkServicesClient object to access its operations. */
+ private final PrivateLinkServicesClient privateLinkServices;
+
+ /**
+ * Gets the PrivateLinkServicesClient object to access its operations.
+ *
+ * @return the PrivateLinkServicesClient object.
+ */
+ public PrivateLinkServicesClient getPrivateLinkServices() {
+ return this.privateLinkServices;
+ }
+
+ /** The PowerBIResourcesClient object to access its operations. */
+ private final PowerBIResourcesClient powerBIResources;
+
+ /**
+ * Gets the PowerBIResourcesClient object to access its operations.
+ *
+ * @return the PowerBIResourcesClient object.
+ */
+ public PowerBIResourcesClient getPowerBIResources() {
+ return this.powerBIResources;
+ }
+
+ /** The PrivateLinkResourcesClient object to access its operations. */
+ private final PrivateLinkResourcesClient privateLinkResources;
+
+ /**
+ * Gets the PrivateLinkResourcesClient object to access its operations.
+ *
+ * @return the PrivateLinkResourcesClient object.
+ */
+ public PrivateLinkResourcesClient getPrivateLinkResources() {
+ return this.privateLinkResources;
+ }
+
+ /** The PrivateEndpointConnectionsClient object to access its operations. */
+ private final PrivateEndpointConnectionsClient privateEndpointConnections;
+
+ /**
+ * Gets the PrivateEndpointConnectionsClient object to access its operations.
+ *
+ * @return the PrivateEndpointConnectionsClient object.
+ */
+ public PrivateEndpointConnectionsClient getPrivateEndpointConnections() {
+ return this.privateEndpointConnections;
+ }
+
+ /**
+ * Initializes an instance of PrivateLinkServicesForPowerBIClient 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 The Azure subscription ID. This is a GUID-formatted string (e.g.
+ * 00000000-0000-0000-0000-000000000000).
+ * @param endpoint server parameter.
+ */
+ PrivateLinkServicesForPowerBIClientImpl(
+ 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 = "2020-06-01";
+ this.operations = new OperationsClientImpl(this);
+ this.privateLinkServicesForPowerBIs = new PrivateLinkServicesForPowerBIsClientImpl(this);
+ this.privateLinkServiceResourceOperationResults =
+ new PrivateLinkServiceResourceOperationResultsClientImpl(this);
+ this.privateLinkServices = new PrivateLinkServicesClientImpl(this);
+ this.powerBIResources = new PowerBIResourcesClientImpl(this);
+ this.privateLinkResources = new PrivateLinkResourcesClientImpl(this);
+ this.privateEndpointConnections = new PrivateEndpointConnectionsClientImpl(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