diff --git a/sdk/synapse/azure-resourcemanager-synapse/CHANGELOG.md b/sdk/synapse/azure-resourcemanager-synapse/CHANGELOG.md
index a1d5fccf8675c..2c76c04ae8940 100644
--- a/sdk/synapse/azure-resourcemanager-synapse/CHANGELOG.md
+++ b/sdk/synapse/azure-resourcemanager-synapse/CHANGELOG.md
@@ -1,7 +1,8 @@
# Release History
-## 1.0.0-beta.2 (Unreleased)
+## 1.0.0-beta.1 (2021-08-05)
+- Azure Resource Manager Synapse client library for Java. This package contains Microsoft Azure SDK for Synapse Management SDK. Azure Synapse Analytics Management Client. Package tag package-preview-2021-06. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
## 1.0.0-beta.1 (2021-04-07)
diff --git a/sdk/synapse/azure-resourcemanager-synapse/README.md b/sdk/synapse/azure-resourcemanager-synapse/README.md
index 7ab6c9ee84803..07bc2cfb00c5d 100644
--- a/sdk/synapse/azure-resourcemanager-synapse/README.md
+++ b/sdk/synapse/azure-resourcemanager-synapse/README.md
@@ -2,7 +2,7 @@
Azure Resource Manager Synapse client library for Java.
-This package contains Microsoft Azure SDK for Synapse Management SDK. Azure Synapse Analytics Management Client. Package tag package-2021-03. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+This package contains Microsoft Azure SDK for Synapse Management SDK. Azure Synapse Analytics Management Client. Package tag package-preview-2021-06. 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
@@ -32,7 +32,7 @@ Various documentation is available to help you get started
com.azure.resourcemanagerazure-resourcemanager-synapse
- 1.0.0-beta.1
+ 1.0.0-beta.2
```
[//]: # ({x-version-update-end})
@@ -74,6 +74,8 @@ See [API design][design] for general introduction on design and key concepts on
## Examples
+
+
## Troubleshooting
## Next steps
diff --git a/sdk/synapse/azure-resourcemanager-synapse/pom.xml b/sdk/synapse/azure-resourcemanager-synapse/pom.xml
index e1fe6373cc813..f9dadcd6e7d31 100644
--- a/sdk/synapse/azure-resourcemanager-synapse/pom.xml
+++ b/sdk/synapse/azure-resourcemanager-synapse/pom.xml
@@ -1,67 +1,86 @@
- 4.0.0
-
- com.azure
- azure-client-sdk-parent
- 1.7.0
- ../../parents/azure-client-sdk-parent
-
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
- com.azure.resourcemanager
- azure-resourcemanager-synapse
- 1.0.0-beta.2
- jar
+ com.azure.resourcemanager
+ azure-resourcemanager-synapse
+ 1.0.0-beta.2
+ jar
- Microsoft Azure SDK for Synapse Management
- This package contains Microsoft Azure SDK for Synapse Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Azure Synapse Analytics Management Client. Package tag package-2021-03.
- https://github.com/Azure/azure-sdk-for-java
+ Microsoft Azure SDK for Synapse Management
+ This package contains Microsoft Azure SDK for Synapse Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. Azure Synapse Analytics Management Client. Package tag package-preview-2021-06.
+ https://github.com/Azure/azure-sdk-for-java
-
-
- The MIT License (MIT)
- http://opensource.org/licenses/MIT
- repo
-
-
+
+
+ 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
-
-
-
-
- com.azure
- azure-core
- 1.18.0
-
-
- com.azure
- azure-core-management
- 1.3.1
-
-
-
-
-
- org.jacoco
- jacoco-maven-plugin
- 0.8.5
-
- true
-
-
-
-
+
+ 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
+
+
+
+
+ com.azure
+ azure-core
+ 1.18.0
+
+
+ com.azure
+ azure-core-management
+ 1.3.1
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+ org.revapi
+ revapi-maven-plugin
+ 0.11.2
+
+
+
+
+ java.method.addedToInterface
+
+
+ true
+ .*
+ com\.azure\.resourcemanager(\.[^.]+)+\.fluent(\.[^.]+)*
+
+
+
+
+
+
+
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/SynapseManager.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/SynapseManager.java
index 85a061fd04d6b..9f3e9a65a97ee 100644
--- a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/SynapseManager.java
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/SynapseManager.java
@@ -9,7 +9,6 @@
import com.azure.core.http.HttpPipeline;
import com.azure.core.http.HttpPipelineBuilder;
import com.azure.core.http.policy.AddDatePolicy;
-import com.azure.core.http.policy.BearerTokenAuthenticationPolicy;
import com.azure.core.http.policy.HttpLogOptions;
import com.azure.core.http.policy.HttpLoggingPolicy;
import com.azure.core.http.policy.HttpPipelinePolicy;
@@ -17,13 +16,18 @@
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.synapse.fluent.SynapseManagementClient;
+import com.azure.resourcemanager.synapse.implementation.AttachedDatabaseConfigurationsImpl;
import com.azure.resourcemanager.synapse.implementation.BigDataPoolsImpl;
+import com.azure.resourcemanager.synapse.implementation.DataConnectionsImpl;
import com.azure.resourcemanager.synapse.implementation.DataMaskingPoliciesImpl;
import com.azure.resourcemanager.synapse.implementation.DataMaskingRulesImpl;
+import com.azure.resourcemanager.synapse.implementation.DatabasePrincipalAssignmentsImpl;
+import com.azure.resourcemanager.synapse.implementation.DatabasesImpl;
import com.azure.resourcemanager.synapse.implementation.ExtendedSqlPoolBlobAuditingPoliciesImpl;
import com.azure.resourcemanager.synapse.implementation.IntegrationRuntimeAuthKeysOperationsImpl;
import com.azure.resourcemanager.synapse.implementation.IntegrationRuntimeConnectionInfosImpl;
@@ -36,6 +40,11 @@
import com.azure.resourcemanager.synapse.implementation.IntegrationRuntimesImpl;
import com.azure.resourcemanager.synapse.implementation.IpFirewallRulesImpl;
import com.azure.resourcemanager.synapse.implementation.KeysImpl;
+import com.azure.resourcemanager.synapse.implementation.KustoOperationsImpl;
+import com.azure.resourcemanager.synapse.implementation.KustoPoolChildResourcesImpl;
+import com.azure.resourcemanager.synapse.implementation.KustoPoolPrincipalAssignmentsImpl;
+import com.azure.resourcemanager.synapse.implementation.KustoPoolsImpl;
+import com.azure.resourcemanager.synapse.implementation.KustoPoolsOperationsImpl;
import com.azure.resourcemanager.synapse.implementation.LibrariesImpl;
import com.azure.resourcemanager.synapse.implementation.LibrariesOperationsImpl;
import com.azure.resourcemanager.synapse.implementation.OperationsImpl;
@@ -83,9 +92,13 @@
import com.azure.resourcemanager.synapse.implementation.WorkspaceManagedSqlServerVulnerabilityAssessmentsImpl;
import com.azure.resourcemanager.synapse.implementation.WorkspaceSqlAadAdminsImpl;
import com.azure.resourcemanager.synapse.implementation.WorkspacesImpl;
+import com.azure.resourcemanager.synapse.models.AttachedDatabaseConfigurations;
import com.azure.resourcemanager.synapse.models.BigDataPools;
+import com.azure.resourcemanager.synapse.models.DataConnections;
import com.azure.resourcemanager.synapse.models.DataMaskingPolicies;
import com.azure.resourcemanager.synapse.models.DataMaskingRules;
+import com.azure.resourcemanager.synapse.models.DatabasePrincipalAssignments;
+import com.azure.resourcemanager.synapse.models.Databases;
import com.azure.resourcemanager.synapse.models.ExtendedSqlPoolBlobAuditingPolicies;
import com.azure.resourcemanager.synapse.models.IntegrationRuntimeAuthKeysOperations;
import com.azure.resourcemanager.synapse.models.IntegrationRuntimeConnectionInfos;
@@ -98,6 +111,11 @@
import com.azure.resourcemanager.synapse.models.IntegrationRuntimes;
import com.azure.resourcemanager.synapse.models.IpFirewallRules;
import com.azure.resourcemanager.synapse.models.Keys;
+import com.azure.resourcemanager.synapse.models.KustoOperations;
+import com.azure.resourcemanager.synapse.models.KustoPoolChildResources;
+import com.azure.resourcemanager.synapse.models.KustoPoolPrincipalAssignments;
+import com.azure.resourcemanager.synapse.models.KustoPools;
+import com.azure.resourcemanager.synapse.models.KustoPoolsOperations;
import com.azure.resourcemanager.synapse.models.Libraries;
import com.azure.resourcemanager.synapse.models.LibrariesOperations;
import com.azure.resourcemanager.synapse.models.Operations;
@@ -178,6 +196,24 @@ public final class SynapseManager {
private Keys keys;
+ private KustoOperations kustoOperations;
+
+ private KustoPools kustoPools;
+
+ private KustoPoolsOperations kustoPoolsOperations;
+
+ private KustoPoolChildResources kustoPoolChildResources;
+
+ private AttachedDatabaseConfigurations attachedDatabaseConfigurations;
+
+ private Databases databases;
+
+ private DataConnections dataConnections;
+
+ private KustoPoolPrincipalAssignments kustoPoolPrincipalAssignments;
+
+ private DatabasePrincipalAssignments databasePrincipalAssignments;
+
private Libraries libraries;
private LibrariesOperations librariesOperations;
@@ -317,6 +353,7 @@ public static final class Configurable {
private HttpClient httpClient;
private HttpLogOptions httpLogOptions;
private final List policies = new ArrayList<>();
+ private final List scopes = new ArrayList<>();
private RetryPolicy retryPolicy;
private Duration defaultPollInterval;
@@ -356,6 +393,17 @@ public Configurable withPolicy(HttpPipelinePolicy policy) {
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.
*
@@ -412,6 +460,9 @@ public SynapseManager authenticate(TokenCredential credential, AzureProfile prof
userAgentBuilder.append(" (auto-generated)");
}
+ if (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
if (retryPolicy == null) {
retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
}
@@ -421,10 +472,7 @@ public SynapseManager authenticate(TokenCredential credential, AzureProfile prof
HttpPolicyProviders.addBeforeRetryPolicies(policies);
policies.add(retryPolicy);
policies.add(new AddDatePolicy());
- policies
- .add(
- new BearerTokenAuthenticationPolicy(
- credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
policies.addAll(this.policies);
HttpPolicyProviders.addAfterRetryPolicies(policies);
policies.add(new HttpLoggingPolicy(httpLogOptions));
@@ -551,6 +599,82 @@ public Keys keys() {
return keys;
}
+ /** @return Resource collection API of KustoOperations. */
+ public KustoOperations kustoOperations() {
+ if (this.kustoOperations == null) {
+ this.kustoOperations = new KustoOperationsImpl(clientObject.getKustoOperations(), this);
+ }
+ return kustoOperations;
+ }
+
+ /** @return Resource collection API of KustoPools. */
+ public KustoPools kustoPools() {
+ if (this.kustoPools == null) {
+ this.kustoPools = new KustoPoolsImpl(clientObject.getKustoPools(), this);
+ }
+ return kustoPools;
+ }
+
+ /** @return Resource collection API of KustoPoolsOperations. */
+ public KustoPoolsOperations kustoPoolsOperations() {
+ if (this.kustoPoolsOperations == null) {
+ this.kustoPoolsOperations = new KustoPoolsOperationsImpl(clientObject.getKustoPoolsOperations(), this);
+ }
+ return kustoPoolsOperations;
+ }
+
+ /** @return Resource collection API of KustoPoolChildResources. */
+ public KustoPoolChildResources kustoPoolChildResources() {
+ if (this.kustoPoolChildResources == null) {
+ this.kustoPoolChildResources =
+ new KustoPoolChildResourcesImpl(clientObject.getKustoPoolChildResources(), this);
+ }
+ return kustoPoolChildResources;
+ }
+
+ /** @return Resource collection API of AttachedDatabaseConfigurations. */
+ public AttachedDatabaseConfigurations attachedDatabaseConfigurations() {
+ if (this.attachedDatabaseConfigurations == null) {
+ this.attachedDatabaseConfigurations =
+ new AttachedDatabaseConfigurationsImpl(clientObject.getAttachedDatabaseConfigurations(), this);
+ }
+ return attachedDatabaseConfigurations;
+ }
+
+ /** @return Resource collection API of Databases. */
+ public Databases databases() {
+ if (this.databases == null) {
+ this.databases = new DatabasesImpl(clientObject.getDatabases(), this);
+ }
+ return databases;
+ }
+
+ /** @return Resource collection API of DataConnections. */
+ public DataConnections dataConnections() {
+ if (this.dataConnections == null) {
+ this.dataConnections = new DataConnectionsImpl(clientObject.getDataConnections(), this);
+ }
+ return dataConnections;
+ }
+
+ /** @return Resource collection API of KustoPoolPrincipalAssignments. */
+ public KustoPoolPrincipalAssignments kustoPoolPrincipalAssignments() {
+ if (this.kustoPoolPrincipalAssignments == null) {
+ this.kustoPoolPrincipalAssignments =
+ new KustoPoolPrincipalAssignmentsImpl(clientObject.getKustoPoolPrincipalAssignments(), this);
+ }
+ return kustoPoolPrincipalAssignments;
+ }
+
+ /** @return Resource collection API of DatabasePrincipalAssignments. */
+ public DatabasePrincipalAssignments databasePrincipalAssignments() {
+ if (this.databasePrincipalAssignments == null) {
+ this.databasePrincipalAssignments =
+ new DatabasePrincipalAssignmentsImpl(clientObject.getDatabasePrincipalAssignments(), this);
+ }
+ return databasePrincipalAssignments;
+ }
+
/** @return Resource collection API of Libraries. */
public Libraries libraries() {
if (this.libraries == null) {
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/AttachedDatabaseConfigurationsClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/AttachedDatabaseConfigurationsClient.java
new file mode 100644
index 0000000000000..c02f2cb1b0338
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/AttachedDatabaseConfigurationsClient.java
@@ -0,0 +1,245 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.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.synapse.fluent.models.AttachedDatabaseConfigurationInner;
+
+/** An instance of this class provides access to all the operations defined in AttachedDatabaseConfigurationsClient. */
+public interface AttachedDatabaseConfigurationsClient {
+ /**
+ * Returns the list of attached database configurations of the given Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list attached database configurations operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByKustoPool(
+ String workspaceName, String kustoPoolName, String resourceGroupName);
+
+ /**
+ * Returns the list of attached database configurations of the given Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list attached database configurations operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByKustoPool(
+ String workspaceName, String kustoPoolName, String resourceGroupName, Context context);
+
+ /**
+ * Returns an attached database configuration.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param attachedDatabaseConfigurationName The name of the attached database configuration.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return class representing an attached database configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AttachedDatabaseConfigurationInner get(
+ String workspaceName, String kustoPoolName, String attachedDatabaseConfigurationName, String resourceGroupName);
+
+ /**
+ * Returns an attached database configuration.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param attachedDatabaseConfigurationName The name of the attached database configuration.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return class representing an attached database configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String workspaceName,
+ String kustoPoolName,
+ String attachedDatabaseConfigurationName,
+ String resourceGroupName,
+ Context context);
+
+ /**
+ * Creates or updates an attached database configuration.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param attachedDatabaseConfigurationName The name of the attached database configuration.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The database parameters supplied to the CreateOrUpdate 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 class representing an attached database configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AttachedDatabaseConfigurationInner> beginCreateOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String attachedDatabaseConfigurationName,
+ String resourceGroupName,
+ AttachedDatabaseConfigurationInner parameters);
+
+ /**
+ * Creates or updates an attached database configuration.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param attachedDatabaseConfigurationName The name of the attached database configuration.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The database parameters supplied to the CreateOrUpdate 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 class representing an attached database configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, AttachedDatabaseConfigurationInner> beginCreateOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String attachedDatabaseConfigurationName,
+ String resourceGroupName,
+ AttachedDatabaseConfigurationInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates an attached database configuration.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param attachedDatabaseConfigurationName The name of the attached database configuration.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The database parameters supplied to the CreateOrUpdate 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 class representing an attached database configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AttachedDatabaseConfigurationInner createOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String attachedDatabaseConfigurationName,
+ String resourceGroupName,
+ AttachedDatabaseConfigurationInner parameters);
+
+ /**
+ * Creates or updates an attached database configuration.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param attachedDatabaseConfigurationName The name of the attached database configuration.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The database parameters supplied to the CreateOrUpdate 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 class representing an attached database configuration.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AttachedDatabaseConfigurationInner createOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String attachedDatabaseConfigurationName,
+ String resourceGroupName,
+ AttachedDatabaseConfigurationInner parameters,
+ Context context);
+
+ /**
+ * Deletes the attached database configuration with the given name.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param attachedDatabaseConfigurationName The name of the attached database configuration.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String workspaceName, String kustoPoolName, String attachedDatabaseConfigurationName, String resourceGroupName);
+
+ /**
+ * Deletes the attached database configuration with the given name.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param attachedDatabaseConfigurationName The name of the attached database configuration.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String workspaceName,
+ String kustoPoolName,
+ String attachedDatabaseConfigurationName,
+ String resourceGroupName,
+ Context context);
+
+ /**
+ * Deletes the attached database configuration with the given name.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param attachedDatabaseConfigurationName The name of the attached database configuration.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String workspaceName, String kustoPoolName, String attachedDatabaseConfigurationName, String resourceGroupName);
+
+ /**
+ * Deletes the attached database configuration with the given name.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param attachedDatabaseConfigurationName The name of the attached database configuration.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String workspaceName,
+ String kustoPoolName,
+ String attachedDatabaseConfigurationName,
+ String resourceGroupName,
+ Context context);
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/DataConnectionsClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/DataConnectionsClient.java
new file mode 100644
index 0000000000000..e3bd0cd3e6e66
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/DataConnectionsClient.java
@@ -0,0 +1,510 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.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.synapse.fluent.models.CheckNameResultInner;
+import com.azure.resourcemanager.synapse.fluent.models.DataConnectionInner;
+import com.azure.resourcemanager.synapse.fluent.models.DataConnectionValidationInner;
+import com.azure.resourcemanager.synapse.fluent.models.DataConnectionValidationListResultInner;
+import com.azure.resourcemanager.synapse.models.DataConnectionCheckNameRequest;
+
+/** An instance of this class provides access to all the operations defined in DataConnectionsClient. */
+public interface DataConnectionsClient {
+ /**
+ * Checks that the data connection name is valid and is not already in use.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data 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 result returned from a check name availability request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameResultInner checkNameAvailability(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DataConnectionCheckNameRequest dataConnectionName);
+
+ /**
+ * Checks that the data connection name is valid and is not already in use.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data 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 result returned from a check name availability request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DataConnectionCheckNameRequest dataConnectionName,
+ Context context);
+
+ /**
+ * Checks that the data connection parameters are valid.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The data connection parameters supplied to the CreateOrUpdate 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 list Kusto data connection validation result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataConnectionValidationListResultInner>
+ beginDataConnectionValidation(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DataConnectionValidationInner parameters);
+
+ /**
+ * Checks that the data connection parameters are valid.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The data connection parameters supplied to the CreateOrUpdate 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 list Kusto data connection validation result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataConnectionValidationListResultInner>
+ beginDataConnectionValidation(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DataConnectionValidationInner parameters,
+ Context context);
+
+ /**
+ * Checks that the data connection parameters are valid.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The data connection parameters supplied to the CreateOrUpdate 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 list Kusto data connection validation result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataConnectionValidationListResultInner dataConnectionValidation(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DataConnectionValidationInner parameters);
+
+ /**
+ * Checks that the data connection parameters are valid.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The data connection parameters supplied to the CreateOrUpdate 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 list Kusto data connection validation result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataConnectionValidationListResultInner dataConnectionValidation(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DataConnectionValidationInner parameters,
+ Context context);
+
+ /**
+ * Returns the list of data connections of the given Kusto pool database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 list Kusto data connections operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String workspaceName, String kustoPoolName, String databaseName);
+
+ /**
+ * Returns the list of data connections of the given Kusto pool database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @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 list Kusto data connections operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String workspaceName, String kustoPoolName, String databaseName, Context context);
+
+ /**
+ * Returns a data connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data 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 class representing a data connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataConnectionInner get(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName);
+
+ /**
+ * Returns a data connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data 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 class representing a data connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ Context context);
+
+ /**
+ * Creates or updates a data connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data connection.
+ * @param parameters The data connection parameters supplied to the CreateOrUpdate 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 class representing a data connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataConnectionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ DataConnectionInner parameters);
+
+ /**
+ * Creates or updates a data connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data connection.
+ * @param parameters The data connection parameters supplied to the CreateOrUpdate 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 class representing a data connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataConnectionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ DataConnectionInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates a data connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data connection.
+ * @param parameters The data connection parameters supplied to the CreateOrUpdate 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 class representing a data connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataConnectionInner createOrUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ DataConnectionInner parameters);
+
+ /**
+ * Creates or updates a data connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data connection.
+ * @param parameters The data connection parameters supplied to the CreateOrUpdate 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 class representing a data connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataConnectionInner createOrUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ DataConnectionInner parameters,
+ Context context);
+
+ /**
+ * Updates a data connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data connection.
+ * @param parameters The data connection parameters supplied to the Update 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 class representing a data connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataConnectionInner> beginUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ DataConnectionInner parameters);
+
+ /**
+ * Updates a data connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data connection.
+ * @param parameters The data connection parameters supplied to the Update 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 class representing a data connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DataConnectionInner> beginUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ DataConnectionInner parameters,
+ Context context);
+
+ /**
+ * Updates a data connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data connection.
+ * @param parameters The data connection parameters supplied to the Update 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 class representing a data connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataConnectionInner update(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ DataConnectionInner parameters);
+
+ /**
+ * Updates a data connection.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data connection.
+ * @param parameters The data connection parameters supplied to the Update 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 class representing a data connection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataConnectionInner update(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ DataConnectionInner parameters,
+ Context context);
+
+ /**
+ * Deletes the data connection with the given name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName);
+
+ /**
+ * Deletes the data connection with the given name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data 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 completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ Context context);
+
+ /**
+ * Deletes the data connection with the given name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName);
+
+ /**
+ * Deletes the data connection with the given name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param dataConnectionName The name of the data 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String dataConnectionName,
+ Context context);
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/DatabasePrincipalAssignmentsClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/DatabasePrincipalAssignmentsClient.java
new file mode 100644
index 0000000000000..30d264318036e
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/DatabasePrincipalAssignmentsClient.java
@@ -0,0 +1,322 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.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.synapse.fluent.models.CheckNameResultInner;
+import com.azure.resourcemanager.synapse.fluent.models.DatabasePrincipalAssignmentInner;
+import com.azure.resourcemanager.synapse.models.DatabasePrincipalAssignmentCheckNameRequest;
+
+/** An instance of this class provides access to all the operations defined in DatabasePrincipalAssignmentsClient. */
+public interface DatabasePrincipalAssignmentsClient {
+ /**
+ * Checks that the database principal assignment is valid and is not already in use.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param principalAssignmentName The name of the 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 result returned from a check name availability request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameResultInner checkNameAvailability(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String resourceGroupName,
+ DatabasePrincipalAssignmentCheckNameRequest principalAssignmentName);
+
+ /**
+ * Checks that the database principal assignment is valid and is not already in use.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param principalAssignmentName The name of the 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 result returned from a check name availability request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithResponse(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String resourceGroupName,
+ DatabasePrincipalAssignmentCheckNameRequest principalAssignmentName,
+ Context context);
+
+ /**
+ * Lists all Kusto pool database principalAssignments.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list Kusto database principal assignments operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String workspaceName, String kustoPoolName, String databaseName, String resourceGroupName);
+
+ /**
+ * Lists all Kusto pool database principalAssignments.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list Kusto database principal assignments operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String workspaceName, String kustoPoolName, String databaseName, String resourceGroupName, Context context);
+
+ /**
+ * Gets a Kusto pool database principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a Kusto pool database principalAssignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabasePrincipalAssignmentInner get(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String principalAssignmentName,
+ String resourceGroupName);
+
+ /**
+ * Gets a Kusto pool database principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a Kusto pool database principalAssignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ Context context);
+
+ /**
+ * Creates a Kusto pool database principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The Kusto principalAssignments parameters supplied for 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 class representing a database principal assignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabasePrincipalAssignmentInner> beginCreateOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ DatabasePrincipalAssignmentInner parameters);
+
+ /**
+ * Creates a Kusto pool database principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The Kusto principalAssignments parameters supplied for 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 class representing a database principal assignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabasePrincipalAssignmentInner> beginCreateOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ DatabasePrincipalAssignmentInner parameters,
+ Context context);
+
+ /**
+ * Creates a Kusto pool database principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The Kusto principalAssignments parameters supplied for 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 class representing a database principal assignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabasePrincipalAssignmentInner createOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ DatabasePrincipalAssignmentInner parameters);
+
+ /**
+ * Creates a Kusto pool database principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The Kusto principalAssignments parameters supplied for 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 class representing a database principal assignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabasePrincipalAssignmentInner createOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ DatabasePrincipalAssignmentInner parameters,
+ Context context);
+
+ /**
+ * Deletes a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String principalAssignmentName,
+ String resourceGroupName);
+
+ /**
+ * Deletes a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ Context context);
+
+ /**
+ * Deletes a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String principalAssignmentName,
+ String resourceGroupName);
+
+ /**
+ * Deletes a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ Context context);
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/DatabasesClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/DatabasesClient.java
new file mode 100644
index 0000000000000..fcb12aa13723c
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/DatabasesClient.java
@@ -0,0 +1,318 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.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.synapse.fluent.models.DatabaseInner;
+
+/** An instance of this class provides access to all the operations defined in DatabasesClient. */
+public interface DatabasesClient {
+ /**
+ * Returns the list of databases of the given Kusto pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 list Kusto databases operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByKustoPool(String resourceGroupName, String workspaceName, String kustoPoolName);
+
+ /**
+ * Returns the list of databases of the given Kusto pool.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @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 list Kusto databases operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByKustoPool(
+ String resourceGroupName, String workspaceName, String kustoPoolName, Context context);
+
+ /**
+ * Returns a database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return class representing a Kusto database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner get(String resourceGroupName, String workspaceName, String kustoPoolName, String databaseName);
+
+ /**
+ * Returns a database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @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 class representing a Kusto database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String workspaceName, String kustoPoolName, String databaseName, Context context);
+
+ /**
+ * Creates or updates a database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The database parameters supplied to the CreateOrUpdate 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 class representing a Kusto database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DatabaseInner parameters);
+
+ /**
+ * Creates or updates a database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The database parameters supplied to the CreateOrUpdate 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 class representing a Kusto database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DatabaseInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates a database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The database parameters supplied to the CreateOrUpdate 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 class representing a Kusto database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner createOrUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DatabaseInner parameters);
+
+ /**
+ * Creates or updates a database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The database parameters supplied to the CreateOrUpdate 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 class representing a Kusto database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner createOrUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DatabaseInner parameters,
+ Context context);
+
+ /**
+ * Updates a database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The database parameters supplied to the Update 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 class representing a Kusto database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DatabaseInner parameters);
+
+ /**
+ * Updates a database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The database parameters supplied to the Update 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 class representing a Kusto database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginUpdate(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DatabaseInner parameters,
+ Context context);
+
+ /**
+ * Updates a database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The database parameters supplied to the Update 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 class representing a Kusto database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner update(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DatabaseInner parameters);
+
+ /**
+ * Updates a database.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param parameters The database parameters supplied to the Update 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 class representing a Kusto database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner update(
+ String resourceGroupName,
+ String workspaceName,
+ String kustoPoolName,
+ String databaseName,
+ DatabaseInner parameters,
+ Context context);
+
+ /**
+ * Deletes the database with the given name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String workspaceName, String kustoPoolName, String databaseName);
+
+ /**
+ * Deletes the database with the given name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String workspaceName, String kustoPoolName, String databaseName, Context context);
+
+ /**
+ * Deletes the database with the given name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String workspaceName, String kustoPoolName, String databaseName);
+
+ /**
+ * Deletes the database with the given name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param databaseName The name of the database in the Kusto pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName, String workspaceName, String kustoPoolName, String databaseName, Context context);
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoOperationsClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoOperationsClient.java
new file mode 100644
index 0000000000000..9a791f5052173
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoOperationsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.synapse.fluent.models.OperationInner;
+
+/** An instance of this class provides access to all the operations defined in KustoOperationsClient. */
+public interface KustoOperationsClient {
+ /**
+ * Lists available operations for the Kusto sub-resources inside Microsoft.Synapse provider.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list REST API operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists available operations for the Kusto sub-resources inside Microsoft.Synapse provider.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return result of the request to list REST API operations.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolChildResourcesClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolChildResourcesClient.java
new file mode 100644
index 0000000000000..006cc76935a5f
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolChildResourcesClient.java
@@ -0,0 +1,52 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.synapse.fluent.models.CheckNameResultInner;
+import com.azure.resourcemanager.synapse.models.DatabaseCheckNameRequest;
+
+/** An instance of this class provides access to all the operations defined in KustoPoolChildResourcesClient. */
+public interface KustoPoolChildResourcesClient {
+ /**
+ * Checks that the Kusto Pool child resource name is valid and is not already in use.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the Kusto Pool child 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 result returned from a check name availability request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameResultInner checkNameAvailability(
+ String workspaceName, String kustoPoolName, String resourceGroupName, DatabaseCheckNameRequest resourceName);
+
+ /**
+ * Checks that the Kusto Pool child resource name is valid and is not already in use.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param resourceName The name of the Kusto Pool child 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 result returned from a check name availability request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithResponse(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ DatabaseCheckNameRequest resourceName,
+ Context context);
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolPrincipalAssignmentsClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolPrincipalAssignmentsClient.java
new file mode 100644
index 0000000000000..863586333bce3
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolPrincipalAssignmentsClient.java
@@ -0,0 +1,286 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.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.synapse.fluent.models.CheckNameResultInner;
+import com.azure.resourcemanager.synapse.fluent.models.ClusterPrincipalAssignmentInner;
+import com.azure.resourcemanager.synapse.models.ClusterPrincipalAssignmentCheckNameRequest;
+
+/** An instance of this class provides access to all the operations defined in KustoPoolPrincipalAssignmentsClient. */
+public interface KustoPoolPrincipalAssignmentsClient {
+ /**
+ * Checks that the principal assignment name is valid and is not already in use.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param principalAssignmentName The name of the principal assignment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 result returned from a check name availability request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameResultInner checkNameAvailability(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ ClusterPrincipalAssignmentCheckNameRequest principalAssignmentName);
+
+ /**
+ * Checks that the principal assignment name is valid and is not already in use.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param principalAssignmentName The name of the principal assignment.
+ * @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 result returned from a check name availability request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithResponse(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ ClusterPrincipalAssignmentCheckNameRequest principalAssignmentName,
+ Context context);
+
+ /**
+ * Lists all Kusto pool principalAssignments.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list Kusto cluster principal assignments operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String workspaceName, String kustoPoolName, String resourceGroupName);
+
+ /**
+ * Lists all Kusto pool principalAssignments.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list Kusto cluster principal assignments operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(
+ String workspaceName, String kustoPoolName, String resourceGroupName, Context context);
+
+ /**
+ * Gets a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a Kusto pool principalAssignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterPrincipalAssignmentInner get(
+ String workspaceName, String kustoPoolName, String principalAssignmentName, String resourceGroupName);
+
+ /**
+ * Gets a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a Kusto pool principalAssignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String workspaceName,
+ String kustoPoolName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ Context context);
+
+ /**
+ * Create a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The Kusto pool principalAssignment's parameters supplied for 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 class representing a cluster principal assignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ClusterPrincipalAssignmentInner> beginCreateOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ ClusterPrincipalAssignmentInner parameters);
+
+ /**
+ * Create a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The Kusto pool principalAssignment's parameters supplied for 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 class representing a cluster principal assignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ClusterPrincipalAssignmentInner> beginCreateOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ ClusterPrincipalAssignmentInner parameters,
+ Context context);
+
+ /**
+ * Create a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The Kusto pool principalAssignment's parameters supplied for 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 class representing a cluster principal assignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterPrincipalAssignmentInner createOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ ClusterPrincipalAssignmentInner parameters);
+
+ /**
+ * Create a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param parameters The Kusto pool principalAssignment's parameters supplied for 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 class representing a cluster principal assignment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ClusterPrincipalAssignmentInner createOrUpdate(
+ String workspaceName,
+ String kustoPoolName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ ClusterPrincipalAssignmentInner parameters,
+ Context context);
+
+ /**
+ * Deletes a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String workspaceName, String kustoPoolName, String principalAssignmentName, String resourceGroupName);
+
+ /**
+ * Deletes a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String workspaceName,
+ String kustoPoolName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ Context context);
+
+ /**
+ * Deletes a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String workspaceName, String kustoPoolName, String principalAssignmentName, String resourceGroupName);
+
+ /**
+ * Deletes a Kusto pool principalAssignment.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param principalAssignmentName The name of the Kusto principalAssignment.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String workspaceName,
+ String kustoPoolName,
+ String principalAssignmentName,
+ String resourceGroupName,
+ Context context);
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolsClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolsClient.java
new file mode 100644
index 0000000000000..2e0d19091eada
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolsClient.java
@@ -0,0 +1,36 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.synapse.fluent.models.SkuDescriptionInner;
+
+/** An instance of this class provides access to all the operations defined in KustoPoolsClient. */
+public interface KustoPoolsClient {
+ /**
+ * Lists eligible SKUs for Kusto Pool resource.
+ *
+ * @throws com.azure.core.management.exception.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 list of the SKU descriptions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Lists eligible SKUs for Kusto Pool 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 list of the SKU descriptions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolsOperationsClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolsOperationsClient.java
new file mode 100644
index 0000000000000..6d145da837573
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/KustoPoolsOperationsClient.java
@@ -0,0 +1,838 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.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.synapse.fluent.models.AzureResourceSkuInner;
+import com.azure.resourcemanager.synapse.fluent.models.CheckNameResultInner;
+import com.azure.resourcemanager.synapse.fluent.models.FollowerDatabaseDefinitionInner;
+import com.azure.resourcemanager.synapse.fluent.models.KustoPoolInner;
+import com.azure.resourcemanager.synapse.fluent.models.KustoPoolListResultInner;
+import com.azure.resourcemanager.synapse.fluent.models.LanguageExtensionInner;
+import com.azure.resourcemanager.synapse.models.KustoPoolCheckNameRequest;
+import com.azure.resourcemanager.synapse.models.KustoPoolUpdate;
+import com.azure.resourcemanager.synapse.models.LanguageExtensionsList;
+
+/** An instance of this class provides access to all the operations defined in KustoPoolsOperationsClient. */
+public interface KustoPoolsOperationsClient {
+ /**
+ * Checks that the kusto pool name is valid and is not already in use.
+ *
+ * @param location The name of Azure region.
+ * @param kustoPoolName The name of the cluster.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 result returned from a check name availability request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ CheckNameResultInner checkNameAvailability(String location, KustoPoolCheckNameRequest kustoPoolName);
+
+ /**
+ * Checks that the kusto pool name is valid and is not already in use.
+ *
+ * @param location The name of Azure region.
+ * @param kustoPoolName The name of the cluster.
+ * @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 result returned from a check name availability request.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response checkNameAvailabilityWithResponse(
+ String location, KustoPoolCheckNameRequest kustoPoolName, Context context);
+
+ /**
+ * List all Kusto pools.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list Kusto pools operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ KustoPoolListResultInner listByWorkspace(String resourceGroupName, String workspaceName);
+
+ /**
+ * List all Kusto pools.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param workspaceName The name of the workspace.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list Kusto pools operation response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listByWorkspaceWithResponse(
+ String resourceGroupName, String workspaceName, Context context);
+
+ /**
+ * Gets a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a Kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ KustoPoolInner get(String workspaceName, String kustoPoolName, String resourceGroupName);
+
+ /**
+ * Gets a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a Kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String workspaceName, String kustoPoolName, String resourceGroupName, Context context);
+
+ /**
+ * Create or update a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param parameters The Kusto pool parameters supplied to the CreateOrUpdate operation.
+ * @param ifMatch The ETag of the Kusto Pool. Omit this value to always overwrite the current Kusto Pool. Specify
+ * the last-seen ETag value to prevent accidentally overwriting concurrent changes.
+ * @param ifNoneMatch Set to '*' to allow a new Kusto Pool to be created, but to prevent updating an existing Kusto
+ * Pool. Other values will result in a 412 Pre-condition Failed response.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return class representing a Kusto kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, KustoPoolInner> beginCreateOrUpdate(
+ String workspaceName,
+ String resourceGroupName,
+ String kustoPoolName,
+ KustoPoolInner parameters,
+ String ifMatch,
+ String ifNoneMatch);
+
+ /**
+ * Create or update a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param parameters The Kusto pool parameters supplied to the CreateOrUpdate operation.
+ * @param ifMatch The ETag of the Kusto Pool. Omit this value to always overwrite the current Kusto Pool. Specify
+ * the last-seen ETag value to prevent accidentally overwriting concurrent changes.
+ * @param ifNoneMatch Set to '*' to allow a new Kusto Pool to be created, but to prevent updating an existing Kusto
+ * Pool. Other values will result in a 412 Pre-condition Failed response.
+ * @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 class representing a Kusto kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, KustoPoolInner> beginCreateOrUpdate(
+ String workspaceName,
+ String resourceGroupName,
+ String kustoPoolName,
+ KustoPoolInner parameters,
+ String ifMatch,
+ String ifNoneMatch,
+ Context context);
+
+ /**
+ * Create or update a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param parameters The Kusto pool parameters supplied to the CreateOrUpdate operation.
+ * @param ifMatch The ETag of the Kusto Pool. Omit this value to always overwrite the current Kusto Pool. Specify
+ * the last-seen ETag value to prevent accidentally overwriting concurrent changes.
+ * @param ifNoneMatch Set to '*' to allow a new Kusto Pool to be created, but to prevent updating an existing Kusto
+ * Pool. Other values will result in a 412 Pre-condition Failed response.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return class representing a Kusto kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ KustoPoolInner createOrUpdate(
+ String workspaceName,
+ String resourceGroupName,
+ String kustoPoolName,
+ KustoPoolInner parameters,
+ String ifMatch,
+ String ifNoneMatch);
+
+ /**
+ * Create or update a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param parameters The Kusto pool parameters supplied to the CreateOrUpdate 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 class representing a Kusto kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ KustoPoolInner createOrUpdate(
+ String workspaceName, String resourceGroupName, String kustoPoolName, KustoPoolInner parameters);
+
+ /**
+ * Create or update a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param parameters The Kusto pool parameters supplied to the CreateOrUpdate operation.
+ * @param ifMatch The ETag of the Kusto Pool. Omit this value to always overwrite the current Kusto Pool. Specify
+ * the last-seen ETag value to prevent accidentally overwriting concurrent changes.
+ * @param ifNoneMatch Set to '*' to allow a new Kusto Pool to be created, but to prevent updating an existing Kusto
+ * Pool. Other values will result in a 412 Pre-condition Failed response.
+ * @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 class representing a Kusto kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ KustoPoolInner createOrUpdate(
+ String workspaceName,
+ String resourceGroupName,
+ String kustoPoolName,
+ KustoPoolInner parameters,
+ String ifMatch,
+ String ifNoneMatch,
+ Context context);
+
+ /**
+ * Update a Kusto Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param parameters The Kusto pool parameters supplied to the Update operation.
+ * @param ifMatch The ETag of the Kusto Pool. Omit this value to always overwrite the current Kusto Pool. Specify
+ * the last-seen ETag value to prevent accidentally overwriting concurrent changes.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return class representing a Kusto kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, KustoPoolInner> beginUpdate(
+ String workspaceName,
+ String resourceGroupName,
+ String kustoPoolName,
+ KustoPoolUpdate parameters,
+ String ifMatch);
+
+ /**
+ * Update a Kusto Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param parameters The Kusto pool parameters supplied to the Update operation.
+ * @param ifMatch The ETag of the Kusto Pool. Omit this value to always overwrite the current Kusto Pool. Specify
+ * the last-seen ETag value to prevent accidentally overwriting concurrent changes.
+ * @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 class representing a Kusto kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, KustoPoolInner> beginUpdate(
+ String workspaceName,
+ String resourceGroupName,
+ String kustoPoolName,
+ KustoPoolUpdate parameters,
+ String ifMatch,
+ Context context);
+
+ /**
+ * Update a Kusto Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param parameters The Kusto pool parameters supplied to the Update operation.
+ * @param ifMatch The ETag of the Kusto Pool. Omit this value to always overwrite the current Kusto Pool. Specify
+ * the last-seen ETag value to prevent accidentally overwriting concurrent changes.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return class representing a Kusto kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ KustoPoolInner update(
+ String workspaceName,
+ String resourceGroupName,
+ String kustoPoolName,
+ KustoPoolUpdate parameters,
+ String ifMatch);
+
+ /**
+ * Update a Kusto Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param parameters The Kusto pool parameters supplied to the Update 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 class representing a Kusto kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ KustoPoolInner update(
+ String workspaceName, String resourceGroupName, String kustoPoolName, KustoPoolUpdate parameters);
+
+ /**
+ * Update a Kusto Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param parameters The Kusto pool parameters supplied to the Update operation.
+ * @param ifMatch The ETag of the Kusto Pool. Omit this value to always overwrite the current Kusto Pool. Specify
+ * the last-seen ETag value to prevent accidentally overwriting concurrent changes.
+ * @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 class representing a Kusto kusto pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ KustoPoolInner update(
+ String workspaceName,
+ String resourceGroupName,
+ String kustoPoolName,
+ KustoPoolUpdate parameters,
+ String ifMatch,
+ Context context);
+
+ /**
+ * Deletes a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String workspaceName, String resourceGroupName, String kustoPoolName);
+
+ /**
+ * Deletes a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String workspaceName, String resourceGroupName, String kustoPoolName, Context context);
+
+ /**
+ * Deletes a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 workspaceName, String resourceGroupName, String kustoPoolName);
+
+ /**
+ * Deletes a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @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 workspaceName, String resourceGroupName, String kustoPoolName, Context context);
+
+ /**
+ * Stops a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStop(String workspaceName, String kustoPoolName, String resourceGroupName);
+
+ /**
+ * Stops a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStop(
+ String workspaceName, String kustoPoolName, String resourceGroupName, Context context);
+
+ /**
+ * Stops a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String workspaceName, String kustoPoolName, String resourceGroupName);
+
+ /**
+ * Stops a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void stop(String workspaceName, String kustoPoolName, String resourceGroupName, Context context);
+
+ /**
+ * Starts a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(String workspaceName, String kustoPoolName, String resourceGroupName);
+
+ /**
+ * Starts a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginStart(
+ String workspaceName, String kustoPoolName, String resourceGroupName, Context context);
+
+ /**
+ * Starts a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String workspaceName, String kustoPoolName, String resourceGroupName);
+
+ /**
+ * Starts a Kusto pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void start(String workspaceName, String kustoPoolName, String resourceGroupName, Context context);
+
+ /**
+ * Returns the SKUs available for the provided resource.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of available SKUs for a Kusto Pool.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listSkusByResource(
+ String workspaceName, String kustoPoolName, String resourceGroupName);
+
+ /**
+ * Returns the SKUs available for the provided resource.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of available SKUs for a Kusto Pool.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listSkusByResource(
+ String workspaceName, String kustoPoolName, String resourceGroupName, Context context);
+
+ /**
+ * Returns a list of language extensions that can run within KQL queries.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of language extension objects.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listLanguageExtensions(
+ String workspaceName, String kustoPoolName, String resourceGroupName);
+
+ /**
+ * Returns a list of language extensions that can run within KQL queries.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list of language extension objects.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listLanguageExtensions(
+ String workspaceName, String kustoPoolName, String resourceGroupName, Context context);
+
+ /**
+ * Add a list of language extensions that can run within KQL queries.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param languageExtensionsToAdd The language extensions to add.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginAddLanguageExtensions(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ LanguageExtensionsList languageExtensionsToAdd);
+
+ /**
+ * Add a list of language extensions that can run within KQL queries.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param languageExtensionsToAdd The language extensions to add.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginAddLanguageExtensions(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ LanguageExtensionsList languageExtensionsToAdd,
+ Context context);
+
+ /**
+ * Add a list of language extensions that can run within KQL queries.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param languageExtensionsToAdd The language extensions to add.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 addLanguageExtensions(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ LanguageExtensionsList languageExtensionsToAdd);
+
+ /**
+ * Add a list of language extensions that can run within KQL queries.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param languageExtensionsToAdd The language extensions to add.
+ * @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 addLanguageExtensions(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ LanguageExtensionsList languageExtensionsToAdd,
+ Context context);
+
+ /**
+ * Remove a list of language extensions that can run within KQL queries.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param languageExtensionsToRemove The language extensions to remove.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRemoveLanguageExtensions(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ LanguageExtensionsList languageExtensionsToRemove);
+
+ /**
+ * Remove a list of language extensions that can run within KQL queries.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param languageExtensionsToRemove The language extensions to remove.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRemoveLanguageExtensions(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ LanguageExtensionsList languageExtensionsToRemove,
+ Context context);
+
+ /**
+ * Remove a list of language extensions that can run within KQL queries.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param languageExtensionsToRemove The language extensions to remove.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 removeLanguageExtensions(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ LanguageExtensionsList languageExtensionsToRemove);
+
+ /**
+ * Remove a list of language extensions that can run within KQL queries.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param languageExtensionsToRemove The language extensions to remove.
+ * @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 removeLanguageExtensions(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ LanguageExtensionsList languageExtensionsToRemove,
+ Context context);
+
+ /**
+ * Returns a list of databases that are owned by this Kusto Pool and were followed by another Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list Kusto database principals operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listFollowerDatabases(
+ String workspaceName, String kustoPoolName, String resourceGroupName);
+
+ /**
+ * Returns a list of databases that are owned by this Kusto Pool and were followed by another Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the list Kusto database principals operation response.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listFollowerDatabases(
+ String workspaceName, String kustoPoolName, String resourceGroupName, Context context);
+
+ /**
+ * Detaches all followers of a database owned by this Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param followerDatabaseToRemove The follower databases properties to remove.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDetachFollowerDatabases(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ FollowerDatabaseDefinitionInner followerDatabaseToRemove);
+
+ /**
+ * Detaches all followers of a database owned by this Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param followerDatabaseToRemove The follower databases properties to remove.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDetachFollowerDatabases(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ FollowerDatabaseDefinitionInner followerDatabaseToRemove,
+ Context context);
+
+ /**
+ * Detaches all followers of a database owned by this Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param followerDatabaseToRemove The follower databases properties to remove.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 detachFollowerDatabases(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ FollowerDatabaseDefinitionInner followerDatabaseToRemove);
+
+ /**
+ * Detaches all followers of a database owned by this Kusto Pool.
+ *
+ * @param workspaceName The name of the workspace.
+ * @param kustoPoolName The name of the Kusto pool.
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param followerDatabaseToRemove The follower databases properties to remove.
+ * @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 detachFollowerDatabases(
+ String workspaceName,
+ String kustoPoolName,
+ String resourceGroupName,
+ FollowerDatabaseDefinitionInner followerDatabaseToRemove,
+ Context context);
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/PrivateEndpointConnectionsPrivateLinkHubsClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/PrivateEndpointConnectionsPrivateLinkHubsClient.java
index aaea5f3852f8a..9635d0029a2d0 100644
--- a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/PrivateEndpointConnectionsPrivateLinkHubsClient.java
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/PrivateEndpointConnectionsPrivateLinkHubsClient.java
@@ -7,6 +7,7 @@
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.synapse.fluent.models.PrivateEndpointConnectionForPrivateLinkHubInner;
@@ -43,4 +44,35 @@ PagedIterable list(
@ServiceMethod(returns = ReturnType.COLLECTION)
PagedIterable list(
String resourceGroupName, String privateLinkHubName, Context context);
+
+ /**
+ * Get all PrivateEndpointConnection in the PrivateLinkHub by name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param privateLinkHubName Name of the privateLinkHub.
+ * @param privateEndpointConnectionName Name of the privateEndpointConnection.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all PrivateEndpointConnection in the PrivateLinkHub by name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ PrivateEndpointConnectionForPrivateLinkHubInner get(
+ String resourceGroupName, String privateLinkHubName, String privateEndpointConnectionName);
+
+ /**
+ * Get all PrivateEndpointConnection in the PrivateLinkHub by name.
+ *
+ * @param resourceGroupName The name of the resource group. The name is case insensitive.
+ * @param privateLinkHubName Name of the privateLinkHub.
+ * @param privateEndpointConnectionName Name of the privateEndpointConnection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return all PrivateEndpointConnection in the PrivateLinkHub by name.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String privateLinkHubName, String privateEndpointConnectionName, Context context);
}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/SynapseManagementClient.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/SynapseManagementClient.java
index 68f7a2f1c32b4..52721db761f27 100644
--- a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/SynapseManagementClient.java
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/SynapseManagementClient.java
@@ -135,6 +135,69 @@ public interface SynapseManagementClient {
*/
KeysClient getKeys();
+ /**
+ * Gets the KustoOperationsClient object to access its operations.
+ *
+ * @return the KustoOperationsClient object.
+ */
+ KustoOperationsClient getKustoOperations();
+
+ /**
+ * Gets the KustoPoolsClient object to access its operations.
+ *
+ * @return the KustoPoolsClient object.
+ */
+ KustoPoolsClient getKustoPools();
+
+ /**
+ * Gets the KustoPoolsOperationsClient object to access its operations.
+ *
+ * @return the KustoPoolsOperationsClient object.
+ */
+ KustoPoolsOperationsClient getKustoPoolsOperations();
+
+ /**
+ * Gets the KustoPoolChildResourcesClient object to access its operations.
+ *
+ * @return the KustoPoolChildResourcesClient object.
+ */
+ KustoPoolChildResourcesClient getKustoPoolChildResources();
+
+ /**
+ * Gets the AttachedDatabaseConfigurationsClient object to access its operations.
+ *
+ * @return the AttachedDatabaseConfigurationsClient object.
+ */
+ AttachedDatabaseConfigurationsClient getAttachedDatabaseConfigurations();
+
+ /**
+ * Gets the DatabasesClient object to access its operations.
+ *
+ * @return the DatabasesClient object.
+ */
+ DatabasesClient getDatabases();
+
+ /**
+ * Gets the DataConnectionsClient object to access its operations.
+ *
+ * @return the DataConnectionsClient object.
+ */
+ DataConnectionsClient getDataConnections();
+
+ /**
+ * Gets the KustoPoolPrincipalAssignmentsClient object to access its operations.
+ *
+ * @return the KustoPoolPrincipalAssignmentsClient object.
+ */
+ KustoPoolPrincipalAssignmentsClient getKustoPoolPrincipalAssignments();
+
+ /**
+ * Gets the DatabasePrincipalAssignmentsClient object to access its operations.
+ *
+ * @return the DatabasePrincipalAssignmentsClient object.
+ */
+ DatabasePrincipalAssignmentsClient getDatabasePrincipalAssignments();
+
/**
* Gets the LibrariesClient object to access its operations.
*
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/AttachedDatabaseConfigurationInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/AttachedDatabaseConfigurationInner.java
new file mode 100644
index 0000000000000..24f9a4549c769
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/AttachedDatabaseConfigurationInner.java
@@ -0,0 +1,221 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.DefaultPrincipalsModificationKind;
+import com.azure.resourcemanager.synapse.models.ResourceProvisioningState;
+import com.azure.resourcemanager.synapse.models.TableLevelSharingProperties;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** Class representing an attached database configuration. */
+@JsonFlatten
+@Fluent
+public class AttachedDatabaseConfigurationInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AttachedDatabaseConfigurationInner.class);
+
+ /*
+ * Resource location.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy
+ * information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * The provisioned state of the resource.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ResourceProvisioningState provisioningState;
+
+ /*
+ * The name of the database which you would like to attach, use * if you
+ * want to follow all current and future databases.
+ */
+ @JsonProperty(value = "properties.databaseName")
+ private String databaseName;
+
+ /*
+ * The resource id of the kusto pool where the databases you would like to
+ * attach reside.
+ */
+ @JsonProperty(value = "properties.clusterResourceId")
+ private String clusterResourceId;
+
+ /*
+ * The list of databases from the clusterResourceId which are currently
+ * attached to the kusto pool.
+ */
+ @JsonProperty(value = "properties.attachedDatabaseNames", access = JsonProperty.Access.WRITE_ONLY)
+ private List attachedDatabaseNames;
+
+ /*
+ * The default principals modification kind
+ */
+ @JsonProperty(value = "properties.defaultPrincipalsModificationKind")
+ private DefaultPrincipalsModificationKind defaultPrincipalsModificationKind;
+
+ /*
+ * Table level sharing specifications
+ */
+ @JsonProperty(value = "properties.tableLevelSharingProperties")
+ private TableLevelSharingProperties tableLevelSharingProperties;
+
+ /**
+ * Get the location property: Resource location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource location.
+ *
+ * @param location the location value to set.
+ * @return the AttachedDatabaseConfigurationInner object itself.
+ */
+ public AttachedDatabaseConfigurationInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioned state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ResourceProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the databaseName property: The name of the database which you would like to attach, use * if you want to
+ * follow all current and future databases.
+ *
+ * @return the databaseName value.
+ */
+ public String databaseName() {
+ return this.databaseName;
+ }
+
+ /**
+ * Set the databaseName property: The name of the database which you would like to attach, use * if you want to
+ * follow all current and future databases.
+ *
+ * @param databaseName the databaseName value to set.
+ * @return the AttachedDatabaseConfigurationInner object itself.
+ */
+ public AttachedDatabaseConfigurationInner withDatabaseName(String databaseName) {
+ this.databaseName = databaseName;
+ return this;
+ }
+
+ /**
+ * Get the clusterResourceId property: The resource id of the kusto pool where the databases you would like to
+ * attach reside.
+ *
+ * @return the clusterResourceId value.
+ */
+ public String clusterResourceId() {
+ return this.clusterResourceId;
+ }
+
+ /**
+ * Set the clusterResourceId property: The resource id of the kusto pool where the databases you would like to
+ * attach reside.
+ *
+ * @param clusterResourceId the clusterResourceId value to set.
+ * @return the AttachedDatabaseConfigurationInner object itself.
+ */
+ public AttachedDatabaseConfigurationInner withClusterResourceId(String clusterResourceId) {
+ this.clusterResourceId = clusterResourceId;
+ return this;
+ }
+
+ /**
+ * Get the attachedDatabaseNames property: The list of databases from the clusterResourceId which are currently
+ * attached to the kusto pool.
+ *
+ * @return the attachedDatabaseNames value.
+ */
+ public List attachedDatabaseNames() {
+ return this.attachedDatabaseNames;
+ }
+
+ /**
+ * Get the defaultPrincipalsModificationKind property: The default principals modification kind.
+ *
+ * @return the defaultPrincipalsModificationKind value.
+ */
+ public DefaultPrincipalsModificationKind defaultPrincipalsModificationKind() {
+ return this.defaultPrincipalsModificationKind;
+ }
+
+ /**
+ * Set the defaultPrincipalsModificationKind property: The default principals modification kind.
+ *
+ * @param defaultPrincipalsModificationKind the defaultPrincipalsModificationKind value to set.
+ * @return the AttachedDatabaseConfigurationInner object itself.
+ */
+ public AttachedDatabaseConfigurationInner withDefaultPrincipalsModificationKind(
+ DefaultPrincipalsModificationKind defaultPrincipalsModificationKind) {
+ this.defaultPrincipalsModificationKind = defaultPrincipalsModificationKind;
+ return this;
+ }
+
+ /**
+ * Get the tableLevelSharingProperties property: Table level sharing specifications.
+ *
+ * @return the tableLevelSharingProperties value.
+ */
+ public TableLevelSharingProperties tableLevelSharingProperties() {
+ return this.tableLevelSharingProperties;
+ }
+
+ /**
+ * Set the tableLevelSharingProperties property: Table level sharing specifications.
+ *
+ * @param tableLevelSharingProperties the tableLevelSharingProperties value to set.
+ * @return the AttachedDatabaseConfigurationInner object itself.
+ */
+ public AttachedDatabaseConfigurationInner withTableLevelSharingProperties(
+ TableLevelSharingProperties tableLevelSharingProperties) {
+ this.tableLevelSharingProperties = tableLevelSharingProperties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (tableLevelSharingProperties() != null) {
+ tableLevelSharingProperties().validate();
+ }
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/AzureResourceSkuInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/AzureResourceSkuInner.java
new file mode 100644
index 0000000000000..d239ed869d544
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/AzureResourceSkuInner.java
@@ -0,0 +1,110 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.AzureCapacity;
+import com.azure.resourcemanager.synapse.models.AzureSku;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Azure resource SKU definition. */
+@Fluent
+public final class AzureResourceSkuInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(AzureResourceSkuInner.class);
+
+ /*
+ * Resource Namespace and Type.
+ */
+ @JsonProperty(value = "resourceType")
+ private String resourceType;
+
+ /*
+ * The SKU details.
+ */
+ @JsonProperty(value = "sku")
+ private AzureSku sku;
+
+ /*
+ * The number of instances of the cluster.
+ */
+ @JsonProperty(value = "capacity")
+ private AzureCapacity capacity;
+
+ /**
+ * Get the resourceType property: Resource Namespace and Type.
+ *
+ * @return the resourceType value.
+ */
+ public String resourceType() {
+ return this.resourceType;
+ }
+
+ /**
+ * Set the resourceType property: Resource Namespace and Type.
+ *
+ * @param resourceType the resourceType value to set.
+ * @return the AzureResourceSkuInner object itself.
+ */
+ public AzureResourceSkuInner withResourceType(String resourceType) {
+ this.resourceType = resourceType;
+ return this;
+ }
+
+ /**
+ * Get the sku property: The SKU details.
+ *
+ * @return the sku value.
+ */
+ public AzureSku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: The SKU details.
+ *
+ * @param sku the sku value to set.
+ * @return the AzureResourceSkuInner object itself.
+ */
+ public AzureResourceSkuInner withSku(AzureSku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the capacity property: The number of instances of the cluster.
+ *
+ * @return the capacity value.
+ */
+ public AzureCapacity capacity() {
+ return this.capacity;
+ }
+
+ /**
+ * Set the capacity property: The number of instances of the cluster.
+ *
+ * @param capacity the capacity value to set.
+ * @return the AzureResourceSkuInner object itself.
+ */
+ public AzureResourceSkuInner withCapacity(AzureCapacity capacity) {
+ this.capacity = capacity;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() != null) {
+ sku().validate();
+ }
+ if (capacity() != null) {
+ capacity().validate();
+ }
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/BigDataPoolResourceInfoInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/BigDataPoolResourceInfoInner.java
index 19b1ca5ba7d3e..0225591ef3ad2 100644
--- a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/BigDataPoolResourceInfoInner.java
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/BigDataPoolResourceInfoInner.java
@@ -34,7 +34,7 @@ public class BigDataPoolResourceInfoInner extends Resource {
private String provisioningState;
/*
- * Auto-scaling properties
+ * Spark pool auto-scaling properties Auto-scaling properties
*/
@JsonProperty(value = "properties.autoScale")
private AutoScaleProperties autoScale;
@@ -46,7 +46,7 @@ public class BigDataPoolResourceInfoInner extends Resource {
private OffsetDateTime creationDate;
/*
- * Auto-pausing properties
+ * Spark pool auto-pausing properties Auto-pausing properties
*/
@JsonProperty(value = "properties.autoPause")
private AutoPauseProperties autoPause;
@@ -88,7 +88,7 @@ public class BigDataPoolResourceInfoInner extends Resource {
private Integer nodeCount;
/*
- * Library version requirements
+ * Spark pool library version requirements Library version requirements
*/
@JsonProperty(value = "properties.libraryRequirements")
private LibraryRequirements libraryRequirements;
@@ -100,7 +100,8 @@ public class BigDataPoolResourceInfoInner extends Resource {
private List customLibraries;
/*
- * Spark configuration file to specify additional properties
+ * Spark pool library version requirements Spark configuration file to
+ * specify additional properties
*/
@JsonProperty(value = "properties.sparkConfigProperties")
private LibraryRequirements sparkConfigProperties;
@@ -156,7 +157,7 @@ public BigDataPoolResourceInfoInner withProvisioningState(String provisioningSta
}
/**
- * Get the autoScale property: Auto-scaling properties.
+ * Get the autoScale property: Spark pool auto-scaling properties Auto-scaling properties.
*
* @return the autoScale value.
*/
@@ -165,7 +166,7 @@ public AutoScaleProperties autoScale() {
}
/**
- * Set the autoScale property: Auto-scaling properties.
+ * Set the autoScale property: Spark pool auto-scaling properties Auto-scaling properties.
*
* @param autoScale the autoScale value to set.
* @return the BigDataPoolResourceInfoInner object itself.
@@ -196,7 +197,7 @@ public BigDataPoolResourceInfoInner withCreationDate(OffsetDateTime creationDate
}
/**
- * Get the autoPause property: Auto-pausing properties.
+ * Get the autoPause property: Spark pool auto-pausing properties Auto-pausing properties.
*
* @return the autoPause value.
*/
@@ -205,7 +206,7 @@ public AutoPauseProperties autoPause() {
}
/**
- * Set the autoPause property: Auto-pausing properties.
+ * Set the autoPause property: Spark pool auto-pausing properties Auto-pausing properties.
*
* @param autoPause the autoPause value to set.
* @return the BigDataPoolResourceInfoInner object itself.
@@ -337,7 +338,7 @@ public BigDataPoolResourceInfoInner withNodeCount(Integer nodeCount) {
}
/**
- * Get the libraryRequirements property: Library version requirements.
+ * Get the libraryRequirements property: Spark pool library version requirements Library version requirements.
*
* @return the libraryRequirements value.
*/
@@ -346,7 +347,7 @@ public LibraryRequirements libraryRequirements() {
}
/**
- * Set the libraryRequirements property: Library version requirements.
+ * Set the libraryRequirements property: Spark pool library version requirements Library version requirements.
*
* @param libraryRequirements the libraryRequirements value to set.
* @return the BigDataPoolResourceInfoInner object itself.
@@ -377,7 +378,8 @@ public BigDataPoolResourceInfoInner withCustomLibraries(List custom
}
/**
- * Get the sparkConfigProperties property: Spark configuration file to specify additional properties.
+ * Get the sparkConfigProperties property: Spark pool library version requirements Spark configuration file to
+ * specify additional properties.
*
* @return the sparkConfigProperties value.
*/
@@ -386,7 +388,8 @@ public LibraryRequirements sparkConfigProperties() {
}
/**
- * Set the sparkConfigProperties property: Spark configuration file to specify additional properties.
+ * Set the sparkConfigProperties property: Spark pool library version requirements Spark configuration file to
+ * specify additional properties.
*
* @param sparkConfigProperties the sparkConfigProperties value to set.
* @return the BigDataPoolResourceInfoInner object itself.
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/CheckNameResultInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/CheckNameResultInner.java
new file mode 100644
index 0000000000000..a2a72a787e0de
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/CheckNameResultInner.java
@@ -0,0 +1,132 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.Reason;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The result returned from a check name availability request. */
+@Fluent
+public final class CheckNameResultInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(CheckNameResultInner.class);
+
+ /*
+ * Specifies a Boolean value that indicates if the name is available.
+ */
+ @JsonProperty(value = "nameAvailable")
+ private Boolean nameAvailable;
+
+ /*
+ * The name that was checked.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * Message indicating an unavailable name due to a conflict, or a
+ * description of the naming rules that are violated.
+ */
+ @JsonProperty(value = "message")
+ private String message;
+
+ /*
+ * Message providing the reason why the given name is invalid.
+ */
+ @JsonProperty(value = "reason")
+ private Reason reason;
+
+ /**
+ * Get the nameAvailable property: Specifies a Boolean value that indicates if the name is available.
+ *
+ * @return the nameAvailable value.
+ */
+ public Boolean nameAvailable() {
+ return this.nameAvailable;
+ }
+
+ /**
+ * Set the nameAvailable property: Specifies a Boolean value that indicates if the name is available.
+ *
+ * @param nameAvailable the nameAvailable value to set.
+ * @return the CheckNameResultInner object itself.
+ */
+ public CheckNameResultInner withNameAvailable(Boolean nameAvailable) {
+ this.nameAvailable = nameAvailable;
+ return this;
+ }
+
+ /**
+ * Get the name property: The name that was checked.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: The name that was checked.
+ *
+ * @param name the name value to set.
+ * @return the CheckNameResultInner object itself.
+ */
+ public CheckNameResultInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the message property: Message indicating an unavailable name due to a conflict, or a description of the
+ * naming rules that are violated.
+ *
+ * @return the message value.
+ */
+ public String message() {
+ return this.message;
+ }
+
+ /**
+ * Set the message property: Message indicating an unavailable name due to a conflict, or a description of the
+ * naming rules that are violated.
+ *
+ * @param message the message value to set.
+ * @return the CheckNameResultInner object itself.
+ */
+ public CheckNameResultInner withMessage(String message) {
+ this.message = message;
+ return this;
+ }
+
+ /**
+ * Get the reason property: Message providing the reason why the given name is invalid.
+ *
+ * @return the reason value.
+ */
+ public Reason reason() {
+ return this.reason;
+ }
+
+ /**
+ * Set the reason property: Message providing the reason why the given name is invalid.
+ *
+ * @param reason the reason value to set.
+ * @return the CheckNameResultInner object itself.
+ */
+ public CheckNameResultInner withReason(Reason reason) {
+ this.reason = reason;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/ClusterPrincipalAssignmentInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/ClusterPrincipalAssignmentInner.java
new file mode 100644
index 0000000000000..a353fd8051a0d
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/ClusterPrincipalAssignmentInner.java
@@ -0,0 +1,199 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.ClusterPrincipalRole;
+import com.azure.resourcemanager.synapse.models.PrincipalType;
+import com.azure.resourcemanager.synapse.models.ResourceProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Class representing a cluster principal assignment. */
+@JsonFlatten
+@Fluent
+public class ClusterPrincipalAssignmentInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(ClusterPrincipalAssignmentInner.class);
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy
+ * information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * The principal ID assigned to the cluster principal. It can be a user
+ * email, application ID, or security group name.
+ */
+ @JsonProperty(value = "properties.principalId")
+ private String principalId;
+
+ /*
+ * Cluster principal role.
+ */
+ @JsonProperty(value = "properties.role")
+ private ClusterPrincipalRole role;
+
+ /*
+ * The tenant id of the principal
+ */
+ @JsonProperty(value = "properties.tenantId")
+ private String tenantId;
+
+ /*
+ * Principal type.
+ */
+ @JsonProperty(value = "properties.principalType")
+ private PrincipalType principalType;
+
+ /*
+ * The tenant name of the principal
+ */
+ @JsonProperty(value = "properties.tenantName", access = JsonProperty.Access.WRITE_ONLY)
+ private String tenantName;
+
+ /*
+ * The principal name
+ */
+ @JsonProperty(value = "properties.principalName", access = JsonProperty.Access.WRITE_ONLY)
+ private String principalName;
+
+ /*
+ * The provisioned state of the resource.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ResourceProvisioningState provisioningState;
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the principalId property: The principal ID assigned to the cluster principal. It can be a user email,
+ * application ID, or security group name.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principalId property: The principal ID assigned to the cluster principal. It can be a user email,
+ * application ID, or security group name.
+ *
+ * @param principalId the principalId value to set.
+ * @return the ClusterPrincipalAssignmentInner object itself.
+ */
+ public ClusterPrincipalAssignmentInner withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the role property: Cluster principal role.
+ *
+ * @return the role value.
+ */
+ public ClusterPrincipalRole role() {
+ return this.role;
+ }
+
+ /**
+ * Set the role property: Cluster principal role.
+ *
+ * @param role the role value to set.
+ * @return the ClusterPrincipalAssignmentInner object itself.
+ */
+ public ClusterPrincipalAssignmentInner withRole(ClusterPrincipalRole role) {
+ this.role = role;
+ return this;
+ }
+
+ /**
+ * Get the tenantId property: The tenant id of the principal.
+ *
+ * @return the tenantId value.
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Set the tenantId property: The tenant id of the principal.
+ *
+ * @param tenantId the tenantId value to set.
+ * @return the ClusterPrincipalAssignmentInner object itself.
+ */
+ public ClusterPrincipalAssignmentInner withTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ return this;
+ }
+
+ /**
+ * Get the principalType property: Principal type.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Set the principalType property: Principal type.
+ *
+ * @param principalType the principalType value to set.
+ * @return the ClusterPrincipalAssignmentInner object itself.
+ */
+ public ClusterPrincipalAssignmentInner withPrincipalType(PrincipalType principalType) {
+ this.principalType = principalType;
+ return this;
+ }
+
+ /**
+ * Get the tenantName property: The tenant name of the principal.
+ *
+ * @return the tenantName value.
+ */
+ public String tenantName() {
+ return this.tenantName;
+ }
+
+ /**
+ * Get the principalName property: The principal name.
+ *
+ * @return the principalName value.
+ */
+ public String principalName() {
+ return this.principalName;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioned state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ResourceProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DataConnectionInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DataConnectionInner.java
new file mode 100644
index 0000000000000..5dc679d9dd9d2
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DataConnectionInner.java
@@ -0,0 +1,85 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.EventGridDataConnection;
+import com.azure.resourcemanager.synapse.models.EventHubDataConnection;
+import com.azure.resourcemanager.synapse.models.IotHubDataConnection;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Class representing a data connection. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "kind",
+ defaultImpl = DataConnectionInner.class)
+@JsonTypeName("DataConnection")
+@JsonSubTypes({
+ @JsonSubTypes.Type(name = "EventHub", value = EventHubDataConnection.class),
+ @JsonSubTypes.Type(name = "IotHub", value = IotHubDataConnection.class),
+ @JsonSubTypes.Type(name = "EventGrid", value = EventGridDataConnection.class)
+})
+@Fluent
+public class DataConnectionInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataConnectionInner.class);
+
+ /*
+ * Resource location.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy
+ * information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the location property: Resource location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource location.
+ *
+ * @param location the location value to set.
+ * @return the DataConnectionInner object itself.
+ */
+ public DataConnectionInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DataConnectionValidationInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DataConnectionValidationInner.java
new file mode 100644
index 0000000000000..3c35d9f3e3856
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DataConnectionValidationInner.java
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Class representing an data connection validation. */
+@Fluent
+public final class DataConnectionValidationInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataConnectionValidationInner.class);
+
+ /*
+ * The name of the data connection.
+ */
+ @JsonProperty(value = "dataConnectionName")
+ private String dataConnectionName;
+
+ /*
+ * The data connection properties to validate.
+ */
+ @JsonProperty(value = "properties")
+ private DataConnectionInner properties;
+
+ /**
+ * Get the dataConnectionName property: The name of the data connection.
+ *
+ * @return the dataConnectionName value.
+ */
+ public String dataConnectionName() {
+ return this.dataConnectionName;
+ }
+
+ /**
+ * Set the dataConnectionName property: The name of the data connection.
+ *
+ * @param dataConnectionName the dataConnectionName value to set.
+ * @return the DataConnectionValidationInner object itself.
+ */
+ public DataConnectionValidationInner withDataConnectionName(String dataConnectionName) {
+ this.dataConnectionName = dataConnectionName;
+ return this;
+ }
+
+ /**
+ * Get the properties property: The data connection properties to validate.
+ *
+ * @return the properties value.
+ */
+ public DataConnectionInner properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: The data connection properties to validate.
+ *
+ * @param properties the properties value to set.
+ * @return the DataConnectionValidationInner object itself.
+ */
+ public DataConnectionValidationInner withProperties(DataConnectionInner properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (properties() != null) {
+ properties().validate();
+ }
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DataConnectionValidationListResultInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DataConnectionValidationListResultInner.java
new file mode 100644
index 0000000000000..bda1e067fd5bb
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DataConnectionValidationListResultInner.java
@@ -0,0 +1,55 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.DataConnectionValidationResult;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The list Kusto data connection validation result. */
+@Fluent
+public final class DataConnectionValidationListResultInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DataConnectionValidationListResultInner.class);
+
+ /*
+ * The list of Kusto data connection validation errors.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * Get the value property: The list of Kusto data connection validation errors.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The list of Kusto data connection validation errors.
+ *
+ * @param value the value value to set.
+ * @return the DataConnectionValidationListResultInner object itself.
+ */
+ public DataConnectionValidationListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DatabaseInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DatabaseInner.java
new file mode 100644
index 0000000000000..7ce06d4f38f01
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DatabaseInner.java
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.ReadWriteDatabase;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonSubTypes;
+import com.fasterxml.jackson.annotation.JsonTypeInfo;
+import com.fasterxml.jackson.annotation.JsonTypeName;
+
+/** Class representing a Kusto database. */
+@JsonTypeInfo(
+ use = JsonTypeInfo.Id.NAME,
+ include = JsonTypeInfo.As.PROPERTY,
+ property = "kind",
+ defaultImpl = DatabaseInner.class)
+@JsonTypeName("Database")
+@JsonSubTypes({@JsonSubTypes.Type(name = "ReadWrite", value = ReadWriteDatabase.class)})
+@Fluent
+public class DatabaseInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DatabaseInner.class);
+
+ /*
+ * Resource location.
+ */
+ @JsonProperty(value = "location")
+ private String location;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy
+ * information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /**
+ * Get the location property: Resource location.
+ *
+ * @return the location value.
+ */
+ public String location() {
+ return this.location;
+ }
+
+ /**
+ * Set the location property: Resource location.
+ *
+ * @param location the location value to set.
+ * @return the DatabaseInner object itself.
+ */
+ public DatabaseInner withLocation(String location) {
+ this.location = location;
+ return this;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DatabasePrincipalAssignmentInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DatabasePrincipalAssignmentInner.java
new file mode 100644
index 0000000000000..a9902e37bfba5
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/DatabasePrincipalAssignmentInner.java
@@ -0,0 +1,199 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.ProxyResource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.DatabasePrincipalRole;
+import com.azure.resourcemanager.synapse.models.PrincipalType;
+import com.azure.resourcemanager.synapse.models.ResourceProvisioningState;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** Class representing a database principal assignment. */
+@JsonFlatten
+@Fluent
+public class DatabasePrincipalAssignmentInner extends ProxyResource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(DatabasePrincipalAssignmentInner.class);
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy
+ * information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * The principal ID assigned to the database principal. It can be a user
+ * email, application ID, or security group name.
+ */
+ @JsonProperty(value = "properties.principalId")
+ private String principalId;
+
+ /*
+ * Database principal role.
+ */
+ @JsonProperty(value = "properties.role")
+ private DatabasePrincipalRole role;
+
+ /*
+ * The tenant id of the principal
+ */
+ @JsonProperty(value = "properties.tenantId")
+ private String tenantId;
+
+ /*
+ * Principal type.
+ */
+ @JsonProperty(value = "properties.principalType")
+ private PrincipalType principalType;
+
+ /*
+ * The tenant name of the principal
+ */
+ @JsonProperty(value = "properties.tenantName", access = JsonProperty.Access.WRITE_ONLY)
+ private String tenantName;
+
+ /*
+ * The principal name
+ */
+ @JsonProperty(value = "properties.principalName", access = JsonProperty.Access.WRITE_ONLY)
+ private String principalName;
+
+ /*
+ * The provisioned state of the resource.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ResourceProvisioningState provisioningState;
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the principalId property: The principal ID assigned to the database principal. It can be a user email,
+ * application ID, or security group name.
+ *
+ * @return the principalId value.
+ */
+ public String principalId() {
+ return this.principalId;
+ }
+
+ /**
+ * Set the principalId property: The principal ID assigned to the database principal. It can be a user email,
+ * application ID, or security group name.
+ *
+ * @param principalId the principalId value to set.
+ * @return the DatabasePrincipalAssignmentInner object itself.
+ */
+ public DatabasePrincipalAssignmentInner withPrincipalId(String principalId) {
+ this.principalId = principalId;
+ return this;
+ }
+
+ /**
+ * Get the role property: Database principal role.
+ *
+ * @return the role value.
+ */
+ public DatabasePrincipalRole role() {
+ return this.role;
+ }
+
+ /**
+ * Set the role property: Database principal role.
+ *
+ * @param role the role value to set.
+ * @return the DatabasePrincipalAssignmentInner object itself.
+ */
+ public DatabasePrincipalAssignmentInner withRole(DatabasePrincipalRole role) {
+ this.role = role;
+ return this;
+ }
+
+ /**
+ * Get the tenantId property: The tenant id of the principal.
+ *
+ * @return the tenantId value.
+ */
+ public String tenantId() {
+ return this.tenantId;
+ }
+
+ /**
+ * Set the tenantId property: The tenant id of the principal.
+ *
+ * @param tenantId the tenantId value to set.
+ * @return the DatabasePrincipalAssignmentInner object itself.
+ */
+ public DatabasePrincipalAssignmentInner withTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ return this;
+ }
+
+ /**
+ * Get the principalType property: Principal type.
+ *
+ * @return the principalType value.
+ */
+ public PrincipalType principalType() {
+ return this.principalType;
+ }
+
+ /**
+ * Set the principalType property: Principal type.
+ *
+ * @param principalType the principalType value to set.
+ * @return the DatabasePrincipalAssignmentInner object itself.
+ */
+ public DatabasePrincipalAssignmentInner withPrincipalType(PrincipalType principalType) {
+ this.principalType = principalType;
+ return this;
+ }
+
+ /**
+ * Get the tenantName property: The tenant name of the principal.
+ *
+ * @return the tenantName value.
+ */
+ public String tenantName() {
+ return this.tenantName;
+ }
+
+ /**
+ * Get the principalName property: The principal name.
+ *
+ * @return the principalName value.
+ */
+ public String principalName() {
+ return this.principalName;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioned state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ResourceProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/FollowerDatabaseDefinitionInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/FollowerDatabaseDefinitionInner.java
new file mode 100644
index 0000000000000..49b71c94f79ea
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/FollowerDatabaseDefinitionInner.java
@@ -0,0 +1,111 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** A class representing follower database request. */
+@Fluent
+public final class FollowerDatabaseDefinitionInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(FollowerDatabaseDefinitionInner.class);
+
+ /*
+ * Resource id of the cluster that follows a database owned by this
+ * cluster.
+ */
+ @JsonProperty(value = "clusterResourceId", required = true)
+ private String clusterResourceId;
+
+ /*
+ * Resource name of the attached database configuration in the follower
+ * cluster.
+ */
+ @JsonProperty(value = "attachedDatabaseConfigurationName", required = true)
+ private String attachedDatabaseConfigurationName;
+
+ /*
+ * The database name owned by this cluster that was followed. * in case
+ * following all databases.
+ */
+ @JsonProperty(value = "databaseName", access = JsonProperty.Access.WRITE_ONLY)
+ private String databaseName;
+
+ /**
+ * Get the clusterResourceId property: Resource id of the cluster that follows a database owned by this cluster.
+ *
+ * @return the clusterResourceId value.
+ */
+ public String clusterResourceId() {
+ return this.clusterResourceId;
+ }
+
+ /**
+ * Set the clusterResourceId property: Resource id of the cluster that follows a database owned by this cluster.
+ *
+ * @param clusterResourceId the clusterResourceId value to set.
+ * @return the FollowerDatabaseDefinitionInner object itself.
+ */
+ public FollowerDatabaseDefinitionInner withClusterResourceId(String clusterResourceId) {
+ this.clusterResourceId = clusterResourceId;
+ return this;
+ }
+
+ /**
+ * Get the attachedDatabaseConfigurationName property: Resource name of the attached database configuration in the
+ * follower cluster.
+ *
+ * @return the attachedDatabaseConfigurationName value.
+ */
+ public String attachedDatabaseConfigurationName() {
+ return this.attachedDatabaseConfigurationName;
+ }
+
+ /**
+ * Set the attachedDatabaseConfigurationName property: Resource name of the attached database configuration in the
+ * follower cluster.
+ *
+ * @param attachedDatabaseConfigurationName the attachedDatabaseConfigurationName value to set.
+ * @return the FollowerDatabaseDefinitionInner object itself.
+ */
+ public FollowerDatabaseDefinitionInner withAttachedDatabaseConfigurationName(
+ String attachedDatabaseConfigurationName) {
+ this.attachedDatabaseConfigurationName = attachedDatabaseConfigurationName;
+ return this;
+ }
+
+ /**
+ * Get the databaseName property: The database name owned by this cluster that was followed. * in case following all
+ * databases.
+ *
+ * @return the databaseName value.
+ */
+ public String databaseName() {
+ return this.databaseName;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (clusterResourceId() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property clusterResourceId in model FollowerDatabaseDefinitionInner"));
+ }
+ if (attachedDatabaseConfigurationName() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException(
+ "Missing required property attachedDatabaseConfigurationName in model"
+ + " FollowerDatabaseDefinitionInner"));
+ }
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/KustoPoolInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/KustoPoolInner.java
new file mode 100644
index 0000000000000..7d1caa0ddd3ed
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/KustoPoolInner.java
@@ -0,0 +1,312 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.annotation.JsonFlatten;
+import com.azure.core.management.Resource;
+import com.azure.core.management.SystemData;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.AzureSku;
+import com.azure.resourcemanager.synapse.models.LanguageExtensionsList;
+import com.azure.resourcemanager.synapse.models.OptimizedAutoscale;
+import com.azure.resourcemanager.synapse.models.ResourceProvisioningState;
+import com.azure.resourcemanager.synapse.models.State;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.Map;
+
+/** Class representing a Kusto kusto pool. */
+@JsonFlatten
+@Fluent
+public class KustoPoolInner extends Resource {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(KustoPoolInner.class);
+
+ /*
+ * The SKU of the kusto pool.
+ */
+ @JsonProperty(value = "sku", required = true)
+ private AzureSku sku;
+
+ /*
+ * A unique read-only string that changes whenever the resource is updated.
+ */
+ @JsonProperty(value = "etag", access = JsonProperty.Access.WRITE_ONLY)
+ private String etag;
+
+ /*
+ * Azure Resource Manager metadata containing createdBy and modifiedBy
+ * information.
+ */
+ @JsonProperty(value = "systemData", access = JsonProperty.Access.WRITE_ONLY)
+ private SystemData systemData;
+
+ /*
+ * The state of the resource.
+ */
+ @JsonProperty(value = "properties.state", access = JsonProperty.Access.WRITE_ONLY)
+ private State state;
+
+ /*
+ * The provisioned state of the resource.
+ */
+ @JsonProperty(value = "properties.provisioningState", access = JsonProperty.Access.WRITE_ONLY)
+ private ResourceProvisioningState provisioningState;
+
+ /*
+ * The Kusto Pool URI.
+ */
+ @JsonProperty(value = "properties.uri", access = JsonProperty.Access.WRITE_ONLY)
+ private String uri;
+
+ /*
+ * The Kusto Pool data ingestion URI.
+ */
+ @JsonProperty(value = "properties.dataIngestionUri", access = JsonProperty.Access.WRITE_ONLY)
+ private String dataIngestionUri;
+
+ /*
+ * The reason for the Kusto Pool's current state.
+ */
+ @JsonProperty(value = "properties.stateReason", access = JsonProperty.Access.WRITE_ONLY)
+ private String stateReason;
+
+ /*
+ * Optimized auto scale definition.
+ */
+ @JsonProperty(value = "properties.optimizedAutoscale")
+ private OptimizedAutoscale optimizedAutoscale;
+
+ /*
+ * A boolean value that indicates if the streaming ingest is enabled.
+ */
+ @JsonProperty(value = "properties.enableStreamingIngest")
+ private Boolean enableStreamingIngest;
+
+ /*
+ * A boolean value that indicates if the purge operations are enabled.
+ */
+ @JsonProperty(value = "properties.enablePurge")
+ private Boolean enablePurge;
+
+ /*
+ * List of the Kusto Pool's language extensions.
+ */
+ @JsonProperty(value = "properties.languageExtensions", access = JsonProperty.Access.WRITE_ONLY)
+ private LanguageExtensionsList languageExtensions;
+
+ /*
+ * The workspace unique identifier.
+ */
+ @JsonProperty(value = "properties.workspaceUID")
+ private String workspaceUid;
+
+ /**
+ * Get the sku property: The SKU of the kusto pool.
+ *
+ * @return the sku value.
+ */
+ public AzureSku sku() {
+ return this.sku;
+ }
+
+ /**
+ * Set the sku property: The SKU of the kusto pool.
+ *
+ * @param sku the sku value to set.
+ * @return the KustoPoolInner object itself.
+ */
+ public KustoPoolInner withSku(AzureSku sku) {
+ this.sku = sku;
+ return this;
+ }
+
+ /**
+ * Get the etag property: A unique read-only string that changes whenever the resource is updated.
+ *
+ * @return the etag value.
+ */
+ public String etag() {
+ return this.etag;
+ }
+
+ /**
+ * Get the systemData property: Azure Resource Manager metadata containing createdBy and modifiedBy information.
+ *
+ * @return the systemData value.
+ */
+ public SystemData systemData() {
+ return this.systemData;
+ }
+
+ /**
+ * Get the state property: The state of the resource.
+ *
+ * @return the state value.
+ */
+ public State state() {
+ return this.state;
+ }
+
+ /**
+ * Get the provisioningState property: The provisioned state of the resource.
+ *
+ * @return the provisioningState value.
+ */
+ public ResourceProvisioningState provisioningState() {
+ return this.provisioningState;
+ }
+
+ /**
+ * Get the uri property: The Kusto Pool URI.
+ *
+ * @return the uri value.
+ */
+ public String uri() {
+ return this.uri;
+ }
+
+ /**
+ * Get the dataIngestionUri property: The Kusto Pool data ingestion URI.
+ *
+ * @return the dataIngestionUri value.
+ */
+ public String dataIngestionUri() {
+ return this.dataIngestionUri;
+ }
+
+ /**
+ * Get the stateReason property: The reason for the Kusto Pool's current state.
+ *
+ * @return the stateReason value.
+ */
+ public String stateReason() {
+ return this.stateReason;
+ }
+
+ /**
+ * Get the optimizedAutoscale property: Optimized auto scale definition.
+ *
+ * @return the optimizedAutoscale value.
+ */
+ public OptimizedAutoscale optimizedAutoscale() {
+ return this.optimizedAutoscale;
+ }
+
+ /**
+ * Set the optimizedAutoscale property: Optimized auto scale definition.
+ *
+ * @param optimizedAutoscale the optimizedAutoscale value to set.
+ * @return the KustoPoolInner object itself.
+ */
+ public KustoPoolInner withOptimizedAutoscale(OptimizedAutoscale optimizedAutoscale) {
+ this.optimizedAutoscale = optimizedAutoscale;
+ return this;
+ }
+
+ /**
+ * Get the enableStreamingIngest property: A boolean value that indicates if the streaming ingest is enabled.
+ *
+ * @return the enableStreamingIngest value.
+ */
+ public Boolean enableStreamingIngest() {
+ return this.enableStreamingIngest;
+ }
+
+ /**
+ * Set the enableStreamingIngest property: A boolean value that indicates if the streaming ingest is enabled.
+ *
+ * @param enableStreamingIngest the enableStreamingIngest value to set.
+ * @return the KustoPoolInner object itself.
+ */
+ public KustoPoolInner withEnableStreamingIngest(Boolean enableStreamingIngest) {
+ this.enableStreamingIngest = enableStreamingIngest;
+ return this;
+ }
+
+ /**
+ * Get the enablePurge property: A boolean value that indicates if the purge operations are enabled.
+ *
+ * @return the enablePurge value.
+ */
+ public Boolean enablePurge() {
+ return this.enablePurge;
+ }
+
+ /**
+ * Set the enablePurge property: A boolean value that indicates if the purge operations are enabled.
+ *
+ * @param enablePurge the enablePurge value to set.
+ * @return the KustoPoolInner object itself.
+ */
+ public KustoPoolInner withEnablePurge(Boolean enablePurge) {
+ this.enablePurge = enablePurge;
+ return this;
+ }
+
+ /**
+ * Get the languageExtensions property: List of the Kusto Pool's language extensions.
+ *
+ * @return the languageExtensions value.
+ */
+ public LanguageExtensionsList languageExtensions() {
+ return this.languageExtensions;
+ }
+
+ /**
+ * Get the workspaceUid property: The workspace unique identifier.
+ *
+ * @return the workspaceUid value.
+ */
+ public String workspaceUid() {
+ return this.workspaceUid;
+ }
+
+ /**
+ * Set the workspaceUid property: The workspace unique identifier.
+ *
+ * @param workspaceUid the workspaceUid value to set.
+ * @return the KustoPoolInner object itself.
+ */
+ public KustoPoolInner withWorkspaceUid(String workspaceUid) {
+ this.workspaceUid = workspaceUid;
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public KustoPoolInner withLocation(String location) {
+ super.withLocation(location);
+ return this;
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public KustoPoolInner withTags(Map tags) {
+ super.withTags(tags);
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (sku() == null) {
+ throw logger
+ .logExceptionAsError(
+ new IllegalArgumentException("Missing required property sku in model KustoPoolInner"));
+ } else {
+ sku().validate();
+ }
+ if (optimizedAutoscale() != null) {
+ optimizedAutoscale().validate();
+ }
+ if (languageExtensions() != null) {
+ languageExtensions().validate();
+ }
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/KustoPoolListResultInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/KustoPoolListResultInner.java
new file mode 100644
index 0000000000000..87a40a6a4e282
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/KustoPoolListResultInner.java
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The list Kusto pools operation response. */
+@Fluent
+public final class KustoPoolListResultInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(KustoPoolListResultInner.class);
+
+ /*
+ * The list of Kusto pools.
+ */
+ @JsonProperty(value = "value")
+ private List value;
+
+ /**
+ * Get the value property: The list of Kusto pools.
+ *
+ * @return the value value.
+ */
+ public List value() {
+ return this.value;
+ }
+
+ /**
+ * Set the value property: The list of Kusto pools.
+ *
+ * @param value the value value to set.
+ * @return the KustoPoolListResultInner object itself.
+ */
+ public KustoPoolListResultInner withValue(List value) {
+ this.value = value;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (value() != null) {
+ value().forEach(e -> e.validate());
+ }
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/LanguageExtensionInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/LanguageExtensionInner.java
new file mode 100644
index 0000000000000..20f541989c0a4
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/LanguageExtensionInner.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.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.LanguageExtensionName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** The language extension object. */
+@Fluent
+public final class LanguageExtensionInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(LanguageExtensionInner.class);
+
+ /*
+ * The language extension name.
+ */
+ @JsonProperty(value = "languageExtensionName")
+ private LanguageExtensionName languageExtensionName;
+
+ /**
+ * Get the languageExtensionName property: The language extension name.
+ *
+ * @return the languageExtensionName value.
+ */
+ public LanguageExtensionName languageExtensionName() {
+ return this.languageExtensionName;
+ }
+
+ /**
+ * Set the languageExtensionName property: The language extension name.
+ *
+ * @param languageExtensionName the languageExtensionName value to set.
+ * @return the LanguageExtensionInner object itself.
+ */
+ public LanguageExtensionInner withLanguageExtensionName(LanguageExtensionName languageExtensionName) {
+ this.languageExtensionName = languageExtensionName;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/OperationInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/OperationInner.java
new file mode 100644
index 0000000000000..6f47a74d89b8c
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/OperationInner.java
@@ -0,0 +1,133 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Fluent;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.OperationDisplay;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+/** A REST API operation. */
+@Fluent
+public final class OperationInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(OperationInner.class);
+
+ /*
+ * The operation name. This is of the format
+ * {provider}/{resource}/{operation}.
+ */
+ @JsonProperty(value = "name")
+ private String name;
+
+ /*
+ * The object that describes the operation.
+ */
+ @JsonProperty(value = "display")
+ private OperationDisplay display;
+
+ /*
+ * The intended executor of the operation.
+ */
+ @JsonProperty(value = "origin")
+ private String origin;
+
+ /*
+ * Any object
+ */
+ @JsonProperty(value = "properties")
+ private Object properties;
+
+ /**
+ * Get the name property: The operation name. This is of the format {provider}/{resource}/{operation}.
+ *
+ * @return the name value.
+ */
+ public String name() {
+ return this.name;
+ }
+
+ /**
+ * Set the name property: The operation name. This is of the format {provider}/{resource}/{operation}.
+ *
+ * @param name the name value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withName(String name) {
+ this.name = name;
+ return this;
+ }
+
+ /**
+ * Get the display property: The object that describes the operation.
+ *
+ * @return the display value.
+ */
+ public OperationDisplay display() {
+ return this.display;
+ }
+
+ /**
+ * Set the display property: The object that describes the operation.
+ *
+ * @param display the display value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withDisplay(OperationDisplay display) {
+ this.display = display;
+ return this;
+ }
+
+ /**
+ * Get the origin property: The intended executor of the operation.
+ *
+ * @return the origin value.
+ */
+ public String origin() {
+ return this.origin;
+ }
+
+ /**
+ * Set the origin property: The intended executor of the operation.
+ *
+ * @param origin the origin value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withOrigin(String origin) {
+ this.origin = origin;
+ return this;
+ }
+
+ /**
+ * Get the properties property: Any object.
+ *
+ * @return the properties value.
+ */
+ public Object properties() {
+ return this.properties;
+ }
+
+ /**
+ * Set the properties property: Any object.
+ *
+ * @param properties the properties value to set.
+ * @return the OperationInner object itself.
+ */
+ public OperationInner withProperties(Object properties) {
+ this.properties = properties;
+ return this;
+ }
+
+ /**
+ * Validates the instance.
+ *
+ * @throws IllegalArgumentException thrown if the instance is not valid.
+ */
+ public void validate() {
+ if (display() != null) {
+ display().validate();
+ }
+ }
+}
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/SelfHostedIntegrationRuntimeNodeInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/SelfHostedIntegrationRuntimeNodeInner.java
index 8668c0d53b99a..5bd1e58fe72d4 100644
--- a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/SelfHostedIntegrationRuntimeNodeInner.java
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/SelfHostedIntegrationRuntimeNodeInner.java
@@ -11,6 +11,7 @@
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.time.OffsetDateTime;
import java.util.HashMap;
@@ -49,6 +50,7 @@ public final class SelfHostedIntegrationRuntimeNodeInner {
* The integration runtime capabilities dictionary
*/
@JsonProperty(value = "capabilities", access = JsonProperty.Access.WRITE_ONLY)
+ @JsonInclude(value = JsonInclude.Include.NON_NULL, content = JsonInclude.Include.ALWAYS)
private Map capabilities;
/*
diff --git a/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/SkuDescriptionInner.java b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/SkuDescriptionInner.java
new file mode 100644
index 0000000000000..353578fdee7d3
--- /dev/null
+++ b/sdk/synapse/azure-resourcemanager-synapse/src/main/java/com/azure/resourcemanager/synapse/fluent/models/SkuDescriptionInner.java
@@ -0,0 +1,119 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.synapse.fluent.models;
+
+import com.azure.core.annotation.Immutable;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.synapse.models.SkuLocationInfoItem;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import java.util.List;
+
+/** The Kusto SKU description of given resource type. */
+@Immutable
+public final class SkuDescriptionInner {
+ @JsonIgnore private final ClientLogger logger = new ClientLogger(SkuDescriptionInner.class);
+
+ /*
+ * The resource type
+ */
+ @JsonProperty(value = "resourceType", access = JsonProperty.Access.WRITE_ONLY)
+ private String resourceType;
+
+ /*
+ * The name of the SKU
+ */
+ @JsonProperty(value = "name", access = JsonProperty.Access.WRITE_ONLY)
+ private String name;
+
+ /*
+ * The size of the SKU
+ */
+ @JsonProperty(value = "size", access = JsonProperty.Access.WRITE_ONLY)
+ private String size;
+
+ /*
+ * The set of locations that the SKU is available
+ */
+ @JsonProperty(value = "locations", access = JsonProperty.Access.WRITE_ONLY)
+ private List locations;
+
+ /*
+ * Locations and zones
+ */
+ @JsonProperty(value = "locationInfo", access = JsonProperty.Access.WRITE_ONLY)
+ private List locationInfo;
+
+ /*
+ * The restrictions because of which SKU cannot be used
+ */
+ @JsonProperty(value = "restrictions", access = JsonProperty.Access.WRITE_ONLY)
+ private List