scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval =
+ Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of 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) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new 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);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateLinkServicesForPowerBIs.
+ *
+ * @return Resource collection API of PrivateLinkServicesForPowerBIs.
+ */
+ public PrivateLinkServicesForPowerBIs privateLinkServicesForPowerBIs() {
+ if (this.privateLinkServicesForPowerBIs == null) {
+ this.privateLinkServicesForPowerBIs =
+ new PrivateLinkServicesForPowerBIsImpl(clientObject.getPrivateLinkServicesForPowerBIs(), this);
+ }
+ return privateLinkServicesForPowerBIs;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateLinkServiceResourceOperationResults.
+ *
+ * @return Resource collection API of PrivateLinkServiceResourceOperationResults.
+ */
+ public PrivateLinkServiceResourceOperationResults privateLinkServiceResourceOperationResults() {
+ if (this.privateLinkServiceResourceOperationResults == null) {
+ this.privateLinkServiceResourceOperationResults =
+ new PrivateLinkServiceResourceOperationResultsImpl(
+ clientObject.getPrivateLinkServiceResourceOperationResults(), this);
+ }
+ return privateLinkServiceResourceOperationResults;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateLinkServices.
+ *
+ * @return Resource collection API of PrivateLinkServices.
+ */
+ public PrivateLinkServices privateLinkServices() {
+ if (this.privateLinkServices == null) {
+ this.privateLinkServices = new PrivateLinkServicesImpl(clientObject.getPrivateLinkServices(), this);
+ }
+ return privateLinkServices;
+ }
+
+ /**
+ * Gets the resource collection API of PowerBIResources. It manages TenantResource.
+ *
+ * @return Resource collection API of PowerBIResources.
+ */
+ public PowerBIResources powerBIResources() {
+ if (this.powerBIResources == null) {
+ this.powerBIResources = new PowerBIResourcesImpl(clientObject.getPowerBIResources(), this);
+ }
+ return powerBIResources;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateLinkResources.
+ *
+ * @return Resource collection API of PrivateLinkResources.
+ */
+ public PrivateLinkResources privateLinkResources() {
+ if (this.privateLinkResources == null) {
+ this.privateLinkResources = new PrivateLinkResourcesImpl(clientObject.getPrivateLinkResources(), this);
+ }
+ return privateLinkResources;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateEndpointConnections. It manages PrivateEndpointConnection.
+ *
+ * @return Resource collection API of PrivateEndpointConnections.
+ */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections =
+ new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /**
+ * @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..e9d70836fdfb
--- /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.
+ * @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);
+
+ /**
+ * 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);
+
+ /**
+ * 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 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 updateWithResponse(
+ 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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..776a4cecd6f3
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateEndpointConnectionsClient.java
@@ -0,0 +1,193 @@
+// 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 {
+ /**
+ * Lists all private endpoint connections under a resource.
+ *
+ * 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);
+
+ /**
+ * Lists all private endpoint connections under a resource.
+ *
+ * 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.
+ *
+ * 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);
+
+ /**
+ * Get a specific private endpoint connection.
+ *
+ * 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);
+
+ /**
+ * Update a specific private endpoint connection.
+ *
+ *
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);
+
+ /**
+ * Update a specific private endpoint connection.
+ *
+ * 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);
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ *
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);
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ * 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);
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ * 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);
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ *
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..68a76b32c697
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/PrivateLinkResourcesClient.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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 Power BI resource.
+ *
+ *
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 Power BI resource.
+ *
+ * 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 a private link resource.
+ *
+ * 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);
+
+ /**
+ * Get a private link resource.
+ *
+ * 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);
+}
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..4d456c1497d1
--- /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.
+ * @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);
+
+ /**
+ * 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);
+}
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..992a2e86ea7b
--- /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.
+ *
+ * @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);
+
+ /**
+ * 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();
+}
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..7aa6993696cf
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/AsyncOperationDetailInner.java
@@ -0,0 +1,181 @@
+// 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;
+
+ /** Creates an instance of AsyncOperationDetailInner class. */
+ public AsyncOperationDetailInner() {
+ }
+
+ /**
+ * 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..617ecabbcac7
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/OperationInner.java
@@ -0,0 +1,127 @@
+// 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;
+
+ /** Creates an instance of OperationInner class. */
+ public OperationInner() {
+ }
+
+ /**
+ * Get the name property: The name of the operation, as per Resource-Based Access Control (RBAC). Examples:
+ * "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action".
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Get the isDataAction property: Whether the operation applies to data-plane. This is "true" for data-plane
+ * operations and "false" for 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..c3e2d0ca9501
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateEndpointConnectionInner.java
@@ -0,0 +1,140 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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;
+
+ /** Creates an instance of PrivateEndpointConnectionInner class. */
+ public PrivateEndpointConnectionInner() {
+ }
+
+ /**
+ * 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..301c97aadd53
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateEndpointConnectionProperties.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.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;
+
+ /** Creates an instance of PrivateEndpointConnectionProperties class. */
+ public PrivateEndpointConnectionProperties() {
+ }
+
+ /**
+ * 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..2374a8f95cdb
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateLinkResourceInner.java
@@ -0,0 +1,162 @@
+// 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;
+
+ /** Creates an instance of PrivateLinkResourceInner class. */
+ public PrivateLinkResourceInner() {
+ }
+
+ /**
+ * 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..b68df75635e7
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/PrivateLinkResourceProperties.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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;
+
+ /** Creates an instance of PrivateLinkResourceProperties class. */
+ public PrivateLinkResourceProperties() {
+ }
+
+ /**
+ * Get the groupId property: The private link resource group id.
+ *
+ * @return the groupId value.
+ */
+ public String groupId() {
+ return this.groupId;
+ }
+
+ /**
+ * 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..069990c1b687
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/TenantProperties.java
@@ -0,0 +1,81 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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;
+
+ /** Creates an instance of TenantProperties class. */
+ public TenantProperties() {
+ }
+
+ /**
+ * 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..070a9f15e4ac
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/fluent/models/TenantResourceInner.java
@@ -0,0 +1,126 @@
+// 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;
+
+ /** Creates an instance of TenantResourceInner class. */
+ public TenantResourceInner() {
+ }
+
+ /**
+ * 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..28e584da98e2
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/OperationsClientImpl.java
@@ -0,0 +1,276 @@
+// 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")
+ public 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 URL to get the next list of items
+ * 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 URL to get the next list of items
+ * 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..691c54ed5d5b
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PowerBIResourcesClientImpl.java
@@ -0,0 +1,766 @@
+// 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")
+ public 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(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * 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();
+ }
+
+ /**
+ * 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 getByResourceGroupWithResponse(resourceGroupName, azureResourceName, Context.NONE).getValue();
+ }
+
+ /**
+ * 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.
+ * @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(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * 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.
+ * @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 createWithResponse(resourceGroupName, azureResourceName, body, clientTenantId, Context.NONE).getValue();
+ }
+
+ /**
+ * 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.
+ * @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(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * 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();
+ }
+
+ /**
+ * 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 updateWithResponse(resourceGroupName, azureResourceName, body, clientTenantId, Context.NONE).getValue();
+ }
+
+ /**
+ * 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(ignored -> 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.
+ * @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();
+ }
+
+ /**
+ * 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) {
+ deleteWithResponse(resourceGroupName, azureResourceName, Context.NONE);
+ }
+}
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..0ceaec4f104a
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PowerBIResourcesImpl.java
@@ -0,0 +1,132 @@
+// 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 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 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 deleteByResourceGroupWithResponse(
+ String resourceGroupName, String azureResourceName, Context context) {
+ return this.serviceClient().deleteWithResponse(resourceGroupName, azureResourceName, context);
+ }
+
+ public void deleteByResourceGroup(String resourceGroupName, String azureResourceName) {
+ this.serviceClient().delete(resourceGroupName, azureResourceName);
+ }
+
+ 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.deleteByResourceGroupWithResponse(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.deleteByResourceGroupWithResponse(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..4afa869a75a5
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateEndpointConnectionsClientImpl.java
@@ -0,0 +1,1081 @@
+// 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")
+ public 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);
+ }
+
+ /**
+ * Lists all private endpoint connections under a resource.
+ *
+ * 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()));
+ }
+
+ /**
+ * Lists all private endpoint connections under a resource.
+ *
+ * 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));
+ }
+
+ /**
+ * Lists all private endpoint connections under a resource.
+ *
+ * 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));
+ }
+
+ /**
+ * Lists all private endpoint connections under a resource.
+ *
+ * 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));
+ }
+
+ /**
+ * Lists all private endpoint connections under a resource.
+ *
+ * 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));
+ }
+
+ /**
+ * Lists all private endpoint connections under a resource.
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * 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.
+ *
+ * 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(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a specific private endpoint connection.
+ *
+ * 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();
+ }
+
+ /**
+ * Get a specific private endpoint connection.
+ *
+ * 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 getWithResponse(resourceGroupName, azureResourceName, privateEndpointName, Context.NONE).getValue();
+ }
+
+ /**
+ * Update a specific private endpoint connection.
+ *
+ *
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()));
+ }
+
+ /**
+ * Update a specific private endpoint connection.
+ *
+ * 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);
+ }
+
+ /**
+ * Update a specific private endpoint connection.
+ *
+ * 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(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Update a specific private endpoint connection.
+ *
+ * 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();
+ }
+
+ /**
+ * Update a specific private endpoint connection.
+ *
+ * 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 createWithResponse(
+ resourceGroupName, azureResourceName, privateEndpointName, privateEndpointConnection, Context.NONE)
+ .getValue();
+ }
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ *
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()));
+ }
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ * 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);
+ }
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ * 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());
+ }
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ * 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);
+ }
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ * 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 this.beginDeleteAsync(resourceGroupName, azureResourceName, privateEndpointName).getSyncPoller();
+ }
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ * 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 this
+ .beginDeleteAsync(resourceGroupName, azureResourceName, privateEndpointName, context)
+ .getSyncPoller();
+ }
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ * 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);
+ }
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ * 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);
+ }
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ * 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();
+ }
+
+ /**
+ * Asynchronous API to delete a private endpoint connection for Power BI by private endpoint name.
+ *
+ *
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 URL to get the next list of items
+ *
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 URL to get the next list of items
+ * 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..7777438f5f8e
--- /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 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 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 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..65e5e883a340
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkResourcesClientImpl.java
@@ -0,0 +1,543 @@
+// 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")
+ public 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 Power BI resource.
+ *
+ * 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 Power BI resource.
+ *
+ * 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 Power BI resource.
+ *
+ * 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 Power BI resource.
+ *
+ * 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 Power BI resource.
+ *
+ * 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 Power BI resource.
+ *
+ * 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 a private link resource.
+ *
+ * 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 a private link resource.
+ *
+ * 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 a private link resource.
+ *
+ * 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(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * Get a private link resource.
+ *
+ * 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 a private link resource.
+ *
+ * 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 getWithResponse(resourceGroupName, azureResourceName, privateLinkResourceName, Context.NONE).getValue();
+ }
+
+ /**
+ * Get the next page of items.
+ *
+ * @param nextLink The URL to get the next list of items
+ *
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 URL to get the next list of items
+ * 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..21f3925c25f6
--- /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 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;
+ }
+ }
+
+ 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;
+ }
+ }
+
+ 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..73a3c2eaff6d
--- /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")
+ public 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 this.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 this.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..f7e71b67b788
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesClientImpl.java
@@ -0,0 +1,197 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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")
+ public 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(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * 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();
+ }
+
+ /**
+ * 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 listByResourceGroupWithResponse(resourceGroupName, Context.NONE).getValue();
+ }
+}
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..5624a4394154
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIClientBuilder.java
@@ -0,0 +1,144 @@
+// 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.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 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 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 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() {
+ String localEndpoint = (endpoint != null) ? endpoint : "https://management.azure.com";
+ AzureEnvironment localEnvironment = (environment != null) ? environment : AzureEnvironment.AZURE;
+ HttpPipeline localPipeline =
+ (pipeline != null)
+ ? pipeline
+ : new HttpPipelineBuilder().policies(new UserAgentPolicy(), new RetryPolicy()).build();
+ Duration localDefaultPollInterval =
+ (defaultPollInterval != null) ? defaultPollInterval : Duration.ofSeconds(30);
+ SerializerAdapter localSerializerAdapter =
+ (serializerAdapter != null)
+ ? serializerAdapter
+ : SerializerFactory.createDefaultManagementSerializerAdapter();
+ PrivateLinkServicesForPowerBIClientImpl client =
+ new PrivateLinkServicesForPowerBIClientImpl(
+ localPipeline,
+ localSerializerAdapter,
+ localDefaultPollInterval,
+ localEnvironment,
+ subscriptionId,
+ localEndpoint);
+ 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..7e9c21f01a06
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIClientImpl.java
@@ -0,0 +1,376 @@
+// 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.CoreUtils;
+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 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) {
+ return CoreUtils.mergeContexts(this.getContext(), context);
+ }
+
+ /**
+ * Gets long running operation result.
+ *
+ * @param activationResponse the response of activation operation.
+ * @param httpPipeline the http pipeline.
+ * @param pollResultType type of poll result.
+ * @param finalResultType type of final result.
+ * @param context the context shared by all requests.
+ * @param type of poll result.
+ * @param type of final result.
+ * @return poller flux for poll result and final result.
+ */
+ public PollerFlux, U> getLroResult(
+ Mono>> activationResponse,
+ HttpPipeline httpPipeline,
+ Type pollResultType,
+ Type finalResultType,
+ Context context) {
+ return PollerFactory
+ .create(
+ serializerAdapter,
+ httpPipeline,
+ pollResultType,
+ finalResultType,
+ defaultPollInterval,
+ activationResponse,
+ context);
+ }
+
+ /**
+ * Gets the final result, or an error, based on last async poll response.
+ *
+ * @param response the last async poll response.
+ * @param type of poll result.
+ * @param type of final result.
+ * @return the final result, or an error.
+ */
+ public Mono getLroFinalResultOrError(AsyncPollResponse, U> response) {
+ if (response.getStatus() != LongRunningOperationStatus.SUCCESSFULLY_COMPLETED) {
+ String errorMessage;
+ ManagementError managementError = null;
+ HttpResponse errorResponse = null;
+ PollResult.Error lroError = response.getValue().getError();
+ if (lroError != null) {
+ errorResponse =
+ new HttpResponseImpl(
+ lroError.getResponseStatusCode(), lroError.getResponseHeaders(), lroError.getResponseBody());
+
+ errorMessage = response.getValue().getError().getMessage();
+ String errorBody = response.getValue().getError().getResponseBody();
+ if (errorBody != null) {
+ // try to deserialize error body to ManagementError
+ try {
+ managementError =
+ this
+ .getSerializerAdapter()
+ .deserialize(errorBody, ManagementError.class, SerializerEncoding.JSON);
+ if (managementError.getCode() == null || managementError.getMessage() == null) {
+ managementError = null;
+ }
+ } catch (IOException | RuntimeException ioe) {
+ LOGGER.logThrowableAsWarning(ioe);
+ }
+ }
+ } else {
+ // fallback to default error message
+ errorMessage = "Long running operation failed.";
+ }
+ if (managementError == null) {
+ // fallback to default ManagementError
+ managementError = new ManagementError(response.getStatus().toString(), errorMessage);
+ }
+ return Mono.error(new ManagementException(errorMessage, errorResponse, managementError));
+ } else {
+ return response.getFinalResult();
+ }
+ }
+
+ private static final class HttpResponseImpl extends HttpResponse {
+ private final int statusCode;
+
+ private final byte[] responseBody;
+
+ private final HttpHeaders httpHeaders;
+
+ HttpResponseImpl(int statusCode, HttpHeaders httpHeaders, String responseBody) {
+ super(null);
+ this.statusCode = statusCode;
+ this.httpHeaders = httpHeaders;
+ this.responseBody = responseBody == null ? null : responseBody.getBytes(StandardCharsets.UTF_8);
+ }
+
+ public int getStatusCode() {
+ return statusCode;
+ }
+
+ public String getHeaderValue(String s) {
+ return httpHeaders.getValue(s);
+ }
+
+ public HttpHeaders getHeaders() {
+ return httpHeaders;
+ }
+
+ public Flux getBody() {
+ return Flux.just(ByteBuffer.wrap(responseBody));
+ }
+
+ public Mono getBodyAsByteArray() {
+ return Mono.just(responseBody);
+ }
+
+ public Mono getBodyAsString() {
+ return Mono.just(new String(responseBody, StandardCharsets.UTF_8));
+ }
+
+ public Mono getBodyAsString(Charset charset) {
+ return Mono.just(new String(responseBody, charset));
+ }
+ }
+
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateLinkServicesForPowerBIClientImpl.class);
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIsClientImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIsClientImpl.java
new file mode 100644
index 000000000000..8d8ec83359c3
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIsClientImpl.java
@@ -0,0 +1,179 @@
+// 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.PrivateLinkServicesForPowerBIsClient;
+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 PrivateLinkServicesForPowerBIsClient. */
+public final class PrivateLinkServicesForPowerBIsClientImpl implements PrivateLinkServicesForPowerBIsClient {
+ /** The proxy service used to perform REST calls. */
+ private final PrivateLinkServicesForPowerBIsService service;
+
+ /** The service client containing this operation class. */
+ private final PrivateLinkServicesForPowerBIClientImpl client;
+
+ /**
+ * Initializes an instance of PrivateLinkServicesForPowerBIsClientImpl.
+ *
+ * @param client the instance of the service client containing this operation class.
+ */
+ PrivateLinkServicesForPowerBIsClientImpl(PrivateLinkServicesForPowerBIClientImpl client) {
+ this.service =
+ RestProxy
+ .create(
+ PrivateLinkServicesForPowerBIsService.class,
+ client.getHttpPipeline(),
+ client.getSerializerAdapter());
+ this.client = client;
+ }
+
+ /**
+ * The interface defining all the services for PrivateLinkServicesForPowerBIClientPrivateLinkServicesForPowerBIs to
+ * be used by the proxy service to perform REST calls.
+ */
+ @Host("{$host}")
+ @ServiceInterface(name = "PrivateLinkServicesF")
+ public interface PrivateLinkServicesForPowerBIsService {
+ @Headers({"Content-Type: application/json"})
+ @Get("/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/privateLinkServicesForPowerBI")
+ @ExpectedResponses({200})
+ @UnexpectedResponseExceptionType(ManagementException.class)
+ Mono>> listBySubscriptionId(
+ @HostParam("$host") String endpoint,
+ @PathParam("subscriptionId") String subscriptionId,
+ @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept,
+ Context context);
+ }
+
+ /**
+ * Gets all the private link resources for the given subscription id.
+ *
+ * @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 subscription id along with {@link Response} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> listBySubscriptionIdWithResponseAsync() {
+ 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."));
+ }
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(
+ context ->
+ service
+ .listBySubscriptionId(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ accept,
+ context))
+ .contextWrite(context -> context.putAll(FluxUtil.toReactorContext(this.client.getContext()).readOnly()));
+ }
+
+ /**
+ * 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 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} on successful
+ * completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono>> listBySubscriptionIdWithResponseAsync(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."));
+ }
+ final String accept = "application/json";
+ context = this.client.mergeContext(context);
+ return service
+ .listBySubscriptionId(
+ this.client.getEndpoint(),
+ this.client.getSubscriptionId(),
+ this.client.getApiVersion(),
+ accept,
+ context);
+ }
+
+ /**
+ * Gets all the private link resources for the given subscription id.
+ *
+ * @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 subscription id on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listBySubscriptionIdAsync() {
+ return listBySubscriptionIdWithResponseAsync().flatMap(res -> Mono.justOrEmpty(res.getValue()));
+ }
+
+ /**
+ * 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 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)
+ public Response> listBySubscriptionIdWithResponse(Context context) {
+ return listBySubscriptionIdWithResponseAsync(context).block();
+ }
+
+ /**
+ * Gets all the private link resources for the given subscription id.
+ *
+ * @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 subscription id.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public List listBySubscriptionId() {
+ return listBySubscriptionIdWithResponse(Context.NONE).getValue();
+ }
+}
diff --git a/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIsImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIsImpl.java
new file mode 100644
index 000000000000..ee7f8888f7a8
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesForPowerBIsImpl.java
@@ -0,0 +1,71 @@
+// 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.PrivateLinkServicesForPowerBIsClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.TenantResourceInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkServicesForPowerBIs;
+import com.azure.resourcemanager.powerbiprivatelinks.models.TenantResource;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public final class PrivateLinkServicesForPowerBIsImpl implements PrivateLinkServicesForPowerBIs {
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateLinkServicesForPowerBIsImpl.class);
+
+ private final PrivateLinkServicesForPowerBIsClient innerClient;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ public PrivateLinkServicesForPowerBIsImpl(
+ PrivateLinkServicesForPowerBIsClient innerClient,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response> listBySubscriptionIdWithResponse(Context context) {
+ Response> inner = this.serviceClient().listBySubscriptionIdWithResponse(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 List listBySubscriptionId() {
+ List inner = this.serviceClient().listBySubscriptionId();
+ if (inner != null) {
+ return Collections
+ .unmodifiableList(
+ inner
+ .stream()
+ .map(inner1 -> new TenantResourceImpl(inner1, this.manager()))
+ .collect(Collectors.toList()));
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ private PrivateLinkServicesForPowerBIsClient 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/PrivateLinkServicesImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesImpl.java
new file mode 100644
index 000000000000..7db120778f86
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/PrivateLinkServicesImpl.java
@@ -0,0 +1,72 @@
+// 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.PrivateLinkServicesClient;
+import com.azure.resourcemanager.powerbiprivatelinks.fluent.models.TenantResourceInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateLinkServices;
+import com.azure.resourcemanager.powerbiprivatelinks.models.TenantResource;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public final class PrivateLinkServicesImpl implements PrivateLinkServices {
+ private static final ClientLogger LOGGER = new ClientLogger(PrivateLinkServicesImpl.class);
+
+ private final PrivateLinkServicesClient innerClient;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ public PrivateLinkServicesImpl(
+ PrivateLinkServicesClient innerClient,
+ com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager) {
+ this.innerClient = innerClient;
+ this.serviceManager = serviceManager;
+ }
+
+ public Response> listByResourceGroupWithResponse(String resourceGroupName, Context context) {
+ Response> inner =
+ this.serviceClient().listByResourceGroupWithResponse(resourceGroupName, 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 List listByResourceGroup(String resourceGroupName) {
+ List inner = this.serviceClient().listByResourceGroup(resourceGroupName);
+ if (inner != null) {
+ return Collections
+ .unmodifiableList(
+ inner
+ .stream()
+ .map(inner1 -> new TenantResourceImpl(inner1, this.manager()))
+ .collect(Collectors.toList()));
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+ private PrivateLinkServicesClient 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/TenantResourceImpl.java b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/TenantResourceImpl.java
new file mode 100644
index 000000000000..c70e0c4e8033
--- /dev/null
+++ b/sdk/powerbiprivatelinks/azure-resourcemanager-powerbiprivatelinks/src/main/java/com/azure/resourcemanager/powerbiprivatelinks/implementation/TenantResourceImpl.java
@@ -0,0 +1,210 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.powerbiprivatelinks.implementation;
+
+import com.azure.core.management.Region;
+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.fluent.models.TenantResourceInner;
+import com.azure.resourcemanager.powerbiprivatelinks.models.PrivateEndpointConnection;
+import com.azure.resourcemanager.powerbiprivatelinks.models.TenantResource;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+public final class TenantResourceImpl implements TenantResource, TenantResource.Definition, TenantResource.Update {
+ private TenantResourceInner innerObject;
+
+ private final com.azure.resourcemanager.powerbiprivatelinks.PrivateLinkServicesForPowerBIManager serviceManager;
+
+ public String id() {
+ return this.innerModel().id();
+ }
+
+ public String name() {
+ return this.innerModel().name();
+ }
+
+ public String type() {
+ return this.innerModel().type();
+ }
+
+ public String location() {
+ return this.innerModel().location();
+ }
+
+ public Map