diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 053d18426c3e..7315516d7695 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -340,6 +340,7 @@ com.azure.resourcemanager:azure-resourcemanager-securityinsights;1.0.0-beta.2;1.
com.azure.resourcemanager:azure-resourcemanager-oep;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-dnsresolver;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-mobilenetwork;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-azureactivedirectory;1.0.0-beta.1;1.0.0-beta.1
com.azure.tools:azure-sdk-archetype;1.0.0;1.0.0
com.azure.tools:azure-sdk-build-tool;1.0.0-beta.1;1.0.0-beta.2
diff --git a/pom.xml b/pom.xml
index f3ba561857a5..de8004955f28 100644
--- a/pom.xml
+++ b/pom.xml
@@ -851,6 +851,7 @@
sdk/automanagesdk/automationsdk/avs
+ sdk/azureactivedirectorysdk/azurearcdatasdk/azurestacksdk/azurestackhci
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/CHANGELOG.md b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/CHANGELOG.md
new file mode 100644
index 000000000000..424c8966bf29
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2022-03-24)
+
+- Azure Resource Manager Azureactivedirectory client library for Java. This package contains Microsoft Azure SDK for Azureactivedirectory Management SDK. Private link Policy for Azure Active Directory. Package tag package-2020-03. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/README.md b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/README.md
new file mode 100644
index 000000000000..d2a05f7f5d20
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/README.md
@@ -0,0 +1,102 @@
+# Azure Resource Manager Azureactivedirectory client library for Java
+
+Azure Resource Manager Azureactivedirectory client library for Java.
+
+This package contains Microsoft Azure SDK for Azureactivedirectory Management SDK. Private link Policy for Azure Active Directory. Package tag package-2020-03. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-azureactivedirectory;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-azureactivedirectory
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+AzureactivedirectoryManager manager = AzureactivedirectoryManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+[Code snippets and samples](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/SAMPLE.md)
+
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/SAMPLE.md b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/SAMPLE.md
new file mode 100644
index 000000000000..a4150461a630
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/SAMPLE.md
@@ -0,0 +1,360 @@
+# Code snippets and samples
+
+
+## PrivateEndpointConnections
+
+- [Create](#privateendpointconnections_create)
+- [Delete](#privateendpointconnections_delete)
+- [Get](#privateendpointconnections_get)
+- [ListByPolicyName](#privateendpointconnections_listbypolicyname)
+
+## PrivateLinkForAzureAd
+
+- [Create](#privatelinkforazuread_create)
+- [Delete](#privatelinkforazuread_delete)
+- [GetByResourceGroup](#privatelinkforazuread_getbyresourcegroup)
+- [List](#privatelinkforazuread_list)
+- [ListByResourceGroup](#privatelinkforazuread_listbyresourcegroup)
+- [Update](#privatelinkforazuread_update)
+
+## PrivateLinkResources
+
+- [Get](#privatelinkresources_get)
+- [ListByPrivateLinkPolicy](#privatelinkresources_listbyprivatelinkpolicy)
+### PrivateEndpointConnections_Create
+
+```java
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateEndpoint;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateEndpointServiceConnectionStatus;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateLinkServiceConnectionState;
+
+/** Samples for PrivateEndpointConnections Create. */
+public final class PrivateEndpointConnectionsCreateSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateEndpointConnectionsCreate.json
+ */
+ /**
+ * Sample code: AadiamPutPrivateEndpointConnection.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void aadiamPutPrivateEndpointConnection(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager
+ .privateEndpointConnections()
+ .define("{privateEndpointConnection name}")
+ .withExistingPrivateLinkForAzureAd("resourcegroup", "example-policy-5849")
+ .withPrivateEndpoint(
+ new PrivateEndpoint()
+ .withId(
+ "subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/microsoft.aadiam/privateLinkForAzureAD/ddb1/privateLinkConnections/{privateEndpointConnection"
+ + " name}"))
+ .withPrivateLinkServiceConnectionState(
+ new PrivateLinkServiceConnectionState()
+ .withStatus(PrivateEndpointServiceConnectionStatus.APPROVED)
+ .withDescription("You may pass")
+ .withActionsRequired("None"))
+ .create();
+ }
+}
+```
+
+### PrivateEndpointConnections_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateEndpointConnections Delete. */
+public final class PrivateEndpointConnectionsDeleteSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateEndpointConnectionsDelete.json
+ */
+ /**
+ * Sample code: AadiamDeletePrivateEndpointConnections.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void aadiamDeletePrivateEndpointConnections(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager
+ .privateEndpointConnections()
+ .delete("myResourceGroup", "example-policy-5849", "{privateEndpointConnection name}", Context.NONE);
+ }
+}
+```
+
+### PrivateEndpointConnections_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateEndpointConnections Get. */
+public final class PrivateEndpointConnectionsGetSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateEndpointConnectionsGet.json
+ */
+ /**
+ * Sample code: AadiamGetPrivateEndpointConnections.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void aadiamGetPrivateEndpointConnections(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager
+ .privateEndpointConnections()
+ .getWithResponse(
+ "myResourceGroup", "example-policy-5849", "{privateEndpointConnection name}", Context.NONE);
+ }
+}
+```
+
+### PrivateEndpointConnections_ListByPolicyName
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateEndpointConnections ListByPolicyName. */
+public final class PrivateEndpointConnectionsListByPolicyNameSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateEndpointConnectionsList.json
+ */
+ /**
+ * Sample code: AadiamListPrivateEndpointConnections.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void aadiamListPrivateEndpointConnections(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager.privateEndpointConnections().listByPolicyName("myResourceGroup", "example-policy-5849", Context.NONE);
+ }
+}
+```
+
+### PrivateLinkForAzureAd_Create
+
+```java
+import java.util.Arrays;
+
+/** Samples for PrivateLinkForAzureAd Create. */
+public final class PrivateLinkForAzureAdCreateSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateLinkPolicyCreate.json
+ */
+ /**
+ * Sample code: privateLinkPolicyCreate.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void privateLinkPolicyCreate(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager
+ .privateLinkForAzureAds()
+ .define("ddb1")
+ .withExistingResourceGroup("rg1")
+ .withName("myOrgPrivateLinkPolicy")
+ .withOwnerTenantId("950f8bca-bf4d-4a41-ad10-034e792a243d")
+ .withAllTenants(false)
+ .withTenants(Arrays.asList("3616657d-1c80-41ae-9d83-2a2776f2c9be", "727b6ef1-18ab-4627-ac95-3f9cd945ed87"))
+ .withResourceName("myOrgVnetPrivateLink")
+ .withSubscriptionId("57849194-ea1f-470b-abda-d195b25634c1")
+ .withResourceGroup("myOrgVnetRG")
+ .create();
+ }
+
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateLinkPolicyMinCreate.json
+ */
+ /**
+ * Sample code: privateLinkPolicyMinCreate.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void privateLinkPolicyMinCreate(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager
+ .privateLinkForAzureAds()
+ .define("ddb1")
+ .withExistingResourceGroup("rg1")
+ .withName("myOrgPrivateLinkPolicy")
+ .withOwnerTenantId("950f8bca-bf4d-4a41-ad10-034e792a243d")
+ .withAllTenants(false)
+ .withTenants(Arrays.asList("3616657d-1c80-41ae-9d83-2a2776f2c9be", "727b6ef1-18ab-4627-ac95-3f9cd945ed87"))
+ .withResourceName("myOrgVnetPrivateLink")
+ .withSubscriptionId("57849194-ea1f-470b-abda-d195b25634c1")
+ .withResourceGroup("myOrgVnetRG")
+ .create();
+ }
+}
+```
+
+### PrivateLinkForAzureAd_Delete
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkForAzureAd Delete. */
+public final class PrivateLinkForAzureAdDeleteSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateLinkPolicyDelete.json
+ */
+ /**
+ * Sample code: privateLinkPolicyDelete.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void privateLinkPolicyDelete(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager.privateLinkForAzureAds().deleteWithResponse("rg1", "ddb1", Context.NONE);
+ }
+}
+```
+
+### PrivateLinkForAzureAd_GetByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkForAzureAd GetByResourceGroup. */
+public final class PrivateLinkForAzureAdGetByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateLinkPolicyGet.json
+ */
+ /**
+ * Sample code: privateLinkPolicyGet.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void privateLinkPolicyGet(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager.privateLinkForAzureAds().getByResourceGroupWithResponse("rg1", "ddb1", Context.NONE);
+ }
+}
+```
+
+### PrivateLinkForAzureAd_List
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkForAzureAd List. */
+public final class PrivateLinkForAzureAdListSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateLinkPolicyListBySubscription.json
+ */
+ /**
+ * Sample code: privateLinkPolicyListBySubscription.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void privateLinkPolicyListBySubscription(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager.privateLinkForAzureAds().list(Context.NONE);
+ }
+}
+```
+
+### PrivateLinkForAzureAd_ListByResourceGroup
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkForAzureAd ListByResourceGroup. */
+public final class PrivateLinkForAzureAdListByResourceGroupSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateLinkPolicyList.json
+ */
+ /**
+ * Sample code: privateLinkPolicyGetList.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void privateLinkPolicyGetList(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager.privateLinkForAzureAds().listByResourceGroup("rg1", Context.NONE);
+ }
+}
+```
+
+### PrivateLinkForAzureAd_Update
+
+```java
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateLinkPolicy;
+import java.util.HashMap;
+import java.util.Map;
+
+/** Samples for PrivateLinkForAzureAd Update. */
+public final class PrivateLinkForAzureAdUpdateSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateLinkPolicyUpdate.json
+ */
+ /**
+ * Sample code: privateLinkPolicyUpdate.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void privateLinkPolicyUpdate(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ PrivateLinkPolicy resource =
+ manager.privateLinkForAzureAds().getByResourceGroupWithResponse("rg1", "ddb1", Context.NONE).getValue();
+ resource.update().withTags(mapOf()).apply();
+ }
+
+ @SuppressWarnings("unchecked")
+ private static Map mapOf(Object... inputs) {
+ Map map = new HashMap<>();
+ for (int i = 0; i < inputs.length; i += 2) {
+ String key = (String) inputs[i];
+ T value = (T) inputs[i + 1];
+ map.put(key, value);
+ }
+ return map;
+ }
+}
+```
+
+### PrivateLinkResources_Get
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkResources Get. */
+public final class PrivateLinkResourcesGetSamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateLinkResourceGet.json
+ */
+ /**
+ * Sample code: Gets private endpoint connection by subscription id, resource group name, policy name, and group
+ * name.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void getsPrivateEndpointConnectionBySubscriptionIdResourceGroupNamePolicyNameAndGroupName(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager.privateLinkResources().getWithResponse("rg1", "ddb1", "azureactivedirectory", Context.NONE);
+ }
+}
+```
+
+### PrivateLinkResources_ListByPrivateLinkPolicy
+
+```java
+import com.azure.core.util.Context;
+
+/** Samples for PrivateLinkResources ListByPrivateLinkPolicy. */
+public final class PrivateLinkResourcesListByPrivateLinkPolicySamples {
+ /*
+ * x-ms-original-file: specification/azureactivedirectory/resource-manager/Microsoft.Aadiam/stable/2020-03-01/examples/AzureADPrivateLinkResourceListGet.json
+ */
+ /**
+ * Sample code: Gets private endpoint connection by subscription id, resource group name, and policy name.
+ *
+ * @param manager Entry point to AzureactivedirectoryManager.
+ */
+ public static void getsPrivateEndpointConnectionBySubscriptionIdResourceGroupNameAndPolicyName(
+ com.azure.resourcemanager.azureactivedirectory.AzureactivedirectoryManager manager) {
+ manager.privateLinkResources().listByPrivateLinkPolicy("rg1", "ddb1", Context.NONE);
+ }
+}
+```
+
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/pom.xml b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/pom.xml
new file mode 100644
index 000000000000..4dcd78807bf4
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/pom.xml
@@ -0,0 +1,55 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-azureactivedirectory
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for Azureactivedirectory Management
+ This package contains Microsoft Azure SDK for Azureactivedirectory Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Private link Policy for Azure Active Directory. Package tag package-2020-03.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+ true
+
+
+
+ com.azure
+ azure-core
+ 1.26.0
+
+
+ com.azure
+ azure-core-management
+ 1.5.3
+
+
+
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/AzureactivedirectoryManager.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/AzureactivedirectoryManager.java
new file mode 100644
index 000000000000..26e8533bb16d
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/AzureactivedirectoryManager.java
@@ -0,0 +1,270 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.HttpPipelinePosition;
+import com.azure.core.http.policy.AddDatePolicy;
+import com.azure.core.http.policy.HttpLogOptions;
+import com.azure.core.http.policy.HttpLoggingPolicy;
+import com.azure.core.http.policy.HttpPipelinePolicy;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.http.policy.ArmChallengeAuthenticationPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.azureactivedirectory.fluent.Azureactivedirectory;
+import com.azure.resourcemanager.azureactivedirectory.implementation.AzureactivedirectoryBuilder;
+import com.azure.resourcemanager.azureactivedirectory.implementation.PrivateEndpointConnectionsImpl;
+import com.azure.resourcemanager.azureactivedirectory.implementation.PrivateLinkForAzureAdsImpl;
+import com.azure.resourcemanager.azureactivedirectory.implementation.PrivateLinkResourcesImpl;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateEndpointConnections;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateLinkForAzureAds;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateLinkResources;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/** Entry point to AzureactivedirectoryManager. Private link Policy for Azure Active Directory. */
+public final class AzureactivedirectoryManager {
+ private PrivateLinkForAzureAds privateLinkForAzureAds;
+
+ private PrivateLinkResources privateLinkResources;
+
+ private PrivateEndpointConnections privateEndpointConnections;
+
+ private final Azureactivedirectory clientObject;
+
+ private AzureactivedirectoryManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new AzureactivedirectoryBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of Azureactivedirectory service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Azureactivedirectory service API instance.
+ */
+ public static AzureactivedirectoryManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create AzureactivedirectoryManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new AzureactivedirectoryManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private static final ClientLogger LOGGER = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval =
+ Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of Azureactivedirectory service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Azureactivedirectory service API instance.
+ */
+ public AzureactivedirectoryManager 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.azureactivedirectory")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder
+ .append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new AzureactivedirectoryManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of PrivateLinkForAzureAds. */
+ public PrivateLinkForAzureAds privateLinkForAzureAds() {
+ if (this.privateLinkForAzureAds == null) {
+ this.privateLinkForAzureAds =
+ new PrivateLinkForAzureAdsImpl(clientObject.getPrivateLinkForAzureAds(), this);
+ }
+ return privateLinkForAzureAds;
+ }
+
+ /** @return Resource collection API of PrivateLinkResources. */
+ public PrivateLinkResources privateLinkResources() {
+ if (this.privateLinkResources == null) {
+ this.privateLinkResources = new PrivateLinkResourcesImpl(clientObject.getPrivateLinkResources(), this);
+ }
+ return privateLinkResources;
+ }
+
+ /** @return Resource collection API of PrivateEndpointConnections. */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections =
+ new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /**
+ * @return Wrapped service client Azureactivedirectory providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ */
+ public Azureactivedirectory serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/Azureactivedirectory.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/Azureactivedirectory.java
new file mode 100644
index 000000000000..8d60f341074d
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/Azureactivedirectory.java
@@ -0,0 +1,67 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.fluent;
+
+import com.azure.core.http.HttpPipeline;
+import java.time.Duration;
+
+/** The interface for Azureactivedirectory class. */
+public interface Azureactivedirectory {
+ /**
+ * Gets Azure subscription ID.
+ *
+ * @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 PrivateLinkForAzureAdsClient object to access its operations.
+ *
+ * @return the PrivateLinkForAzureAdsClient object.
+ */
+ PrivateLinkForAzureAdsClient getPrivateLinkForAzureAds();
+
+ /**
+ * 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/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/PrivateEndpointConnectionsClient.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/PrivateEndpointConnectionsClient.java
new file mode 100644
index 000000000000..f0df3ecae8ac
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/PrivateEndpointConnectionsClient.java
@@ -0,0 +1,214 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.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.azureactivedirectory.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 for the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 private link resources as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByPolicyName(String resourceGroupName, String policyName);
+
+ /**
+ * Lists all Private Endpoint Connections for the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @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 private link resources as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByPolicyName(
+ String resourceGroupName, String policyName, Context context);
+
+ /**
+ * Creates specified private endpoint connection associated with the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param parameters The intended state of private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 private endpoint connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PrivateEndpointConnectionInner> beginCreate(
+ String resourceGroupName,
+ String policyName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters);
+
+ /**
+ * Creates specified private endpoint connection associated with the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param parameters The intended state of private endpoint connection.
+ * @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 private endpoint connection resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PrivateEndpointConnectionInner> beginCreate(
+ String resourceGroupName,
+ String policyName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters,
+ Context context);
+
+ /**
+ * Creates specified private endpoint connection associated with the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param parameters The intended state of private endpoint connection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner create(
+ String resourceGroupName,
+ String policyName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters);
+
+ /**
+ * Creates specified private endpoint connection associated with the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param parameters The intended state of private endpoint connection.
+ * @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 resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner create(
+ String resourceGroupName,
+ String policyName,
+ String privateEndpointConnectionName,
+ PrivateEndpointConnectionInner parameters,
+ Context context);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String policyName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String policyName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String policyName, String privateEndpointConnectionName);
+
+ /**
+ * Deletes the specified private endpoint connection associated with the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String policyName, String privateEndpointConnectionName, Context context);
+
+ /**
+ * Gets the specified private endpoint connection associated with the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified private endpoint connection associated with the given policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionInner get(
+ String resourceGroupName, String policyName, String privateEndpointConnectionName);
+
+ /**
+ * Gets the specified private endpoint connection associated with the given policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateEndpointConnectionName The PrivateEndpointConnection name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified private endpoint connection associated with the given policy along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String policyName, String privateEndpointConnectionName, Context context);
+}
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/PrivateLinkForAzureAdsClient.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/PrivateLinkForAzureAdsClient.java
new file mode 100644
index 000000000000..3d24532e0ccf
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/PrivateLinkForAzureAdsClient.java
@@ -0,0 +1,213 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.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.azureactivedirectory.fluent.models.PrivateLinkPolicyInner;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateLinkPolicyUpdateParameter;
+
+/** An instance of this class provides access to all the operations defined in PrivateLinkForAzureAdsClient. */
+public interface PrivateLinkForAzureAdsClient {
+ /**
+ * Creates a private link policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateLinkPolicy private link Policy supplied to the 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 privateLink Policy configuration object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PrivateLinkPolicyInner> beginCreate(
+ String resourceGroupName, String policyName, PrivateLinkPolicyInner privateLinkPolicy);
+
+ /**
+ * Creates a private link policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateLinkPolicy private link Policy supplied to the 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 privateLink Policy configuration object.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, PrivateLinkPolicyInner> beginCreate(
+ String resourceGroupName, String policyName, PrivateLinkPolicyInner privateLinkPolicy, Context context);
+
+ /**
+ * Creates a private link policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateLinkPolicy private link Policy supplied to the 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 privateLink Policy configuration object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkPolicyInner create(
+ String resourceGroupName, String policyName, PrivateLinkPolicyInner privateLinkPolicy);
+
+ /**
+ * Creates a private link policy.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateLinkPolicy private link Policy supplied to the 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 privateLink Policy configuration object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkPolicyInner create(
+ String resourceGroupName, String policyName, PrivateLinkPolicyInner privateLinkPolicy, Context context);
+
+ /**
+ * Updates private link policy tags with specified values.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return privateLink Policy configuration object.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkPolicyInner update(String resourceGroupName, String policyName);
+
+ /**
+ * Updates private link policy tags with specified values.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param privateLinkPolicy Private Link Policy resource with the tags to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return privateLink Policy configuration object along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String policyName,
+ PrivateLinkPolicyUpdateParameter privateLinkPolicy,
+ Context context);
+
+ /**
+ * Gets a private link policy with a given name.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 private link policy with a given name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkPolicyInner getByResourceGroup(String resourceGroupName, String policyName);
+
+ /**
+ * Gets a private link policy with a given name.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @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 private link policy with a given name along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String policyName, Context context);
+
+ /**
+ * Deletes a private link policy. When operation completes, status code 200 returned without content.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 policyName);
+
+ /**
+ * Deletes a private link policy. When operation completes, status code 200 returned without content.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @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 policyName, Context context);
+
+ /**
+ * Lists all Private Link Policies For AzureAD in the given subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private link policies as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists all Private Link Policies For AzureAD in the given subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private link policies as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Operation to return the list of Private Link Policies For AzureAD scoped to the resourceGroup.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private link policies as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Operation to return the list of Private Link Policies For AzureAD scoped to the resourceGroup.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of private link policies as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+}
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/PrivateLinkResourcesClient.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/PrivateLinkResourcesClient.java
new file mode 100644
index 000000000000..e138416a43e4
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/PrivateLinkResourcesClient.java
@@ -0,0 +1,75 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.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.azureactivedirectory.fluent.models.PrivateLinkResourceInner;
+
+/** An instance of this class provides access to all the operations defined in PrivateLinkResourcesClient. */
+public interface PrivateLinkResourcesClient {
+ /**
+ * Gets the private link resources that need to be created for a policy of AzureAD.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link resources that need to be created for a policy of AzureAD as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByPrivateLinkPolicy(String resourceGroupName, String policyName);
+
+ /**
+ * Gets the private link resources that need to be created for a policy of AzureAD.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the private link resources that need to be created for a policy of AzureAD as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByPrivateLinkPolicy(
+ String resourceGroupName, String policyName, Context context);
+
+ /**
+ * Gets the private link resources that need to be created for a policy of AzureAD.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param groupName The name of the 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 the private link resources that need to be created for a policy of AzureAD.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateLinkResourceInner get(String resourceGroupName, String policyName, String groupName);
+
+ /**
+ * Gets the private link resources that need to be created for a policy of AzureAD.
+ *
+ * @param resourceGroupName Name of an Azure resource group.
+ * @param policyName The name of the private link policy in Azure AD.
+ * @param groupName The name of the 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 the private link resources that need to be created for a policy of AzureAD along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String policyName, String groupName, Context context);
+}
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateEndpointConnectionInner.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateEndpointConnectionInner.java
new file mode 100644
index 000000000000..8e0fc14b4567
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateEndpointConnectionInner.java
@@ -0,0 +1,124 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateEndpoint;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateEndpointConnectionProvisioningState;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateLinkServiceConnectionState;
+import com.azure.resourcemanager.azureactivedirectory.models.TagsResource;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Private endpoint connection resource. */
+@Fluent
+public final class PrivateEndpointConnectionInner extends ProxyResource {
+ /*
+ * Resource properties.
+ */
+ @JsonProperty(value = "properties")
+ private PrivateEndpointConnectionProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: Resource properties.
+ *
+ * @return the innerProperties value.
+ */
+ private PrivateEndpointConnectionProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * Get the privateEndpoint property: Properties of the private endpoint object.
+ *
+ * @return the privateEndpoint value.
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateEndpoint();
+ }
+
+ /**
+ * Set the privateEndpoint property: Properties of the private endpoint object.
+ *
+ * @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: Approval state of the private link connection.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ public PrivateLinkServiceConnectionState privateLinkServiceConnectionState() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateLinkServiceConnectionState();
+ }
+
+ /**
+ * Set the privateLinkServiceConnectionState property: Approval state of the private link connection.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withPrivateLinkServiceConnectionState(
+ PrivateLinkServiceConnectionState 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 PrivateEndpointConnectionProvisioningState provisioningState() {
+ return this.innerProperties() == null ? null : this.innerProperties().provisioningState();
+ }
+
+ /**
+ * Get the privateLinkConnectionTags property: Updated tag information to set into the PrivateLinkConnection
+ * instance.
+ *
+ * @return the privateLinkConnectionTags value.
+ */
+ public TagsResource privateLinkConnectionTags() {
+ return this.innerProperties() == null ? null : this.innerProperties().privateLinkConnectionTags();
+ }
+
+ /**
+ * Set the privateLinkConnectionTags property: Updated tag information to set into the PrivateLinkConnection
+ * instance.
+ *
+ * @param privateLinkConnectionTags the privateLinkConnectionTags value to set.
+ * @return the PrivateEndpointConnectionInner object itself.
+ */
+ public PrivateEndpointConnectionInner withPrivateLinkConnectionTags(TagsResource privateLinkConnectionTags) {
+ if (this.innerProperties() == null) {
+ this.innerProperties = new PrivateEndpointConnectionProperties();
+ }
+ this.innerProperties().withPrivateLinkConnectionTags(privateLinkConnectionTags);
+ 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/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateEndpointConnectionProperties.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateEndpointConnectionProperties.java
new file mode 100644
index 000000000000..e0f8628501bd
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateEndpointConnectionProperties.java
@@ -0,0 +1,129 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateEndpoint;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateEndpointConnectionProvisioningState;
+import com.azure.resourcemanager.azureactivedirectory.models.PrivateLinkServiceConnectionState;
+import com.azure.resourcemanager.azureactivedirectory.models.TagsResource;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Properties of the private endpoint connection resource. */
+@Fluent
+public final class PrivateEndpointConnectionProperties {
+ /*
+ * Properties of the private endpoint object.
+ */
+ @JsonProperty(value = "privateEndpoint")
+ private PrivateEndpoint privateEndpoint;
+
+ /*
+ * Approval state of the private link connection.
+ */
+ @JsonProperty(value = "privateLinkServiceConnectionState")
+ private PrivateLinkServiceConnectionState privateLinkServiceConnectionState;
+
+ /*
+ * Provisioning state of the private endpoint connection.
+ */
+ @JsonProperty(value = "provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private PrivateEndpointConnectionProvisioningState provisioningState;
+
+ /*
+ * Updated tag information to set into the PrivateLinkConnection instance.
+ */
+ @JsonProperty(value = "privateLinkConnectionTags")
+ private TagsResource privateLinkConnectionTags;
+
+ /**
+ * Get the privateEndpoint property: Properties of the private endpoint object.
+ *
+ * @return the privateEndpoint value.
+ */
+ public PrivateEndpoint privateEndpoint() {
+ return this.privateEndpoint;
+ }
+
+ /**
+ * Set the privateEndpoint property: Properties of the private endpoint object.
+ *
+ * @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: Approval state of the private link connection.
+ *
+ * @return the privateLinkServiceConnectionState value.
+ */
+ public PrivateLinkServiceConnectionState privateLinkServiceConnectionState() {
+ return this.privateLinkServiceConnectionState;
+ }
+
+ /**
+ * Set the privateLinkServiceConnectionState property: Approval state of the private link connection.
+ *
+ * @param privateLinkServiceConnectionState the privateLinkServiceConnectionState value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withPrivateLinkServiceConnectionState(
+ PrivateLinkServiceConnectionState privateLinkServiceConnectionState) {
+ this.privateLinkServiceConnectionState = privateLinkServiceConnectionState;
+ return this;
+ }
+
+ /**
+ * Get the provisioningState property: Provisioning state of the private endpoint connection.
+ *
+ * @return the provisioningState value.
+ */
+ public PrivateEndpointConnectionProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the privateLinkConnectionTags property: Updated tag information to set into the PrivateLinkConnection
+ * instance.
+ *
+ * @return the privateLinkConnectionTags value.
+ */
+ public TagsResource privateLinkConnectionTags() {
+ return this.privateLinkConnectionTags;
+ }
+
+ /**
+ * Set the privateLinkConnectionTags property: Updated tag information to set into the PrivateLinkConnection
+ * instance.
+ *
+ * @param privateLinkConnectionTags the privateLinkConnectionTags value to set.
+ * @return the PrivateEndpointConnectionProperties object itself.
+ */
+ public PrivateEndpointConnectionProperties withPrivateLinkConnectionTags(TagsResource privateLinkConnectionTags) {
+ this.privateLinkConnectionTags = privateLinkConnectionTags;
+ 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();
+ }
+ if (privateLinkConnectionTags() != null) {
+ privateLinkConnectionTags().validate();
+ }
+ }
+}
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateLinkPolicyInner.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateLinkPolicyInner.java
new file mode 100644
index 000000000000..ae8e6426f0fa
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateLinkPolicyInner.java
@@ -0,0 +1,216 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.azureactivedirectory.models.AzureResourceBase;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+import java.util.Map;
+
+/** PrivateLink Policy configuration object. */
+@Fluent
+public final class PrivateLinkPolicyInner extends AzureResourceBase {
+ /*
+ * Guid of the owner tenant
+ */
+ @JsonProperty(value = "ownerTenantId")
+ private String ownerTenantId;
+
+ /*
+ * Flag indicating whether all tenants are allowed
+ */
+ @JsonProperty(value = "allTenants")
+ private Boolean allTenants;
+
+ /*
+ * The list of tenantIds.
+ */
+ @JsonProperty(value = "tenants")
+ private List tenants;
+
+ /*
+ * Name of the private link policy resource
+ */
+ @JsonProperty(value = "resourceName")
+ private String resourceName;
+
+ /*
+ * Subscription Identifier
+ */
+ @JsonProperty(value = "subscriptionId")
+ private String subscriptionId;
+
+ /*
+ * Name of the resource group
+ */
+ @JsonProperty(value = "resourceGroup")
+ private String resourceGroup;
+
+ /*
+ * Resource tags.
+ */
+ @JsonProperty(value = "tags")
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
+ private Map tags;
+
+ /**
+ * Get the ownerTenantId property: Guid of the owner tenant.
+ *
+ * @return the ownerTenantId value.
+ */
+ public String ownerTenantId() {
+ return this.ownerTenantId;
+ }
+
+ /**
+ * Set the ownerTenantId property: Guid of the owner tenant.
+ *
+ * @param ownerTenantId the ownerTenantId value to set.
+ * @return the PrivateLinkPolicyInner object itself.
+ */
+ public PrivateLinkPolicyInner withOwnerTenantId(String ownerTenantId) {
+ this.ownerTenantId = ownerTenantId;
+ return this;
+ }
+
+ /**
+ * Get the allTenants property: Flag indicating whether all tenants are allowed.
+ *
+ * @return the allTenants value.
+ */
+ public Boolean allTenants() {
+ return this.allTenants;
+ }
+
+ /**
+ * Set the allTenants property: Flag indicating whether all tenants are allowed.
+ *
+ * @param allTenants the allTenants value to set.
+ * @return the PrivateLinkPolicyInner object itself.
+ */
+ public PrivateLinkPolicyInner withAllTenants(Boolean allTenants) {
+ this.allTenants = allTenants;
+ return this;
+ }
+
+ /**
+ * Get the tenants property: The list of tenantIds.
+ *
+ * @return the tenants value.
+ */
+ public List tenants() {
+ return this.tenants;
+ }
+
+ /**
+ * Set the tenants property: The list of tenantIds.
+ *
+ * @param tenants the tenants value to set.
+ * @return the PrivateLinkPolicyInner object itself.
+ */
+ public PrivateLinkPolicyInner withTenants(List tenants) {
+ this.tenants = tenants;
+ return this;
+ }
+
+ /**
+ * Get the resourceName property: Name of the private link policy resource.
+ *
+ * @return the resourceName value.
+ */
+ public String resourceName() {
+ return this.resourceName;
+ }
+
+ /**
+ * Set the resourceName property: Name of the private link policy resource.
+ *
+ * @param resourceName the resourceName value to set.
+ * @return the PrivateLinkPolicyInner object itself.
+ */
+ public PrivateLinkPolicyInner withResourceName(String resourceName) {
+ this.resourceName = resourceName;
+ return this;
+ }
+
+ /**
+ * Get the subscriptionId property: Subscription Identifier.
+ *
+ * @return the subscriptionId value.
+ */
+ public String subscriptionId() {
+ return this.subscriptionId;
+ }
+
+ /**
+ * Set the subscriptionId property: Subscription Identifier.
+ *
+ * @param subscriptionId the subscriptionId value to set.
+ * @return the PrivateLinkPolicyInner object itself.
+ */
+ public PrivateLinkPolicyInner withSubscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /**
+ * Get the resourceGroup property: Name of the resource group.
+ *
+ * @return the resourceGroup value.
+ */
+ public String resourceGroup() {
+ return this.resourceGroup;
+ }
+
+ /**
+ * Set the resourceGroup property: Name of the resource group.
+ *
+ * @param resourceGroup the resourceGroup value to set.
+ * @return the PrivateLinkPolicyInner object itself.
+ */
+ public PrivateLinkPolicyInner withResourceGroup(String resourceGroup) {
+ this.resourceGroup = resourceGroup;
+ return this;
+ }
+
+ /**
+ * Get the tags property: Resource tags.
+ *
+ * @return the tags value.
+ */
+ public Map tags() {
+ return this.tags;
+ }
+
+ /**
+ * Set the tags property: Resource tags.
+ *
+ * @param tags the tags value to set.
+ * @return the PrivateLinkPolicyInner object itself.
+ */
+ public PrivateLinkPolicyInner withTags(Map tags) {
+ this.tags = tags;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public PrivateLinkPolicyInner withName(String name) {
+ super.withName(name);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ }
+}
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateLinkResourceInner.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateLinkResourceInner.java
new file mode 100644
index 000000000000..eb2c1239378d
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateLinkResourceInner.java
@@ -0,0 +1,60 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.resourcemanager.azureactivedirectory.models.ArmProxyResource;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** A private link resource. */
+@Fluent
+public final class PrivateLinkResourceInner extends ArmProxyResource {
+ /*
+ * Resource properties.
+ */
+ @JsonProperty(value = "properties")
+ private PrivateLinkResourceProperties innerProperties;
+
+ /**
+ * Get the innerProperties property: Resource properties.
+ *
+ * @return the innerProperties value.
+ */
+ private PrivateLinkResourceProperties innerProperties() {
+ return this.innerProperties;
+ }
+
+ /**
+ * 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();
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ @Override
+ public void validate() {
+ super.validate();
+ if (innerProperties() != null) {
+ innerProperties().validate();
+ }
+ }
+}
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateLinkResourceProperties.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateLinkResourceProperties.java
new file mode 100644
index 000000000000..adab165dd8bc
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/PrivateLinkResourceProperties.java
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Properties of a private link resource. */
+@Immutable
+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;
+
+ /**
+ * 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;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/package-info.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/package-info.java
new file mode 100644
index 000000000000..fd4febc57518
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/models/package-info.java
@@ -0,0 +1,8 @@
+// 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 Azureactivedirectory. Private link Policy for Azure Active Directory.
+ */
+package com.azure.resourcemanager.azureactivedirectory.fluent.models;
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/package-info.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/package-info.java
new file mode 100644
index 000000000000..c7e3db11b1d0
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/fluent/package-info.java
@@ -0,0 +1,6 @@
+// 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 Azureactivedirectory. Private link Policy for Azure Active Directory. */
+package com.azure.resourcemanager.azureactivedirectory.fluent;
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/implementation/AzureactivedirectoryBuilder.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/implementation/AzureactivedirectoryBuilder.java
new file mode 100644
index 000000000000..162799fe8d5a
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/implementation/AzureactivedirectoryBuilder.java
@@ -0,0 +1,146 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.implementation;
+
+import com.azure.core.annotation.ServiceClientBuilder;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.policy.CookiePolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.serializer.SerializerFactory;
+import com.azure.core.util.serializer.SerializerAdapter;
+import java.time.Duration;
+
+/** A builder for creating a new instance of the AzureactivedirectoryImpl type. */
+@ServiceClientBuilder(serviceClients = {AzureactivedirectoryImpl.class})
+public final class AzureactivedirectoryBuilder {
+ /*
+ * Azure subscription ID.
+ */
+ private String subscriptionId;
+
+ /**
+ * Sets Azure subscription ID.
+ *
+ * @param subscriptionId the subscriptionId value.
+ * @return the AzureactivedirectoryBuilder.
+ */
+ public AzureactivedirectoryBuilder subscriptionId(String subscriptionId) {
+ this.subscriptionId = subscriptionId;
+ return this;
+ }
+
+ /*
+ * server parameter
+ */
+ private String endpoint;
+
+ /**
+ * Sets server parameter.
+ *
+ * @param endpoint the endpoint value.
+ * @return the AzureactivedirectoryBuilder.
+ */
+ public AzureactivedirectoryBuilder 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 AzureactivedirectoryBuilder.
+ */
+ public AzureactivedirectoryBuilder environment(AzureEnvironment environment) {
+ this.environment = environment;
+ return this;
+ }
+
+ /*
+ * The default poll interval for long-running operation
+ */
+ private Duration defaultPollInterval;
+
+ /**
+ * Sets The default poll interval for long-running operation.
+ *
+ * @param defaultPollInterval the defaultPollInterval value.
+ * @return the AzureactivedirectoryBuilder.
+ */
+ public AzureactivedirectoryBuilder defaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = defaultPollInterval;
+ return this;
+ }
+
+ /*
+ * The HTTP pipeline to send requests through
+ */
+ private HttpPipeline pipeline;
+
+ /**
+ * Sets The HTTP pipeline to send requests through.
+ *
+ * @param pipeline the pipeline value.
+ * @return the AzureactivedirectoryBuilder.
+ */
+ public AzureactivedirectoryBuilder pipeline(HttpPipeline pipeline) {
+ this.pipeline = pipeline;
+ return this;
+ }
+
+ /*
+ * The serializer to serialize an object into a string
+ */
+ private SerializerAdapter serializerAdapter;
+
+ /**
+ * Sets The serializer to serialize an object into a string.
+ *
+ * @param serializerAdapter the serializerAdapter value.
+ * @return the AzureactivedirectoryBuilder.
+ */
+ public AzureactivedirectoryBuilder serializerAdapter(SerializerAdapter serializerAdapter) {
+ this.serializerAdapter = serializerAdapter;
+ return this;
+ }
+
+ /**
+ * Builds an instance of AzureactivedirectoryImpl with the provided parameters.
+ *
+ * @return an instance of AzureactivedirectoryImpl.
+ */
+ public AzureactivedirectoryImpl buildClient() {
+ if (endpoint == null) {
+ this.endpoint = "https://management.azure.com";
+ }
+ if (environment == null) {
+ this.environment = AzureEnvironment.AZURE;
+ }
+ if (defaultPollInterval == null) {
+ this.defaultPollInterval = Duration.ofSeconds(30);
+ }
+ if (pipeline == null) {
+ this.pipeline =
+ new HttpPipelineBuilder()
+ .policies(new UserAgentPolicy(), new RetryPolicy(), new CookiePolicy())
+ .build();
+ }
+ if (serializerAdapter == null) {
+ this.serializerAdapter = SerializerFactory.createDefaultManagementSerializerAdapter();
+ }
+ AzureactivedirectoryImpl client =
+ new AzureactivedirectoryImpl(
+ pipeline, serializerAdapter, defaultPollInterval, environment, subscriptionId, endpoint);
+ return client;
+ }
+}
diff --git a/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/implementation/AzureactivedirectoryImpl.java b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/implementation/AzureactivedirectoryImpl.java
new file mode 100644
index 000000000000..78aaeee2f18e
--- /dev/null
+++ b/sdk/azureactivedirectory/azure-resourcemanager-azureactivedirectory/src/main/java/com/azure/resourcemanager/azureactivedirectory/implementation/AzureactivedirectoryImpl.java
@@ -0,0 +1,321 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.azureactivedirectory.implementation;
+
+import com.azure.core.annotation.ServiceClient;
+import com.azure.core.http.HttpHeaders;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpResponse;
+import com.azure.core.http.rest.Response;
+import com.azure.core.management.AzureEnvironment;
+import com.azure.core.management.exception.ManagementError;
+import com.azure.core.management.exception.ManagementException;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.management.polling.PollerFactory;
+import com.azure.core.util.Context;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.core.util.polling.AsyncPollResponse;
+import com.azure.core.util.polling.LongRunningOperationStatus;
+import com.azure.core.util.polling.PollerFlux;
+import com.azure.core.util.serializer.SerializerAdapter;
+import com.azure.core.util.serializer.SerializerEncoding;
+import com.azure.resourcemanager.azureactivedirectory.fluent.Azureactivedirectory;
+import com.azure.resourcemanager.azureactivedirectory.fluent.PrivateEndpointConnectionsClient;
+import com.azure.resourcemanager.azureactivedirectory.fluent.PrivateLinkForAzureAdsClient;
+import com.azure.resourcemanager.azureactivedirectory.fluent.PrivateLinkResourcesClient;
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.time.Duration;
+import java.util.Map;
+import reactor.core.publisher.Flux;
+import reactor.core.publisher.Mono;
+
+/** Initializes a new instance of the AzureactivedirectoryImpl type. */
+@ServiceClient(builder = AzureactivedirectoryBuilder.class)
+public final class AzureactivedirectoryImpl implements Azureactivedirectory {
+ /** Azure subscription ID. */
+ private final String subscriptionId;
+
+ /**
+ * Gets Azure subscription ID.
+ *
+ * @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 PrivateLinkForAzureAdsClient object to access its operations. */
+ private final PrivateLinkForAzureAdsClient privateLinkForAzureAds;
+
+ /**
+ * Gets the PrivateLinkForAzureAdsClient object to access its operations.
+ *
+ * @return the PrivateLinkForAzureAdsClient object.
+ */
+ public PrivateLinkForAzureAdsClient getPrivateLinkForAzureAds() {
+ return this.privateLinkForAzureAds;
+ }
+
+ /** 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 Azureactivedirectory 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 Azure subscription ID.
+ * @param endpoint server parameter.
+ */
+ AzureactivedirectoryImpl(
+ 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-03-01";
+ this.privateLinkForAzureAds = new PrivateLinkForAzureAdsClientImpl(this);
+ this.privateLinkResources = new PrivateLinkResourcesClientImpl(this);
+ this.privateEndpointConnections = new PrivateEndpointConnectionsClientImpl(this);
+ }
+
+ /**
+ * Gets default client context.
+ *
+ * @return the default client context.
+ */
+ public Context getContext() {
+ return Context.NONE;
+ }
+
+ /**
+ * Merges default client context with provided context.
+ *
+ * @param context the context to be merged with default client context.
+ * @return the merged context.
+ */
+ public Context mergeContext(Context context) {
+ for (Map.Entry