diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt
index 92dca37ea5e96..9efb64ac98e12 100644
--- a/eng/versioning/version_client.txt
+++ b/eng/versioning/version_client.txt
@@ -222,6 +222,7 @@ com.azure.resourcemanager:azure-resourcemanager-kubernetesconfiguration;1.0.0-be
com.azure.resourcemanager:azure-resourcemanager-resourcegraph;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-changeanalysis;1.0.0-beta.1;1.0.0-beta.2
com.azure.resourcemanager:azure-resourcemanager-delegatednetwork;1.0.0-beta.1;1.0.0-beta.2
+com.azure.resourcemanager:azure-resourcemanager-sql-generated;1.0.0-beta.1;1.0.0-beta.1
# Unreleased dependencies: Copy the entry from above, prepend "unreleased_" and remove the current
# version. Unreleased dependencies are only valid for dependency versions.
diff --git a/pom.xml b/pom.xml
index 7989569b6c22e..588ecc239903e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -709,6 +709,7 @@
sdk/search
sdk/servicebus
sdk/spring
+ sdk/sql
sdk/sqlvirtualmachine
sdk/storage
sdk/storagecache
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/CHANGELOG.md b/sdk/sql/azure-resourcemanager-sql-generated/CHANGELOG.md
new file mode 100644
index 0000000000000..63781fb506500
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/CHANGELOG.md
@@ -0,0 +1,5 @@
+# Release History
+
+## 1.0.0-beta.1 (2021-04-06)
+
+- Azure Resource Manager Sql client library for Java. This package contains Microsoft Azure SDK for Sql Management SDK. The Azure SQL Database management API provides a RESTful set of web services that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and delete databases. Package tag package-composite-v4. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/README.md b/sdk/sql/azure-resourcemanager-sql-generated/README.md
new file mode 100644
index 0000000000000..2be94d1ed1e01
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/README.md
@@ -0,0 +1,99 @@
+# Azure Resource Manager Sql client library for Java
+
+Azure Resource Manager Sql client library for Java.
+
+This package contains Microsoft Azure SDK for Sql Management SDK. The Azure SQL Database management API provides a RESTful set of web services that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and delete databases. Package tag package-composite-v4. For documentation on how to use this package, please see [Azure Management Libraries for Java](https://aka.ms/azsdk/java/mgmt).
+
+## We'd love to hear your feedback
+
+We're always working on improving our products and the way we communicate with our users. So we'd love to learn what's working and how we can do better.
+
+If you haven't already, please take a few minutes to [complete this short survey][survey] we have put together.
+
+Thank you in advance for your collaboration. We really appreciate your time!
+
+## Documentation
+
+Various documentation is available to help you get started
+
+- [API reference documentation][docs]
+
+## Getting started
+
+### Prerequisites
+
+- [Java Development Kit (JDK)][jdk] with version 8 or above
+- [Azure Subscription][azure_subscription]
+
+### Adding the package to your product
+
+[//]: # ({x-version-update-start;com.azure.resourcemanager:azure-resourcemanager-sql-generated;current})
+```xml
+
+ com.azure.resourcemanager
+ azure-resourcemanager-sql-generated
+ 1.0.0-beta.1
+
+```
+[//]: # ({x-version-update-end})
+
+### Include the recommended packages
+
+Azure Management Libraries require a `TokenCredential` implementation for authentication and an `HttpClient` implementation for HTTP client.
+
+[Azure Identity][azure_identity] package and [Azure Core Netty HTTP][azure_core_http_netty] package provide the default implementation.
+
+### Authentication
+
+By default, Azure Active Directory token authentication depends on correct configure of following environment variables.
+
+- `AZURE_CLIENT_ID` for Azure client ID.
+- `AZURE_TENANT_ID` for Azure tenant ID.
+- `AZURE_CLIENT_SECRET` or `AZURE_CLIENT_CERTIFICATE_PATH` for client secret or client certificate.
+
+In addition, Azure subscription ID can be configured via environment variable `AZURE_SUBSCRIPTION_ID`.
+
+With above configuration, `azure` client can be authenticated by following code:
+
+```java
+AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
+TokenCredential credential = new DefaultAzureCredentialBuilder()
+ .authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
+ .build();
+SqlManager manager = SqlManager
+ .authenticate(credential, profile);
+```
+
+The sample code assumes global Azure. Please change `AzureEnvironment.AZURE` variable if otherwise.
+
+See [Authentication][authenticate] for more options.
+
+## Key concepts
+
+See [API design][design] for general introduction on design and key concepts on Azure Management Libraries.
+
+## Examples
+
+## Troubleshooting
+
+## Next steps
+
+## Contributing
+
+For details on contributing to this repository, see the [contributing guide](https://github.com/Azure/azure-sdk-for-java/blob/master/CONTRIBUTING.md).
+
+1. Fork it
+1. Create your feature branch (`git checkout -b my-new-feature`)
+1. Commit your changes (`git commit -am 'Add some feature'`)
+1. Push to the branch (`git push origin my-new-feature`)
+1. Create new Pull Request
+
+
+[survey]: https://microsoft.qualtrics.com/jfe/form/SV_ehN0lIk2FKEBkwd?Q_CHL=DOCS
+[docs]: https://azure.github.io/azure-sdk-for-java/
+[jdk]: https://docs.microsoft.com/java/azure/jdk/
+[azure_subscription]: https://azure.microsoft.com/free/
+[azure_identity]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/identity/azure-identity
+[azure_core_http_netty]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/core/azure-core-http-netty
+[authenticate]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/AUTH.md
+[design]: https://github.com/Azure/azure-sdk-for-java/blob/master/sdk/resourcemanager/docs/DESIGN.md
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/pom.xml b/sdk/sql/azure-resourcemanager-sql-generated/pom.xml
new file mode 100644
index 0000000000000..8fc45fa718ead
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/pom.xml
@@ -0,0 +1,67 @@
+
+ 4.0.0
+
+ com.azure
+ azure-client-sdk-parent
+ 1.7.0
+ ../../parents/azure-client-sdk-parent
+
+
+ com.azure.resourcemanager
+ azure-resourcemanager-sql-generated
+ 1.0.0-beta.1
+ jar
+
+ Microsoft Azure SDK for Sql Management
+ This package contains Microsoft Azure SDK for Sql Management SDK. For documentation on how to use this package, please see https://aka.ms/azsdk/java/mgmt. The Azure SQL Database management API provides a RESTful set of web services that interact with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and delete databases. Package tag package-composite-v4.
+ https://github.com/Azure/azure-sdk-for-java
+
+
+
+ The MIT License (MIT)
+ http://opensource.org/licenses/MIT
+ repo
+
+
+
+
+ https://github.com/Azure/azure-sdk-for-java
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ scm:git:git@github.com:Azure/azure-sdk-for-java.git
+ HEAD
+
+
+
+ microsoft
+ Microsoft
+
+
+
+ UTF-8
+
+
+
+
+ com.azure
+ azure-core
+ 1.15.0
+
+
+ com.azure
+ azure-core-management
+ 1.2.1
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+ true
+
+
+
+
+
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/SqlManager.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/SqlManager.java
new file mode 100644
index 0000000000000..d6d42d71e3b48
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/SqlManager.java
@@ -0,0 +1,1421 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated;
+
+import com.azure.core.credential.TokenCredential;
+import com.azure.core.http.HttpClient;
+import com.azure.core.http.HttpPipeline;
+import com.azure.core.http.HttpPipelineBuilder;
+import com.azure.core.http.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;
+import com.azure.core.http.policy.HttpPolicyProviders;
+import com.azure.core.http.policy.RequestIdPolicy;
+import com.azure.core.http.policy.RetryPolicy;
+import com.azure.core.http.policy.UserAgentPolicy;
+import com.azure.core.management.profile.AzureProfile;
+import com.azure.core.util.Configuration;
+import com.azure.core.util.logging.ClientLogger;
+import com.azure.resourcemanager.sql.generated.fluent.SqlManagementClient;
+import com.azure.resourcemanager.sql.generated.implementation.BackupShortTermRetentionPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.CapabilitiesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DataMaskingPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DataMaskingRulesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DatabaseAutomaticTuningsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DatabaseBlobAuditingPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DatabaseOperationsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DatabaseThreatDetectionPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DatabaseUsagesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DatabaseVulnerabilityAssessmentRuleBaselinesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DatabaseVulnerabilityAssessmentScansImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DatabaseVulnerabilityAssessmentsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.DatabasesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ElasticPoolActivitiesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ElasticPoolDatabaseActivitiesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ElasticPoolOperationsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ElasticPoolsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.EncryptionProtectorsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ExtendedDatabaseBlobAuditingPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ExtendedServerBlobAuditingPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.FailoverGroupsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.FirewallRulesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.GeoBackupPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ImportExportsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.InstanceFailoverGroupsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.InstancePoolsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.JobAgentsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.JobCredentialsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.JobExecutionsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.JobStepExecutionsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.JobStepsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.JobTargetExecutionsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.JobTargetGroupsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.JobVersionsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.JobsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.LongTermRetentionBackupsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.LongTermRetentionManagedInstanceBackupsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.LongTermRetentionPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedBackupShortTermRetentionPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedDatabaseRestoreDetailsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedDatabaseSecurityAlertPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedDatabaseSensitivityLabelsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedDatabaseVulnerabilityAssessmentRuleBaselinesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedDatabaseVulnerabilityAssessmentScansImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedDatabaseVulnerabilityAssessmentsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedDatabasesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedInstanceAdministratorsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedInstanceAzureADOnlyAuthenticationsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedInstanceEncryptionProtectorsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedInstanceKeysImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedInstanceLongTermRetentionPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedInstanceOperationsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedInstanceTdeCertificatesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedInstanceVulnerabilityAssessmentsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedInstancesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ManagedServerSecurityAlertPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.OperationsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.PrivateEndpointConnectionsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.PrivateLinkResourcesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.RecommendedElasticPoolsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.RecoverableDatabasesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.RecoverableManagedDatabasesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ReplicationLinksImpl;
+import com.azure.resourcemanager.sql.generated.implementation.RestorableDroppedDatabasesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.RestorableDroppedManagedDatabasesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.RestorePointsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.SensitivityLabelsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerAutomaticTuningsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerAzureADAdministratorsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerAzureADOnlyAuthenticationsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerBlobAuditingPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerCommunicationLinksImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerConnectionPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerDevOpsAuditSettingsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerDnsAliasesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerKeysImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerSecurityAlertPoliciesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerTrustGroupsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerUsagesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServerVulnerabilityAssessmentsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServersImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServiceObjectivesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.ServiceTierAdvisorsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.SqlManagementClientBuilder;
+import com.azure.resourcemanager.sql.generated.implementation.SubscriptionUsagesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.SyncAgentsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.SyncGroupsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.SyncMembersImpl;
+import com.azure.resourcemanager.sql.generated.implementation.TdeCertificatesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.TransparentDataEncryptionActivitiesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.TransparentDataEncryptionsImpl;
+import com.azure.resourcemanager.sql.generated.implementation.UsagesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.VirtualClustersImpl;
+import com.azure.resourcemanager.sql.generated.implementation.VirtualNetworkRulesImpl;
+import com.azure.resourcemanager.sql.generated.implementation.WorkloadClassifiersImpl;
+import com.azure.resourcemanager.sql.generated.implementation.WorkloadGroupsImpl;
+import com.azure.resourcemanager.sql.generated.models.BackupShortTermRetentionPolicies;
+import com.azure.resourcemanager.sql.generated.models.Capabilities;
+import com.azure.resourcemanager.sql.generated.models.DataMaskingPolicies;
+import com.azure.resourcemanager.sql.generated.models.DataMaskingRules;
+import com.azure.resourcemanager.sql.generated.models.DatabaseAutomaticTunings;
+import com.azure.resourcemanager.sql.generated.models.DatabaseBlobAuditingPolicies;
+import com.azure.resourcemanager.sql.generated.models.DatabaseOperations;
+import com.azure.resourcemanager.sql.generated.models.DatabaseThreatDetectionPolicies;
+import com.azure.resourcemanager.sql.generated.models.DatabaseUsages;
+import com.azure.resourcemanager.sql.generated.models.DatabaseVulnerabilityAssessmentRuleBaselines;
+import com.azure.resourcemanager.sql.generated.models.DatabaseVulnerabilityAssessmentScans;
+import com.azure.resourcemanager.sql.generated.models.DatabaseVulnerabilityAssessments;
+import com.azure.resourcemanager.sql.generated.models.Databases;
+import com.azure.resourcemanager.sql.generated.models.ElasticPoolActivities;
+import com.azure.resourcemanager.sql.generated.models.ElasticPoolDatabaseActivities;
+import com.azure.resourcemanager.sql.generated.models.ElasticPoolOperations;
+import com.azure.resourcemanager.sql.generated.models.ElasticPools;
+import com.azure.resourcemanager.sql.generated.models.EncryptionProtectors;
+import com.azure.resourcemanager.sql.generated.models.ExtendedDatabaseBlobAuditingPolicies;
+import com.azure.resourcemanager.sql.generated.models.ExtendedServerBlobAuditingPolicies;
+import com.azure.resourcemanager.sql.generated.models.FailoverGroups;
+import com.azure.resourcemanager.sql.generated.models.FirewallRules;
+import com.azure.resourcemanager.sql.generated.models.GeoBackupPolicies;
+import com.azure.resourcemanager.sql.generated.models.ImportExports;
+import com.azure.resourcemanager.sql.generated.models.InstanceFailoverGroups;
+import com.azure.resourcemanager.sql.generated.models.InstancePools;
+import com.azure.resourcemanager.sql.generated.models.JobAgents;
+import com.azure.resourcemanager.sql.generated.models.JobCredentials;
+import com.azure.resourcemanager.sql.generated.models.JobExecutions;
+import com.azure.resourcemanager.sql.generated.models.JobStepExecutions;
+import com.azure.resourcemanager.sql.generated.models.JobSteps;
+import com.azure.resourcemanager.sql.generated.models.JobTargetExecutions;
+import com.azure.resourcemanager.sql.generated.models.JobTargetGroups;
+import com.azure.resourcemanager.sql.generated.models.JobVersions;
+import com.azure.resourcemanager.sql.generated.models.Jobs;
+import com.azure.resourcemanager.sql.generated.models.LongTermRetentionBackups;
+import com.azure.resourcemanager.sql.generated.models.LongTermRetentionManagedInstanceBackups;
+import com.azure.resourcemanager.sql.generated.models.LongTermRetentionPolicies;
+import com.azure.resourcemanager.sql.generated.models.ManagedBackupShortTermRetentionPolicies;
+import com.azure.resourcemanager.sql.generated.models.ManagedDatabaseRestoreDetails;
+import com.azure.resourcemanager.sql.generated.models.ManagedDatabaseSecurityAlertPolicies;
+import com.azure.resourcemanager.sql.generated.models.ManagedDatabaseSensitivityLabels;
+import com.azure.resourcemanager.sql.generated.models.ManagedDatabaseVulnerabilityAssessmentRuleBaselines;
+import com.azure.resourcemanager.sql.generated.models.ManagedDatabaseVulnerabilityAssessmentScans;
+import com.azure.resourcemanager.sql.generated.models.ManagedDatabaseVulnerabilityAssessments;
+import com.azure.resourcemanager.sql.generated.models.ManagedDatabases;
+import com.azure.resourcemanager.sql.generated.models.ManagedInstanceAdministrators;
+import com.azure.resourcemanager.sql.generated.models.ManagedInstanceAzureADOnlyAuthentications;
+import com.azure.resourcemanager.sql.generated.models.ManagedInstanceEncryptionProtectors;
+import com.azure.resourcemanager.sql.generated.models.ManagedInstanceKeys;
+import com.azure.resourcemanager.sql.generated.models.ManagedInstanceLongTermRetentionPolicies;
+import com.azure.resourcemanager.sql.generated.models.ManagedInstanceOperations;
+import com.azure.resourcemanager.sql.generated.models.ManagedInstanceTdeCertificates;
+import com.azure.resourcemanager.sql.generated.models.ManagedInstanceVulnerabilityAssessments;
+import com.azure.resourcemanager.sql.generated.models.ManagedInstances;
+import com.azure.resourcemanager.sql.generated.models.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies;
+import com.azure.resourcemanager.sql.generated.models.ManagedServerSecurityAlertPolicies;
+import com.azure.resourcemanager.sql.generated.models.Operations;
+import com.azure.resourcemanager.sql.generated.models.PrivateEndpointConnections;
+import com.azure.resourcemanager.sql.generated.models.PrivateLinkResources;
+import com.azure.resourcemanager.sql.generated.models.RecommendedElasticPools;
+import com.azure.resourcemanager.sql.generated.models.RecoverableDatabases;
+import com.azure.resourcemanager.sql.generated.models.RecoverableManagedDatabases;
+import com.azure.resourcemanager.sql.generated.models.ReplicationLinks;
+import com.azure.resourcemanager.sql.generated.models.RestorableDroppedDatabases;
+import com.azure.resourcemanager.sql.generated.models.RestorableDroppedManagedDatabases;
+import com.azure.resourcemanager.sql.generated.models.RestorePoints;
+import com.azure.resourcemanager.sql.generated.models.SensitivityLabels;
+import com.azure.resourcemanager.sql.generated.models.ServerAutomaticTunings;
+import com.azure.resourcemanager.sql.generated.models.ServerAzureADAdministrators;
+import com.azure.resourcemanager.sql.generated.models.ServerAzureADOnlyAuthentications;
+import com.azure.resourcemanager.sql.generated.models.ServerBlobAuditingPolicies;
+import com.azure.resourcemanager.sql.generated.models.ServerCommunicationLinks;
+import com.azure.resourcemanager.sql.generated.models.ServerConnectionPolicies;
+import com.azure.resourcemanager.sql.generated.models.ServerDevOpsAuditSettings;
+import com.azure.resourcemanager.sql.generated.models.ServerDnsAliases;
+import com.azure.resourcemanager.sql.generated.models.ServerKeys;
+import com.azure.resourcemanager.sql.generated.models.ServerSecurityAlertPolicies;
+import com.azure.resourcemanager.sql.generated.models.ServerTrustGroups;
+import com.azure.resourcemanager.sql.generated.models.ServerUsages;
+import com.azure.resourcemanager.sql.generated.models.ServerVulnerabilityAssessments;
+import com.azure.resourcemanager.sql.generated.models.Servers;
+import com.azure.resourcemanager.sql.generated.models.ServiceObjectives;
+import com.azure.resourcemanager.sql.generated.models.ServiceTierAdvisors;
+import com.azure.resourcemanager.sql.generated.models.SubscriptionUsages;
+import com.azure.resourcemanager.sql.generated.models.SyncAgents;
+import com.azure.resourcemanager.sql.generated.models.SyncGroups;
+import com.azure.resourcemanager.sql.generated.models.SyncMembers;
+import com.azure.resourcemanager.sql.generated.models.TdeCertificates;
+import com.azure.resourcemanager.sql.generated.models.TransparentDataEncryptionActivities;
+import com.azure.resourcemanager.sql.generated.models.TransparentDataEncryptions;
+import com.azure.resourcemanager.sql.generated.models.Usages;
+import com.azure.resourcemanager.sql.generated.models.VirtualClusters;
+import com.azure.resourcemanager.sql.generated.models.VirtualNetworkRules;
+import com.azure.resourcemanager.sql.generated.models.WorkloadClassifiers;
+import com.azure.resourcemanager.sql.generated.models.WorkloadGroups;
+import java.time.Duration;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * Entry point to SqlManager. The Azure SQL Database management API provides a RESTful set of web services that interact
+ * with Azure SQL Database services to manage your databases. The API enables you to create, retrieve, update, and
+ * delete databases.
+ */
+public final class SqlManager {
+ private RecoverableDatabases recoverableDatabases;
+
+ private RestorableDroppedDatabases restorableDroppedDatabases;
+
+ private ServerConnectionPolicies serverConnectionPolicies;
+
+ private DatabaseThreatDetectionPolicies databaseThreatDetectionPolicies;
+
+ private DataMaskingPolicies dataMaskingPolicies;
+
+ private DataMaskingRules dataMaskingRules;
+
+ private FirewallRules firewallRules;
+
+ private GeoBackupPolicies geoBackupPolicies;
+
+ private Databases databases;
+
+ private ElasticPools elasticPools;
+
+ private RecommendedElasticPools recommendedElasticPools;
+
+ private ReplicationLinks replicationLinks;
+
+ private ServerCommunicationLinks serverCommunicationLinks;
+
+ private ServiceObjectives serviceObjectives;
+
+ private ElasticPoolActivities elasticPoolActivities;
+
+ private ElasticPoolDatabaseActivities elasticPoolDatabaseActivities;
+
+ private ServiceTierAdvisors serviceTierAdvisors;
+
+ private TransparentDataEncryptions transparentDataEncryptions;
+
+ private TransparentDataEncryptionActivities transparentDataEncryptionActivities;
+
+ private ServerUsages serverUsages;
+
+ private DatabaseUsages databaseUsages;
+
+ private DatabaseAutomaticTunings databaseAutomaticTunings;
+
+ private EncryptionProtectors encryptionProtectors;
+
+ private FailoverGroups failoverGroups;
+
+ private Operations operations;
+
+ private ServerKeys serverKeys;
+
+ private SyncAgents syncAgents;
+
+ private SubscriptionUsages subscriptionUsages;
+
+ private VirtualClusters virtualClusters;
+
+ private VirtualNetworkRules virtualNetworkRules;
+
+ private ExtendedDatabaseBlobAuditingPolicies extendedDatabaseBlobAuditingPolicies;
+
+ private ExtendedServerBlobAuditingPolicies extendedServerBlobAuditingPolicies;
+
+ private ServerBlobAuditingPolicies serverBlobAuditingPolicies;
+
+ private DatabaseBlobAuditingPolicies databaseBlobAuditingPolicies;
+
+ private DatabaseVulnerabilityAssessmentRuleBaselines databaseVulnerabilityAssessmentRuleBaselines;
+
+ private DatabaseVulnerabilityAssessments databaseVulnerabilityAssessments;
+
+ private JobAgents jobAgents;
+
+ private JobCredentials jobCredentials;
+
+ private JobExecutions jobExecutions;
+
+ private Jobs jobs;
+
+ private JobStepExecutions jobStepExecutions;
+
+ private JobSteps jobSteps;
+
+ private JobTargetExecutions jobTargetExecutions;
+
+ private JobTargetGroups jobTargetGroups;
+
+ private JobVersions jobVersions;
+
+ private ManagedBackupShortTermRetentionPolicies managedBackupShortTermRetentionPolicies;
+
+ private ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies
+ managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies;
+
+ private ServerAutomaticTunings serverAutomaticTunings;
+
+ private ServerDnsAliases serverDnsAliases;
+
+ private ServerSecurityAlertPolicies serverSecurityAlertPolicies;
+
+ private RestorableDroppedManagedDatabases restorableDroppedManagedDatabases;
+
+ private RestorePoints restorePoints;
+
+ private ManagedDatabaseSecurityAlertPolicies managedDatabaseSecurityAlertPolicies;
+
+ private ManagedServerSecurityAlertPolicies managedServerSecurityAlertPolicies;
+
+ private SensitivityLabels sensitivityLabels;
+
+ private ManagedInstanceAdministrators managedInstanceAdministrators;
+
+ private DatabaseOperations databaseOperations;
+
+ private ElasticPoolOperations elasticPoolOperations;
+
+ private DatabaseVulnerabilityAssessmentScans databaseVulnerabilityAssessmentScans;
+
+ private ManagedDatabaseVulnerabilityAssessmentRuleBaselines managedDatabaseVulnerabilityAssessmentRuleBaselines;
+
+ private ManagedDatabaseVulnerabilityAssessmentScans managedDatabaseVulnerabilityAssessmentScans;
+
+ private ManagedDatabaseVulnerabilityAssessments managedDatabaseVulnerabilityAssessments;
+
+ private InstanceFailoverGroups instanceFailoverGroups;
+
+ private TdeCertificates tdeCertificates;
+
+ private ManagedInstanceTdeCertificates managedInstanceTdeCertificates;
+
+ private ManagedInstanceKeys managedInstanceKeys;
+
+ private ManagedInstanceEncryptionProtectors managedInstanceEncryptionProtectors;
+
+ private RecoverableManagedDatabases recoverableManagedDatabases;
+
+ private BackupShortTermRetentionPolicies backupShortTermRetentionPolicies;
+
+ private ManagedInstanceVulnerabilityAssessments managedInstanceVulnerabilityAssessments;
+
+ private ServerVulnerabilityAssessments serverVulnerabilityAssessments;
+
+ private ManagedDatabaseSensitivityLabels managedDatabaseSensitivityLabels;
+
+ private InstancePools instancePools;
+
+ private Usages usages;
+
+ private PrivateLinkResources privateLinkResources;
+
+ private Servers servers;
+
+ private Capabilities capabilities;
+
+ private LongTermRetentionManagedInstanceBackups longTermRetentionManagedInstanceBackups;
+
+ private ManagedInstanceLongTermRetentionPolicies managedInstanceLongTermRetentionPolicies;
+
+ private WorkloadGroups workloadGroups;
+
+ private WorkloadClassifiers workloadClassifiers;
+
+ private ManagedInstanceOperations managedInstanceOperations;
+
+ private ServerAzureADAdministrators serverAzureADAdministrators;
+
+ private SyncGroups syncGroups;
+
+ private SyncMembers syncMembers;
+
+ private ImportExports importExports;
+
+ private ManagedDatabases managedDatabases;
+
+ private ManagedDatabaseRestoreDetails managedDatabaseRestoreDetails;
+
+ private ServerAzureADOnlyAuthentications serverAzureADOnlyAuthentications;
+
+ private ManagedInstances managedInstances;
+
+ private ManagedInstanceAzureADOnlyAuthentications managedInstanceAzureADOnlyAuthentications;
+
+ private ServerTrustGroups serverTrustGroups;
+
+ private ServerDevOpsAuditSettings serverDevOpsAuditSettings;
+
+ private LongTermRetentionBackups longTermRetentionBackups;
+
+ private LongTermRetentionPolicies longTermRetentionPolicies;
+
+ private PrivateEndpointConnections privateEndpointConnections;
+
+ private final SqlManagementClient clientObject;
+
+ private SqlManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
+ Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ this.clientObject =
+ new SqlManagementClientBuilder()
+ .pipeline(httpPipeline)
+ .endpoint(profile.getEnvironment().getResourceManagerEndpoint())
+ .subscriptionId(profile.getSubscriptionId())
+ .defaultPollInterval(defaultPollInterval)
+ .buildClient();
+ }
+
+ /**
+ * Creates an instance of Sql service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Sql service API instance.
+ */
+ public static SqlManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+ return configure().authenticate(credential, profile);
+ }
+
+ /**
+ * Gets a Configurable instance that can be used to create SqlManager with optional configuration.
+ *
+ * @return the Configurable instance allowing configurations.
+ */
+ public static Configurable configure() {
+ return new SqlManager.Configurable();
+ }
+
+ /** The Configurable allowing configurations to be set. */
+ public static final class Configurable {
+ private final ClientLogger logger = new ClientLogger(Configurable.class);
+
+ private HttpClient httpClient;
+ private HttpLogOptions httpLogOptions;
+ private final List policies = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval = Objects.requireNonNull(defaultPollInterval, "'retryPolicy' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw logger.logExceptionAsError(new IllegalArgumentException("'httpPipeline' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of Sql service API entry point.
+ *
+ * @param credential the credential to use.
+ * @param profile the Azure profile for client.
+ * @return the Sql service API instance.
+ */
+ public SqlManager authenticate(TokenCredential credential, AzureProfile profile) {
+ Objects.requireNonNull(credential, "'credential' cannot be null.");
+ Objects.requireNonNull(profile, "'profile' cannot be null.");
+
+ StringBuilder userAgentBuilder = new StringBuilder();
+ userAgentBuilder
+ .append("azsdk-java")
+ .append("-")
+ .append("com.azure.resourcemanager.sql.generated")
+ .append("/")
+ .append("1.0.0-beta.1");
+ if (!Configuration.getGlobalConfiguration().get("AZURE_TELEMETRY_DISABLED", false)) {
+ userAgentBuilder
+ .append(" (")
+ .append(Configuration.getGlobalConfiguration().get("java.version"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.name"))
+ .append("; ")
+ .append(Configuration.getGlobalConfiguration().get("os.version"))
+ .append("; auto-generated)");
+ } else {
+ userAgentBuilder.append(" (auto-generated)");
+ }
+
+ if (retryPolicy == null) {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new RequestIdPolicy());
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies
+ .add(
+ new BearerTokenAuthenticationPolicy(
+ credential, profile.getEnvironment().getManagementEndpoint() + "/.default"));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new SqlManager(httpPipeline, profile, defaultPollInterval);
+ }
+ }
+
+ /** @return Resource collection API of RecoverableDatabases. */
+ public RecoverableDatabases recoverableDatabases() {
+ if (this.recoverableDatabases == null) {
+ this.recoverableDatabases = new RecoverableDatabasesImpl(clientObject.getRecoverableDatabases(), this);
+ }
+ return recoverableDatabases;
+ }
+
+ /** @return Resource collection API of RestorableDroppedDatabases. */
+ public RestorableDroppedDatabases restorableDroppedDatabases() {
+ if (this.restorableDroppedDatabases == null) {
+ this.restorableDroppedDatabases =
+ new RestorableDroppedDatabasesImpl(clientObject.getRestorableDroppedDatabases(), this);
+ }
+ return restorableDroppedDatabases;
+ }
+
+ /** @return Resource collection API of ServerConnectionPolicies. */
+ public ServerConnectionPolicies serverConnectionPolicies() {
+ if (this.serverConnectionPolicies == null) {
+ this.serverConnectionPolicies =
+ new ServerConnectionPoliciesImpl(clientObject.getServerConnectionPolicies(), this);
+ }
+ return serverConnectionPolicies;
+ }
+
+ /** @return Resource collection API of DatabaseThreatDetectionPolicies. */
+ public DatabaseThreatDetectionPolicies databaseThreatDetectionPolicies() {
+ if (this.databaseThreatDetectionPolicies == null) {
+ this.databaseThreatDetectionPolicies =
+ new DatabaseThreatDetectionPoliciesImpl(clientObject.getDatabaseThreatDetectionPolicies(), this);
+ }
+ return databaseThreatDetectionPolicies;
+ }
+
+ /** @return Resource collection API of DataMaskingPolicies. */
+ public DataMaskingPolicies dataMaskingPolicies() {
+ if (this.dataMaskingPolicies == null) {
+ this.dataMaskingPolicies = new DataMaskingPoliciesImpl(clientObject.getDataMaskingPolicies(), this);
+ }
+ return dataMaskingPolicies;
+ }
+
+ /** @return Resource collection API of DataMaskingRules. */
+ public DataMaskingRules dataMaskingRules() {
+ if (this.dataMaskingRules == null) {
+ this.dataMaskingRules = new DataMaskingRulesImpl(clientObject.getDataMaskingRules(), this);
+ }
+ return dataMaskingRules;
+ }
+
+ /** @return Resource collection API of FirewallRules. */
+ public FirewallRules firewallRules() {
+ if (this.firewallRules == null) {
+ this.firewallRules = new FirewallRulesImpl(clientObject.getFirewallRules(), this);
+ }
+ return firewallRules;
+ }
+
+ /** @return Resource collection API of GeoBackupPolicies. */
+ public GeoBackupPolicies geoBackupPolicies() {
+ if (this.geoBackupPolicies == null) {
+ this.geoBackupPolicies = new GeoBackupPoliciesImpl(clientObject.getGeoBackupPolicies(), this);
+ }
+ return geoBackupPolicies;
+ }
+
+ /** @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 ElasticPools. */
+ public ElasticPools elasticPools() {
+ if (this.elasticPools == null) {
+ this.elasticPools = new ElasticPoolsImpl(clientObject.getElasticPools(), this);
+ }
+ return elasticPools;
+ }
+
+ /** @return Resource collection API of RecommendedElasticPools. */
+ public RecommendedElasticPools recommendedElasticPools() {
+ if (this.recommendedElasticPools == null) {
+ this.recommendedElasticPools =
+ new RecommendedElasticPoolsImpl(clientObject.getRecommendedElasticPools(), this);
+ }
+ return recommendedElasticPools;
+ }
+
+ /** @return Resource collection API of ReplicationLinks. */
+ public ReplicationLinks replicationLinks() {
+ if (this.replicationLinks == null) {
+ this.replicationLinks = new ReplicationLinksImpl(clientObject.getReplicationLinks(), this);
+ }
+ return replicationLinks;
+ }
+
+ /** @return Resource collection API of ServerCommunicationLinks. */
+ public ServerCommunicationLinks serverCommunicationLinks() {
+ if (this.serverCommunicationLinks == null) {
+ this.serverCommunicationLinks =
+ new ServerCommunicationLinksImpl(clientObject.getServerCommunicationLinks(), this);
+ }
+ return serverCommunicationLinks;
+ }
+
+ /** @return Resource collection API of ServiceObjectives. */
+ public ServiceObjectives serviceObjectives() {
+ if (this.serviceObjectives == null) {
+ this.serviceObjectives = new ServiceObjectivesImpl(clientObject.getServiceObjectives(), this);
+ }
+ return serviceObjectives;
+ }
+
+ /** @return Resource collection API of ElasticPoolActivities. */
+ public ElasticPoolActivities elasticPoolActivities() {
+ if (this.elasticPoolActivities == null) {
+ this.elasticPoolActivities = new ElasticPoolActivitiesImpl(clientObject.getElasticPoolActivities(), this);
+ }
+ return elasticPoolActivities;
+ }
+
+ /** @return Resource collection API of ElasticPoolDatabaseActivities. */
+ public ElasticPoolDatabaseActivities elasticPoolDatabaseActivities() {
+ if (this.elasticPoolDatabaseActivities == null) {
+ this.elasticPoolDatabaseActivities =
+ new ElasticPoolDatabaseActivitiesImpl(clientObject.getElasticPoolDatabaseActivities(), this);
+ }
+ return elasticPoolDatabaseActivities;
+ }
+
+ /** @return Resource collection API of ServiceTierAdvisors. */
+ public ServiceTierAdvisors serviceTierAdvisors() {
+ if (this.serviceTierAdvisors == null) {
+ this.serviceTierAdvisors = new ServiceTierAdvisorsImpl(clientObject.getServiceTierAdvisors(), this);
+ }
+ return serviceTierAdvisors;
+ }
+
+ /** @return Resource collection API of TransparentDataEncryptions. */
+ public TransparentDataEncryptions transparentDataEncryptions() {
+ if (this.transparentDataEncryptions == null) {
+ this.transparentDataEncryptions =
+ new TransparentDataEncryptionsImpl(clientObject.getTransparentDataEncryptions(), this);
+ }
+ return transparentDataEncryptions;
+ }
+
+ /** @return Resource collection API of TransparentDataEncryptionActivities. */
+ public TransparentDataEncryptionActivities transparentDataEncryptionActivities() {
+ if (this.transparentDataEncryptionActivities == null) {
+ this.transparentDataEncryptionActivities =
+ new TransparentDataEncryptionActivitiesImpl(
+ clientObject.getTransparentDataEncryptionActivities(), this);
+ }
+ return transparentDataEncryptionActivities;
+ }
+
+ /** @return Resource collection API of ServerUsages. */
+ public ServerUsages serverUsages() {
+ if (this.serverUsages == null) {
+ this.serverUsages = new ServerUsagesImpl(clientObject.getServerUsages(), this);
+ }
+ return serverUsages;
+ }
+
+ /** @return Resource collection API of DatabaseUsages. */
+ public DatabaseUsages databaseUsages() {
+ if (this.databaseUsages == null) {
+ this.databaseUsages = new DatabaseUsagesImpl(clientObject.getDatabaseUsages(), this);
+ }
+ return databaseUsages;
+ }
+
+ /** @return Resource collection API of DatabaseAutomaticTunings. */
+ public DatabaseAutomaticTunings databaseAutomaticTunings() {
+ if (this.databaseAutomaticTunings == null) {
+ this.databaseAutomaticTunings =
+ new DatabaseAutomaticTuningsImpl(clientObject.getDatabaseAutomaticTunings(), this);
+ }
+ return databaseAutomaticTunings;
+ }
+
+ /** @return Resource collection API of EncryptionProtectors. */
+ public EncryptionProtectors encryptionProtectors() {
+ if (this.encryptionProtectors == null) {
+ this.encryptionProtectors = new EncryptionProtectorsImpl(clientObject.getEncryptionProtectors(), this);
+ }
+ return encryptionProtectors;
+ }
+
+ /** @return Resource collection API of FailoverGroups. */
+ public FailoverGroups failoverGroups() {
+ if (this.failoverGroups == null) {
+ this.failoverGroups = new FailoverGroupsImpl(clientObject.getFailoverGroups(), this);
+ }
+ return failoverGroups;
+ }
+
+ /** @return Resource collection API of Operations. */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /** @return Resource collection API of ServerKeys. */
+ public ServerKeys serverKeys() {
+ if (this.serverKeys == null) {
+ this.serverKeys = new ServerKeysImpl(clientObject.getServerKeys(), this);
+ }
+ return serverKeys;
+ }
+
+ /** @return Resource collection API of SyncAgents. */
+ public SyncAgents syncAgents() {
+ if (this.syncAgents == null) {
+ this.syncAgents = new SyncAgentsImpl(clientObject.getSyncAgents(), this);
+ }
+ return syncAgents;
+ }
+
+ /** @return Resource collection API of SubscriptionUsages. */
+ public SubscriptionUsages subscriptionUsages() {
+ if (this.subscriptionUsages == null) {
+ this.subscriptionUsages = new SubscriptionUsagesImpl(clientObject.getSubscriptionUsages(), this);
+ }
+ return subscriptionUsages;
+ }
+
+ /** @return Resource collection API of VirtualClusters. */
+ public VirtualClusters virtualClusters() {
+ if (this.virtualClusters == null) {
+ this.virtualClusters = new VirtualClustersImpl(clientObject.getVirtualClusters(), this);
+ }
+ return virtualClusters;
+ }
+
+ /** @return Resource collection API of VirtualNetworkRules. */
+ public VirtualNetworkRules virtualNetworkRules() {
+ if (this.virtualNetworkRules == null) {
+ this.virtualNetworkRules = new VirtualNetworkRulesImpl(clientObject.getVirtualNetworkRules(), this);
+ }
+ return virtualNetworkRules;
+ }
+
+ /** @return Resource collection API of ExtendedDatabaseBlobAuditingPolicies. */
+ public ExtendedDatabaseBlobAuditingPolicies extendedDatabaseBlobAuditingPolicies() {
+ if (this.extendedDatabaseBlobAuditingPolicies == null) {
+ this.extendedDatabaseBlobAuditingPolicies =
+ new ExtendedDatabaseBlobAuditingPoliciesImpl(
+ clientObject.getExtendedDatabaseBlobAuditingPolicies(), this);
+ }
+ return extendedDatabaseBlobAuditingPolicies;
+ }
+
+ /** @return Resource collection API of ExtendedServerBlobAuditingPolicies. */
+ public ExtendedServerBlobAuditingPolicies extendedServerBlobAuditingPolicies() {
+ if (this.extendedServerBlobAuditingPolicies == null) {
+ this.extendedServerBlobAuditingPolicies =
+ new ExtendedServerBlobAuditingPoliciesImpl(clientObject.getExtendedServerBlobAuditingPolicies(), this);
+ }
+ return extendedServerBlobAuditingPolicies;
+ }
+
+ /** @return Resource collection API of ServerBlobAuditingPolicies. */
+ public ServerBlobAuditingPolicies serverBlobAuditingPolicies() {
+ if (this.serverBlobAuditingPolicies == null) {
+ this.serverBlobAuditingPolicies =
+ new ServerBlobAuditingPoliciesImpl(clientObject.getServerBlobAuditingPolicies(), this);
+ }
+ return serverBlobAuditingPolicies;
+ }
+
+ /** @return Resource collection API of DatabaseBlobAuditingPolicies. */
+ public DatabaseBlobAuditingPolicies databaseBlobAuditingPolicies() {
+ if (this.databaseBlobAuditingPolicies == null) {
+ this.databaseBlobAuditingPolicies =
+ new DatabaseBlobAuditingPoliciesImpl(clientObject.getDatabaseBlobAuditingPolicies(), this);
+ }
+ return databaseBlobAuditingPolicies;
+ }
+
+ /** @return Resource collection API of DatabaseVulnerabilityAssessmentRuleBaselines. */
+ public DatabaseVulnerabilityAssessmentRuleBaselines databaseVulnerabilityAssessmentRuleBaselines() {
+ if (this.databaseVulnerabilityAssessmentRuleBaselines == null) {
+ this.databaseVulnerabilityAssessmentRuleBaselines =
+ new DatabaseVulnerabilityAssessmentRuleBaselinesImpl(
+ clientObject.getDatabaseVulnerabilityAssessmentRuleBaselines(), this);
+ }
+ return databaseVulnerabilityAssessmentRuleBaselines;
+ }
+
+ /** @return Resource collection API of DatabaseVulnerabilityAssessments. */
+ public DatabaseVulnerabilityAssessments databaseVulnerabilityAssessments() {
+ if (this.databaseVulnerabilityAssessments == null) {
+ this.databaseVulnerabilityAssessments =
+ new DatabaseVulnerabilityAssessmentsImpl(clientObject.getDatabaseVulnerabilityAssessments(), this);
+ }
+ return databaseVulnerabilityAssessments;
+ }
+
+ /** @return Resource collection API of JobAgents. */
+ public JobAgents jobAgents() {
+ if (this.jobAgents == null) {
+ this.jobAgents = new JobAgentsImpl(clientObject.getJobAgents(), this);
+ }
+ return jobAgents;
+ }
+
+ /** @return Resource collection API of JobCredentials. */
+ public JobCredentials jobCredentials() {
+ if (this.jobCredentials == null) {
+ this.jobCredentials = new JobCredentialsImpl(clientObject.getJobCredentials(), this);
+ }
+ return jobCredentials;
+ }
+
+ /** @return Resource collection API of JobExecutions. */
+ public JobExecutions jobExecutions() {
+ if (this.jobExecutions == null) {
+ this.jobExecutions = new JobExecutionsImpl(clientObject.getJobExecutions(), this);
+ }
+ return jobExecutions;
+ }
+
+ /** @return Resource collection API of Jobs. */
+ public Jobs jobs() {
+ if (this.jobs == null) {
+ this.jobs = new JobsImpl(clientObject.getJobs(), this);
+ }
+ return jobs;
+ }
+
+ /** @return Resource collection API of JobStepExecutions. */
+ public JobStepExecutions jobStepExecutions() {
+ if (this.jobStepExecutions == null) {
+ this.jobStepExecutions = new JobStepExecutionsImpl(clientObject.getJobStepExecutions(), this);
+ }
+ return jobStepExecutions;
+ }
+
+ /** @return Resource collection API of JobSteps. */
+ public JobSteps jobSteps() {
+ if (this.jobSteps == null) {
+ this.jobSteps = new JobStepsImpl(clientObject.getJobSteps(), this);
+ }
+ return jobSteps;
+ }
+
+ /** @return Resource collection API of JobTargetExecutions. */
+ public JobTargetExecutions jobTargetExecutions() {
+ if (this.jobTargetExecutions == null) {
+ this.jobTargetExecutions = new JobTargetExecutionsImpl(clientObject.getJobTargetExecutions(), this);
+ }
+ return jobTargetExecutions;
+ }
+
+ /** @return Resource collection API of JobTargetGroups. */
+ public JobTargetGroups jobTargetGroups() {
+ if (this.jobTargetGroups == null) {
+ this.jobTargetGroups = new JobTargetGroupsImpl(clientObject.getJobTargetGroups(), this);
+ }
+ return jobTargetGroups;
+ }
+
+ /** @return Resource collection API of JobVersions. */
+ public JobVersions jobVersions() {
+ if (this.jobVersions == null) {
+ this.jobVersions = new JobVersionsImpl(clientObject.getJobVersions(), this);
+ }
+ return jobVersions;
+ }
+
+ /** @return Resource collection API of ManagedBackupShortTermRetentionPolicies. */
+ public ManagedBackupShortTermRetentionPolicies managedBackupShortTermRetentionPolicies() {
+ if (this.managedBackupShortTermRetentionPolicies == null) {
+ this.managedBackupShortTermRetentionPolicies =
+ new ManagedBackupShortTermRetentionPoliciesImpl(
+ clientObject.getManagedBackupShortTermRetentionPolicies(), this);
+ }
+ return managedBackupShortTermRetentionPolicies;
+ }
+
+ /** @return Resource collection API of ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies. */
+ public ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies
+ managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies() {
+ if (this.managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies == null) {
+ this.managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies =
+ new ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesImpl(
+ clientObject.getManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies(), this);
+ }
+ return managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies;
+ }
+
+ /** @return Resource collection API of ServerAutomaticTunings. */
+ public ServerAutomaticTunings serverAutomaticTunings() {
+ if (this.serverAutomaticTunings == null) {
+ this.serverAutomaticTunings =
+ new ServerAutomaticTuningsImpl(clientObject.getServerAutomaticTunings(), this);
+ }
+ return serverAutomaticTunings;
+ }
+
+ /** @return Resource collection API of ServerDnsAliases. */
+ public ServerDnsAliases serverDnsAliases() {
+ if (this.serverDnsAliases == null) {
+ this.serverDnsAliases = new ServerDnsAliasesImpl(clientObject.getServerDnsAliases(), this);
+ }
+ return serverDnsAliases;
+ }
+
+ /** @return Resource collection API of ServerSecurityAlertPolicies. */
+ public ServerSecurityAlertPolicies serverSecurityAlertPolicies() {
+ if (this.serverSecurityAlertPolicies == null) {
+ this.serverSecurityAlertPolicies =
+ new ServerSecurityAlertPoliciesImpl(clientObject.getServerSecurityAlertPolicies(), this);
+ }
+ return serverSecurityAlertPolicies;
+ }
+
+ /** @return Resource collection API of RestorableDroppedManagedDatabases. */
+ public RestorableDroppedManagedDatabases restorableDroppedManagedDatabases() {
+ if (this.restorableDroppedManagedDatabases == null) {
+ this.restorableDroppedManagedDatabases =
+ new RestorableDroppedManagedDatabasesImpl(clientObject.getRestorableDroppedManagedDatabases(), this);
+ }
+ return restorableDroppedManagedDatabases;
+ }
+
+ /** @return Resource collection API of RestorePoints. */
+ public RestorePoints restorePoints() {
+ if (this.restorePoints == null) {
+ this.restorePoints = new RestorePointsImpl(clientObject.getRestorePoints(), this);
+ }
+ return restorePoints;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseSecurityAlertPolicies. */
+ public ManagedDatabaseSecurityAlertPolicies managedDatabaseSecurityAlertPolicies() {
+ if (this.managedDatabaseSecurityAlertPolicies == null) {
+ this.managedDatabaseSecurityAlertPolicies =
+ new ManagedDatabaseSecurityAlertPoliciesImpl(
+ clientObject.getManagedDatabaseSecurityAlertPolicies(), this);
+ }
+ return managedDatabaseSecurityAlertPolicies;
+ }
+
+ /** @return Resource collection API of ManagedServerSecurityAlertPolicies. */
+ public ManagedServerSecurityAlertPolicies managedServerSecurityAlertPolicies() {
+ if (this.managedServerSecurityAlertPolicies == null) {
+ this.managedServerSecurityAlertPolicies =
+ new ManagedServerSecurityAlertPoliciesImpl(clientObject.getManagedServerSecurityAlertPolicies(), this);
+ }
+ return managedServerSecurityAlertPolicies;
+ }
+
+ /** @return Resource collection API of SensitivityLabels. */
+ public SensitivityLabels sensitivityLabels() {
+ if (this.sensitivityLabels == null) {
+ this.sensitivityLabels = new SensitivityLabelsImpl(clientObject.getSensitivityLabels(), this);
+ }
+ return sensitivityLabels;
+ }
+
+ /** @return Resource collection API of ManagedInstanceAdministrators. */
+ public ManagedInstanceAdministrators managedInstanceAdministrators() {
+ if (this.managedInstanceAdministrators == null) {
+ this.managedInstanceAdministrators =
+ new ManagedInstanceAdministratorsImpl(clientObject.getManagedInstanceAdministrators(), this);
+ }
+ return managedInstanceAdministrators;
+ }
+
+ /** @return Resource collection API of DatabaseOperations. */
+ public DatabaseOperations databaseOperations() {
+ if (this.databaseOperations == null) {
+ this.databaseOperations = new DatabaseOperationsImpl(clientObject.getDatabaseOperations(), this);
+ }
+ return databaseOperations;
+ }
+
+ /** @return Resource collection API of ElasticPoolOperations. */
+ public ElasticPoolOperations elasticPoolOperations() {
+ if (this.elasticPoolOperations == null) {
+ this.elasticPoolOperations = new ElasticPoolOperationsImpl(clientObject.getElasticPoolOperations(), this);
+ }
+ return elasticPoolOperations;
+ }
+
+ /** @return Resource collection API of DatabaseVulnerabilityAssessmentScans. */
+ public DatabaseVulnerabilityAssessmentScans databaseVulnerabilityAssessmentScans() {
+ if (this.databaseVulnerabilityAssessmentScans == null) {
+ this.databaseVulnerabilityAssessmentScans =
+ new DatabaseVulnerabilityAssessmentScansImpl(
+ clientObject.getDatabaseVulnerabilityAssessmentScans(), this);
+ }
+ return databaseVulnerabilityAssessmentScans;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseVulnerabilityAssessmentRuleBaselines. */
+ public ManagedDatabaseVulnerabilityAssessmentRuleBaselines managedDatabaseVulnerabilityAssessmentRuleBaselines() {
+ if (this.managedDatabaseVulnerabilityAssessmentRuleBaselines == null) {
+ this.managedDatabaseVulnerabilityAssessmentRuleBaselines =
+ new ManagedDatabaseVulnerabilityAssessmentRuleBaselinesImpl(
+ clientObject.getManagedDatabaseVulnerabilityAssessmentRuleBaselines(), this);
+ }
+ return managedDatabaseVulnerabilityAssessmentRuleBaselines;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseVulnerabilityAssessmentScans. */
+ public ManagedDatabaseVulnerabilityAssessmentScans managedDatabaseVulnerabilityAssessmentScans() {
+ if (this.managedDatabaseVulnerabilityAssessmentScans == null) {
+ this.managedDatabaseVulnerabilityAssessmentScans =
+ new ManagedDatabaseVulnerabilityAssessmentScansImpl(
+ clientObject.getManagedDatabaseVulnerabilityAssessmentScans(), this);
+ }
+ return managedDatabaseVulnerabilityAssessmentScans;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseVulnerabilityAssessments. */
+ public ManagedDatabaseVulnerabilityAssessments managedDatabaseVulnerabilityAssessments() {
+ if (this.managedDatabaseVulnerabilityAssessments == null) {
+ this.managedDatabaseVulnerabilityAssessments =
+ new ManagedDatabaseVulnerabilityAssessmentsImpl(
+ clientObject.getManagedDatabaseVulnerabilityAssessments(), this);
+ }
+ return managedDatabaseVulnerabilityAssessments;
+ }
+
+ /** @return Resource collection API of InstanceFailoverGroups. */
+ public InstanceFailoverGroups instanceFailoverGroups() {
+ if (this.instanceFailoverGroups == null) {
+ this.instanceFailoverGroups =
+ new InstanceFailoverGroupsImpl(clientObject.getInstanceFailoverGroups(), this);
+ }
+ return instanceFailoverGroups;
+ }
+
+ /** @return Resource collection API of TdeCertificates. */
+ public TdeCertificates tdeCertificates() {
+ if (this.tdeCertificates == null) {
+ this.tdeCertificates = new TdeCertificatesImpl(clientObject.getTdeCertificates(), this);
+ }
+ return tdeCertificates;
+ }
+
+ /** @return Resource collection API of ManagedInstanceTdeCertificates. */
+ public ManagedInstanceTdeCertificates managedInstanceTdeCertificates() {
+ if (this.managedInstanceTdeCertificates == null) {
+ this.managedInstanceTdeCertificates =
+ new ManagedInstanceTdeCertificatesImpl(clientObject.getManagedInstanceTdeCertificates(), this);
+ }
+ return managedInstanceTdeCertificates;
+ }
+
+ /** @return Resource collection API of ManagedInstanceKeys. */
+ public ManagedInstanceKeys managedInstanceKeys() {
+ if (this.managedInstanceKeys == null) {
+ this.managedInstanceKeys = new ManagedInstanceKeysImpl(clientObject.getManagedInstanceKeys(), this);
+ }
+ return managedInstanceKeys;
+ }
+
+ /** @return Resource collection API of ManagedInstanceEncryptionProtectors. */
+ public ManagedInstanceEncryptionProtectors managedInstanceEncryptionProtectors() {
+ if (this.managedInstanceEncryptionProtectors == null) {
+ this.managedInstanceEncryptionProtectors =
+ new ManagedInstanceEncryptionProtectorsImpl(
+ clientObject.getManagedInstanceEncryptionProtectors(), this);
+ }
+ return managedInstanceEncryptionProtectors;
+ }
+
+ /** @return Resource collection API of RecoverableManagedDatabases. */
+ public RecoverableManagedDatabases recoverableManagedDatabases() {
+ if (this.recoverableManagedDatabases == null) {
+ this.recoverableManagedDatabases =
+ new RecoverableManagedDatabasesImpl(clientObject.getRecoverableManagedDatabases(), this);
+ }
+ return recoverableManagedDatabases;
+ }
+
+ /** @return Resource collection API of BackupShortTermRetentionPolicies. */
+ public BackupShortTermRetentionPolicies backupShortTermRetentionPolicies() {
+ if (this.backupShortTermRetentionPolicies == null) {
+ this.backupShortTermRetentionPolicies =
+ new BackupShortTermRetentionPoliciesImpl(clientObject.getBackupShortTermRetentionPolicies(), this);
+ }
+ return backupShortTermRetentionPolicies;
+ }
+
+ /** @return Resource collection API of ManagedInstanceVulnerabilityAssessments. */
+ public ManagedInstanceVulnerabilityAssessments managedInstanceVulnerabilityAssessments() {
+ if (this.managedInstanceVulnerabilityAssessments == null) {
+ this.managedInstanceVulnerabilityAssessments =
+ new ManagedInstanceVulnerabilityAssessmentsImpl(
+ clientObject.getManagedInstanceVulnerabilityAssessments(), this);
+ }
+ return managedInstanceVulnerabilityAssessments;
+ }
+
+ /** @return Resource collection API of ServerVulnerabilityAssessments. */
+ public ServerVulnerabilityAssessments serverVulnerabilityAssessments() {
+ if (this.serverVulnerabilityAssessments == null) {
+ this.serverVulnerabilityAssessments =
+ new ServerVulnerabilityAssessmentsImpl(clientObject.getServerVulnerabilityAssessments(), this);
+ }
+ return serverVulnerabilityAssessments;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseSensitivityLabels. */
+ public ManagedDatabaseSensitivityLabels managedDatabaseSensitivityLabels() {
+ if (this.managedDatabaseSensitivityLabels == null) {
+ this.managedDatabaseSensitivityLabels =
+ new ManagedDatabaseSensitivityLabelsImpl(clientObject.getManagedDatabaseSensitivityLabels(), this);
+ }
+ return managedDatabaseSensitivityLabels;
+ }
+
+ /** @return Resource collection API of InstancePools. */
+ public InstancePools instancePools() {
+ if (this.instancePools == null) {
+ this.instancePools = new InstancePoolsImpl(clientObject.getInstancePools(), this);
+ }
+ return instancePools;
+ }
+
+ /** @return Resource collection API of Usages. */
+ public Usages usages() {
+ if (this.usages == null) {
+ this.usages = new UsagesImpl(clientObject.getUsages(), this);
+ }
+ return usages;
+ }
+
+ /** @return Resource collection API of PrivateLinkResources. */
+ public PrivateLinkResources privateLinkResources() {
+ if (this.privateLinkResources == null) {
+ this.privateLinkResources = new PrivateLinkResourcesImpl(clientObject.getPrivateLinkResources(), this);
+ }
+ return privateLinkResources;
+ }
+
+ /** @return Resource collection API of Servers. */
+ public Servers servers() {
+ if (this.servers == null) {
+ this.servers = new ServersImpl(clientObject.getServers(), this);
+ }
+ return servers;
+ }
+
+ /** @return Resource collection API of Capabilities. */
+ public Capabilities capabilities() {
+ if (this.capabilities == null) {
+ this.capabilities = new CapabilitiesImpl(clientObject.getCapabilities(), this);
+ }
+ return capabilities;
+ }
+
+ /** @return Resource collection API of LongTermRetentionManagedInstanceBackups. */
+ public LongTermRetentionManagedInstanceBackups longTermRetentionManagedInstanceBackups() {
+ if (this.longTermRetentionManagedInstanceBackups == null) {
+ this.longTermRetentionManagedInstanceBackups =
+ new LongTermRetentionManagedInstanceBackupsImpl(
+ clientObject.getLongTermRetentionManagedInstanceBackups(), this);
+ }
+ return longTermRetentionManagedInstanceBackups;
+ }
+
+ /** @return Resource collection API of ManagedInstanceLongTermRetentionPolicies. */
+ public ManagedInstanceLongTermRetentionPolicies managedInstanceLongTermRetentionPolicies() {
+ if (this.managedInstanceLongTermRetentionPolicies == null) {
+ this.managedInstanceLongTermRetentionPolicies =
+ new ManagedInstanceLongTermRetentionPoliciesImpl(
+ clientObject.getManagedInstanceLongTermRetentionPolicies(), this);
+ }
+ return managedInstanceLongTermRetentionPolicies;
+ }
+
+ /** @return Resource collection API of WorkloadGroups. */
+ public WorkloadGroups workloadGroups() {
+ if (this.workloadGroups == null) {
+ this.workloadGroups = new WorkloadGroupsImpl(clientObject.getWorkloadGroups(), this);
+ }
+ return workloadGroups;
+ }
+
+ /** @return Resource collection API of WorkloadClassifiers. */
+ public WorkloadClassifiers workloadClassifiers() {
+ if (this.workloadClassifiers == null) {
+ this.workloadClassifiers = new WorkloadClassifiersImpl(clientObject.getWorkloadClassifiers(), this);
+ }
+ return workloadClassifiers;
+ }
+
+ /** @return Resource collection API of ManagedInstanceOperations. */
+ public ManagedInstanceOperations managedInstanceOperations() {
+ if (this.managedInstanceOperations == null) {
+ this.managedInstanceOperations =
+ new ManagedInstanceOperationsImpl(clientObject.getManagedInstanceOperations(), this);
+ }
+ return managedInstanceOperations;
+ }
+
+ /** @return Resource collection API of ServerAzureADAdministrators. */
+ public ServerAzureADAdministrators serverAzureADAdministrators() {
+ if (this.serverAzureADAdministrators == null) {
+ this.serverAzureADAdministrators =
+ new ServerAzureADAdministratorsImpl(clientObject.getServerAzureADAdministrators(), this);
+ }
+ return serverAzureADAdministrators;
+ }
+
+ /** @return Resource collection API of SyncGroups. */
+ public SyncGroups syncGroups() {
+ if (this.syncGroups == null) {
+ this.syncGroups = new SyncGroupsImpl(clientObject.getSyncGroups(), this);
+ }
+ return syncGroups;
+ }
+
+ /** @return Resource collection API of SyncMembers. */
+ public SyncMembers syncMembers() {
+ if (this.syncMembers == null) {
+ this.syncMembers = new SyncMembersImpl(clientObject.getSyncMembers(), this);
+ }
+ return syncMembers;
+ }
+
+ /** @return Resource collection API of ImportExports. */
+ public ImportExports importExports() {
+ if (this.importExports == null) {
+ this.importExports = new ImportExportsImpl(clientObject.getImportExports(), this);
+ }
+ return importExports;
+ }
+
+ /** @return Resource collection API of ManagedDatabases. */
+ public ManagedDatabases managedDatabases() {
+ if (this.managedDatabases == null) {
+ this.managedDatabases = new ManagedDatabasesImpl(clientObject.getManagedDatabases(), this);
+ }
+ return managedDatabases;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseRestoreDetails. */
+ public ManagedDatabaseRestoreDetails managedDatabaseRestoreDetails() {
+ if (this.managedDatabaseRestoreDetails == null) {
+ this.managedDatabaseRestoreDetails =
+ new ManagedDatabaseRestoreDetailsImpl(clientObject.getManagedDatabaseRestoreDetails(), this);
+ }
+ return managedDatabaseRestoreDetails;
+ }
+
+ /** @return Resource collection API of ServerAzureADOnlyAuthentications. */
+ public ServerAzureADOnlyAuthentications serverAzureADOnlyAuthentications() {
+ if (this.serverAzureADOnlyAuthentications == null) {
+ this.serverAzureADOnlyAuthentications =
+ new ServerAzureADOnlyAuthenticationsImpl(clientObject.getServerAzureADOnlyAuthentications(), this);
+ }
+ return serverAzureADOnlyAuthentications;
+ }
+
+ /** @return Resource collection API of ManagedInstances. */
+ public ManagedInstances managedInstances() {
+ if (this.managedInstances == null) {
+ this.managedInstances = new ManagedInstancesImpl(clientObject.getManagedInstances(), this);
+ }
+ return managedInstances;
+ }
+
+ /** @return Resource collection API of ManagedInstanceAzureADOnlyAuthentications. */
+ public ManagedInstanceAzureADOnlyAuthentications managedInstanceAzureADOnlyAuthentications() {
+ if (this.managedInstanceAzureADOnlyAuthentications == null) {
+ this.managedInstanceAzureADOnlyAuthentications =
+ new ManagedInstanceAzureADOnlyAuthenticationsImpl(
+ clientObject.getManagedInstanceAzureADOnlyAuthentications(), this);
+ }
+ return managedInstanceAzureADOnlyAuthentications;
+ }
+
+ /** @return Resource collection API of ServerTrustGroups. */
+ public ServerTrustGroups serverTrustGroups() {
+ if (this.serverTrustGroups == null) {
+ this.serverTrustGroups = new ServerTrustGroupsImpl(clientObject.getServerTrustGroups(), this);
+ }
+ return serverTrustGroups;
+ }
+
+ /** @return Resource collection API of ServerDevOpsAuditSettings. */
+ public ServerDevOpsAuditSettings serverDevOpsAuditSettings() {
+ if (this.serverDevOpsAuditSettings == null) {
+ this.serverDevOpsAuditSettings =
+ new ServerDevOpsAuditSettingsImpl(clientObject.getServerDevOpsAuditSettings(), this);
+ }
+ return serverDevOpsAuditSettings;
+ }
+
+ /** @return Resource collection API of LongTermRetentionBackups. */
+ public LongTermRetentionBackups longTermRetentionBackups() {
+ if (this.longTermRetentionBackups == null) {
+ this.longTermRetentionBackups =
+ new LongTermRetentionBackupsImpl(clientObject.getLongTermRetentionBackups(), this);
+ }
+ return longTermRetentionBackups;
+ }
+
+ /** @return Resource collection API of LongTermRetentionPolicies. */
+ public LongTermRetentionPolicies longTermRetentionPolicies() {
+ if (this.longTermRetentionPolicies == null) {
+ this.longTermRetentionPolicies =
+ new LongTermRetentionPoliciesImpl(clientObject.getLongTermRetentionPolicies(), this);
+ }
+ return longTermRetentionPolicies;
+ }
+
+ /** @return Resource collection API of PrivateEndpointConnections. */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections =
+ new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /**
+ * @return Wrapped service client SqlManagementClient providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ */
+ public SqlManagementClient serviceClient() {
+ return this.clientObject;
+ }
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/BackupShortTermRetentionPoliciesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/BackupShortTermRetentionPoliciesClient.java
new file mode 100644
index 0000000000000..b9ed9834b0642
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/BackupShortTermRetentionPoliciesClient.java
@@ -0,0 +1,278 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.BackupShortTermRetentionPolicyInner;
+import com.azure.resourcemanager.sql.generated.models.ShortTermRetentionPolicyName;
+
+/**
+ * An instance of this class provides access to all the operations defined in BackupShortTermRetentionPoliciesClient.
+ */
+public interface BackupShortTermRetentionPoliciesClient {
+ /**
+ * Gets a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be "default".
+ * @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 database's short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BackupShortTermRetentionPolicyInner get(
+ String resourceGroupName, String serverName, String databaseName, ShortTermRetentionPolicyName policyName);
+
+ /**
+ * Gets a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be "default".
+ * @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 database's short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ShortTermRetentionPolicyName policyName,
+ Context context);
+
+ /**
+ * Updates a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be "default".
+ * @param parameters The short term retention policy info.
+ * @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 short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, BackupShortTermRetentionPolicyInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ShortTermRetentionPolicyName policyName,
+ BackupShortTermRetentionPolicyInner parameters);
+
+ /**
+ * Updates a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be "default".
+ * @param parameters The short term retention policy info.
+ * @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 short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, BackupShortTermRetentionPolicyInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ShortTermRetentionPolicyName policyName,
+ BackupShortTermRetentionPolicyInner parameters,
+ Context context);
+
+ /**
+ * Updates a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be "default".
+ * @param parameters The short term retention policy info.
+ * @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 short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BackupShortTermRetentionPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ShortTermRetentionPolicyName policyName,
+ BackupShortTermRetentionPolicyInner parameters);
+
+ /**
+ * Updates a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be "default".
+ * @param parameters The short term retention policy info.
+ * @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 short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BackupShortTermRetentionPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ShortTermRetentionPolicyName policyName,
+ BackupShortTermRetentionPolicyInner parameters,
+ Context context);
+
+ /**
+ * Updates a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be "default".
+ * @param parameters The short term retention policy info.
+ * @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 short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, BackupShortTermRetentionPolicyInner> beginUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ShortTermRetentionPolicyName policyName,
+ BackupShortTermRetentionPolicyInner parameters);
+
+ /**
+ * Updates a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be "default".
+ * @param parameters The short term retention policy info.
+ * @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 short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, BackupShortTermRetentionPolicyInner> beginUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ShortTermRetentionPolicyName policyName,
+ BackupShortTermRetentionPolicyInner parameters,
+ Context context);
+
+ /**
+ * Updates a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be "default".
+ * @param parameters The short term retention policy info.
+ * @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 short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BackupShortTermRetentionPolicyInner update(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ShortTermRetentionPolicyName policyName,
+ BackupShortTermRetentionPolicyInner parameters);
+
+ /**
+ * Updates a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be "default".
+ * @param parameters The short term retention policy info.
+ * @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 short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ BackupShortTermRetentionPolicyInner update(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ShortTermRetentionPolicyName policyName,
+ BackupShortTermRetentionPolicyInner parameters,
+ Context context);
+
+ /**
+ * Gets a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database's short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets a database's short term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database's short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/CapabilitiesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/CapabilitiesClient.java
new file mode 100644
index 0000000000000..6bf4b18d0a3d5
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/CapabilitiesClient.java
@@ -0,0 +1,42 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.LocationCapabilitiesInner;
+import com.azure.resourcemanager.sql.generated.models.CapabilityGroup;
+
+/** An instance of this class provides access to all the operations defined in CapabilitiesClient. */
+public interface CapabilitiesClient {
+ /**
+ * Gets the subscription capabilities available for the specified location.
+ *
+ * @param locationName The location name whose capabilities are retrieved.
+ * @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 subscription capabilities available for the specified location.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LocationCapabilitiesInner listByLocation(String locationName);
+
+ /**
+ * Gets the subscription capabilities available for the specified location.
+ *
+ * @param locationName The location name whose capabilities are retrieved.
+ * @param include If specified, restricts the response to only include the selected item.
+ * @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 subscription capabilities available for the specified location.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response listByLocationWithResponse(
+ String locationName, CapabilityGroup include, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataMaskingPoliciesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataMaskingPoliciesClient.java
new file mode 100644
index 0000000000000..92445c9500760
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataMaskingPoliciesClient.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.sql.generated.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.sql.generated.fluent.models.DataMaskingPolicyInner;
+
+/** An instance of this class provides access to all the operations defined in DataMaskingPoliciesClient. */
+public interface DataMaskingPoliciesClient {
+ /**
+ * Creates or updates a database data masking policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters Parameters for creating or updating a data masking policy.
+ * @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 represents a database data masking policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataMaskingPolicyInner createOrUpdate(
+ String resourceGroupName, String serverName, String databaseName, DataMaskingPolicyInner parameters);
+
+ /**
+ * Creates or updates a database data masking policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters Parameters for creating or updating a data masking policy.
+ * @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 represents a database data masking policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ DataMaskingPolicyInner parameters,
+ Context context);
+
+ /**
+ * Gets a database data masking policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database data masking policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataMaskingPolicyInner get(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets a database data masking policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database data masking policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataMaskingRulesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataMaskingRulesClient.java
new file mode 100644
index 0000000000000..bcb930f2c7316
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataMaskingRulesClient.java
@@ -0,0 +1,94 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.DataMaskingRuleInner;
+
+/** An instance of this class provides access to all the operations defined in DataMaskingRulesClient. */
+public interface DataMaskingRulesClient {
+ /**
+ * Creates or updates a database data masking rule.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param dataMaskingRuleName The name of the data masking rule.
+ * @param parameters The required parameters for creating or updating a data masking rule.
+ * @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 represents a database data masking rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataMaskingRuleInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String dataMaskingRuleName,
+ DataMaskingRuleInner parameters);
+
+ /**
+ * Creates or updates a database data masking rule.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param dataMaskingRuleName The name of the data masking rule.
+ * @param parameters The required parameters for creating or updating a data masking rule.
+ * @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 represents a database data masking rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String dataMaskingRuleName,
+ DataMaskingRuleInner parameters,
+ Context context);
+
+ /**
+ * Gets a list of database data masking rules.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of database data masking rules.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets a list of database data masking rules.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of database data masking rules.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseAutomaticTuningsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseAutomaticTuningsClient.java
new file mode 100644
index 0000000000000..f5a7bedd72e30
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseAutomaticTuningsClient.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.sql.generated.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.sql.generated.fluent.models.DatabaseAutomaticTuningInner;
+
+/** An instance of this class provides access to all the operations defined in DatabaseAutomaticTuningsClient. */
+public interface DatabaseAutomaticTuningsClient {
+ /**
+ * Gets a database's automatic tuning.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database's automatic tuning.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAutomaticTuningInner get(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets a database's automatic tuning.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database's automatic tuning.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Update automatic tuning properties for target database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The requested automatic tuning resource state.
+ * @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 database-level Automatic Tuning.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAutomaticTuningInner update(
+ String resourceGroupName, String serverName, String databaseName, DatabaseAutomaticTuningInner parameters);
+
+ /**
+ * Update automatic tuning properties for target database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The requested automatic tuning resource state.
+ * @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 database-level Automatic Tuning.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ DatabaseAutomaticTuningInner parameters,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseBlobAuditingPoliciesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseBlobAuditingPoliciesClient.java
new file mode 100644
index 0000000000000..2e963196db63d
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseBlobAuditingPoliciesClient.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.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.DatabaseBlobAuditingPolicyInner;
+
+/** An instance of this class provides access to all the operations defined in DatabaseBlobAuditingPoliciesClient. */
+public interface DatabaseBlobAuditingPoliciesClient {
+ /**
+ * Gets a database's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database's blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseBlobAuditingPolicyInner get(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets a database's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database's blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Creates or updates a database's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The database blob auditing policy.
+ * @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 database blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseBlobAuditingPolicyInner createOrUpdate(
+ String resourceGroupName, String serverName, String databaseName, DatabaseBlobAuditingPolicyInner parameters);
+
+ /**
+ * Creates or updates a database's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The database blob auditing policy.
+ * @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 database blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ DatabaseBlobAuditingPolicyInner parameters,
+ Context context);
+
+ /**
+ * Lists auditing settings of a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of database auditing settings.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Lists auditing settings of a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of database auditing settings.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseOperationsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseOperationsClient.java
new file mode 100644
index 0000000000000..395ffaed5a486
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseOperationsClient.java
@@ -0,0 +1,82 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.DatabaseOperationInner;
+import java.util.UUID;
+
+/** An instance of this class provides access to all the operations defined in DatabaseOperationsClient. */
+public interface DatabaseOperationsClient {
+ /**
+ * Cancels the asynchronous operation on the database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param operationId The operation identifier.
+ * @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 cancel(String resourceGroupName, String serverName, String databaseName, UUID operationId);
+
+ /**
+ * Cancels the asynchronous operation on the database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param operationId The operation identifier.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response cancelWithResponse(
+ String resourceGroupName, String serverName, String databaseName, UUID operationId, Context context);
+
+ /**
+ * Gets a list of operations performed on the database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of operations performed on the database.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets a list of operations performed on the database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of operations performed on the database.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseThreatDetectionPoliciesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseThreatDetectionPoliciesClient.java
new file mode 100644
index 0000000000000..345dc36c5686a
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseThreatDetectionPoliciesClient.java
@@ -0,0 +1,103 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.DatabaseSecurityAlertPolicyInner;
+import com.azure.resourcemanager.sql.generated.models.SecurityAlertPolicyName;
+
+/** An instance of this class provides access to all the operations defined in DatabaseThreatDetectionPoliciesClient. */
+public interface DatabaseThreatDetectionPoliciesClient {
+ /**
+ * Gets a database's threat detection policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which database Threat Detection policy is defined.
+ * @param securityAlertPolicyName The name of the security alert policy.
+ * @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 database's threat detection policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseSecurityAlertPolicyInner get(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ SecurityAlertPolicyName securityAlertPolicyName);
+
+ /**
+ * Gets a database's threat detection policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which database Threat Detection policy is defined.
+ * @param securityAlertPolicyName The name of the security alert policy.
+ * @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 database's threat detection policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ SecurityAlertPolicyName securityAlertPolicyName,
+ Context context);
+
+ /**
+ * Creates or updates a database's threat detection policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which database Threat Detection policy is defined.
+ * @param securityAlertPolicyName The name of the security alert policy.
+ * @param parameters The database Threat Detection policy.
+ * @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 contains information about a database Threat Detection policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseSecurityAlertPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ SecurityAlertPolicyName securityAlertPolicyName,
+ DatabaseSecurityAlertPolicyInner parameters);
+
+ /**
+ * Creates or updates a database's threat detection policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which database Threat Detection policy is defined.
+ * @param securityAlertPolicyName The name of the security alert policy.
+ * @param parameters The database Threat Detection policy.
+ * @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 contains information about a database Threat Detection policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ SecurityAlertPolicyName securityAlertPolicyName,
+ DatabaseSecurityAlertPolicyInner parameters,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseUsagesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseUsagesClient.java
new file mode 100644
index 0000000000000..d409d9038613e
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseUsagesClient.java
@@ -0,0 +1,46 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.DatabaseUsageInner;
+
+/** An instance of this class provides access to all the operations defined in DatabaseUsagesClient. */
+public interface DatabaseUsagesClient {
+ /**
+ * Returns database usages.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list database metrics request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Returns database usages.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list database metrics request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentRuleBaselinesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentRuleBaselinesClient.java
new file mode 100644
index 0000000000000..1c6776cbc9743
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentRuleBaselinesClient.java
@@ -0,0 +1,178 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.DatabaseVulnerabilityAssessmentRuleBaselineInner;
+import com.azure.resourcemanager.sql.generated.models.VulnerabilityAssessmentName;
+import com.azure.resourcemanager.sql.generated.models.VulnerabilityAssessmentPolicyBaselineName;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DatabaseVulnerabilityAssessmentRuleBaselinesClient.
+ */
+public interface DatabaseVulnerabilityAssessmentRuleBaselinesClient {
+ /**
+ * Gets a database's vulnerability assessment rule baseline.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment rule baseline is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param ruleId The vulnerability assessment rule ID.
+ * @param baselineName The name of the vulnerability assessment rule baseline (default implies a baseline on a
+ * database level rule and master for server level rule).
+ * @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 database's vulnerability assessment rule baseline.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseVulnerabilityAssessmentRuleBaselineInner get(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String ruleId,
+ VulnerabilityAssessmentPolicyBaselineName baselineName);
+
+ /**
+ * Gets a database's vulnerability assessment rule baseline.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment rule baseline is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param ruleId The vulnerability assessment rule ID.
+ * @param baselineName The name of the vulnerability assessment rule baseline (default implies a baseline on a
+ * database level rule and master for server level rule).
+ * @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 database's vulnerability assessment rule baseline.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String ruleId,
+ VulnerabilityAssessmentPolicyBaselineName baselineName,
+ Context context);
+
+ /**
+ * Creates or updates a database's vulnerability assessment rule baseline.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment rule baseline is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param ruleId The vulnerability assessment rule ID.
+ * @param baselineName The name of the vulnerability assessment rule baseline (default implies a baseline on a
+ * database level rule and master for server level rule).
+ * @param parameters The requested rule baseline 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 a database vulnerability assessment rule baseline.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseVulnerabilityAssessmentRuleBaselineInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String ruleId,
+ VulnerabilityAssessmentPolicyBaselineName baselineName,
+ DatabaseVulnerabilityAssessmentRuleBaselineInner parameters);
+
+ /**
+ * Creates or updates a database's vulnerability assessment rule baseline.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment rule baseline is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param ruleId The vulnerability assessment rule ID.
+ * @param baselineName The name of the vulnerability assessment rule baseline (default implies a baseline on a
+ * database level rule and master for server level rule).
+ * @param parameters The requested rule baseline 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 a database vulnerability assessment rule baseline.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String ruleId,
+ VulnerabilityAssessmentPolicyBaselineName baselineName,
+ DatabaseVulnerabilityAssessmentRuleBaselineInner parameters,
+ Context context);
+
+ /**
+ * Removes the database's vulnerability assessment rule baseline.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment rule baseline is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param ruleId The vulnerability assessment rule ID.
+ * @param baselineName The name of the vulnerability assessment rule baseline (default implies a baseline on a
+ * database level rule and master for server level rule).
+ * @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 serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String ruleId,
+ VulnerabilityAssessmentPolicyBaselineName baselineName);
+
+ /**
+ * Removes the database's vulnerability assessment rule baseline.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment rule baseline is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param ruleId The vulnerability assessment rule ID.
+ * @param baselineName The name of the vulnerability assessment rule baseline (default implies a baseline on a
+ * database level rule and master for server level rule).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String ruleId,
+ VulnerabilityAssessmentPolicyBaselineName baselineName,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentScansClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentScansClient.java
new file mode 100644
index 0000000000000..3cfc3b5b3c6dc
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentScansClient.java
@@ -0,0 +1,246 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.DatabaseVulnerabilityAssessmentScansExportInner;
+import com.azure.resourcemanager.sql.generated.fluent.models.VulnerabilityAssessmentScanRecordInner;
+import com.azure.resourcemanager.sql.generated.models.VulnerabilityAssessmentName;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DatabaseVulnerabilityAssessmentScansClient.
+ */
+public interface DatabaseVulnerabilityAssessmentScansClient {
+ /**
+ * Lists the vulnerability assessment scans of a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of vulnerability assessment scan records.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName);
+
+ /**
+ * Lists the vulnerability assessment scans of a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of vulnerability assessment scan records.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ Context context);
+
+ /**
+ * Gets a vulnerability assessment scan record of a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param scanId The vulnerability assessment scan Id of the scan to retrieve.
+ * @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 vulnerability assessment scan record of a database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ VulnerabilityAssessmentScanRecordInner get(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String scanId);
+
+ /**
+ * Gets a vulnerability assessment scan record of a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param scanId The vulnerability assessment scan Id of the scan to retrieve.
+ * @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 vulnerability assessment scan record of a database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String scanId,
+ Context context);
+
+ /**
+ * Executes a Vulnerability Assessment database scan.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param scanId The vulnerability assessment scan Id of the scan to retrieve.
+ * @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> beginInitiateScan(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String scanId);
+
+ /**
+ * Executes a Vulnerability Assessment database scan.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param scanId The vulnerability assessment scan Id of the scan to retrieve.
+ * @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> beginInitiateScan(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String scanId,
+ Context context);
+
+ /**
+ * Executes a Vulnerability Assessment database scan.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param scanId The vulnerability assessment scan Id of the scan to retrieve.
+ * @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 initiateScan(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String scanId);
+
+ /**
+ * Executes a Vulnerability Assessment database scan.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param scanId The vulnerability assessment scan Id of the scan to retrieve.
+ * @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 initiateScan(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String scanId,
+ Context context);
+
+ /**
+ * Convert an existing scan result to a human readable format. If already exists nothing happens.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the scanned database.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param scanId The vulnerability assessment scan Id.
+ * @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 database Vulnerability Assessment scan export resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseVulnerabilityAssessmentScansExportInner export(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String scanId);
+
+ /**
+ * Convert an existing scan result to a human readable format. If already exists nothing happens.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the scanned database.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param scanId The vulnerability assessment scan Id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a database Vulnerability Assessment scan export resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response exportWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ String scanId,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentsClient.java
new file mode 100644
index 0000000000000..5a3265d701691
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentsClient.java
@@ -0,0 +1,180 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.DatabaseVulnerabilityAssessmentInner;
+import com.azure.resourcemanager.sql.generated.models.VulnerabilityAssessmentName;
+
+/**
+ * An instance of this class provides access to all the operations defined in DatabaseVulnerabilityAssessmentsClient.
+ */
+public interface DatabaseVulnerabilityAssessmentsClient {
+ /**
+ * Gets the database's vulnerability assessment.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @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 database's vulnerability assessment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseVulnerabilityAssessmentInner get(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName);
+
+ /**
+ * Gets the database's vulnerability assessment.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @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 database's vulnerability assessment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ Context context);
+
+ /**
+ * Creates or updates the database's vulnerability assessment.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param parameters The requested 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 a database vulnerability assessment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseVulnerabilityAssessmentInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ DatabaseVulnerabilityAssessmentInner parameters);
+
+ /**
+ * Creates or updates the database's vulnerability assessment.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param parameters The requested 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 a database vulnerability assessment.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ DatabaseVulnerabilityAssessmentInner parameters,
+ Context context);
+
+ /**
+ * Removes the database's vulnerability assessment.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @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 serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName);
+
+ /**
+ * Removes the database's vulnerability assessment.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment is defined.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ Context context);
+
+ /**
+ * Lists the vulnerability assessment policies associated with a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment policies are defined.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of the database's vulnerability assessments.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Lists the vulnerability assessment policies associated with a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database for which the vulnerability assessment policies are defined.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of the database's vulnerability assessments.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabasesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabasesClient.java
new file mode 100644
index 0000000000000..0d7fb193edbb5
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabasesClient.java
@@ -0,0 +1,800 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.DatabaseInner;
+import com.azure.resourcemanager.sql.generated.fluent.models.ImportExportOperationResultInner;
+import com.azure.resourcemanager.sql.generated.fluent.models.MetricDefinitionInner;
+import com.azure.resourcemanager.sql.generated.fluent.models.MetricInner;
+import com.azure.resourcemanager.sql.generated.models.DatabaseUpdate;
+import com.azure.resourcemanager.sql.generated.models.ExportDatabaseDefinition;
+import com.azure.resourcemanager.sql.generated.models.ReplicaType;
+import com.azure.resourcemanager.sql.generated.models.ResourceMoveDefinition;
+
+/** An instance of this class provides access to all the operations defined in DatabasesClient. */
+public interface DatabasesClient {
+ /**
+ * Returns database metrics.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param filter An OData filter expression that describes a subset of metrics to return.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list database metrics request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(
+ String resourceGroupName, String serverName, String databaseName, String filter);
+
+ /**
+ * Returns database metrics.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param filter An OData filter expression that describes a subset of metrics to return.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list database metrics request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(
+ String resourceGroupName, String serverName, String databaseName, String filter, Context context);
+
+ /**
+ * Returns database metric definitions.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list database metric definitions request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Returns database metric definitions.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list database metric definitions request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Exports a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The database export request parameters.
+ * @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 an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ImportExportOperationResultInner> beginExport(
+ String resourceGroupName, String serverName, String databaseName, ExportDatabaseDefinition parameters);
+
+ /**
+ * Exports a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The database export request parameters.
+ * @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 an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ImportExportOperationResultInner> beginExport(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ExportDatabaseDefinition parameters,
+ Context context);
+
+ /**
+ * Exports a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The database export request parameters.
+ * @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 an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImportExportOperationResultInner export(
+ String resourceGroupName, String serverName, String databaseName, ExportDatabaseDefinition parameters);
+
+ /**
+ * Exports a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The database export request parameters.
+ * @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 an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImportExportOperationResultInner export(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ExportDatabaseDefinition parameters,
+ Context context);
+
+ /**
+ * Gets a list of databases.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of databases.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName);
+
+ /**
+ * Gets a list of databases.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of databases.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName, Context context);
+
+ /**
+ * Gets a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner get(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Creates a new database or updates an existing database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The requested database resource state.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginCreateOrUpdate(
+ String resourceGroupName, String serverName, String databaseName, DatabaseInner parameters);
+
+ /**
+ * Creates a new database or updates an existing database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The requested database resource state.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginCreateOrUpdate(
+ String resourceGroupName, String serverName, String databaseName, DatabaseInner parameters, Context context);
+
+ /**
+ * Creates a new database or updates an existing database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The requested database resource state.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner createOrUpdate(
+ String resourceGroupName, String serverName, String databaseName, DatabaseInner parameters);
+
+ /**
+ * Creates a new database or updates an existing database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The requested database resource state.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner createOrUpdate(
+ String resourceGroupName, String serverName, String databaseName, DatabaseInner parameters, Context context);
+
+ /**
+ * Deletes the database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 serverName, String databaseName);
+
+ /**
+ * Deletes the database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 serverName, String databaseName, Context context);
+
+ /**
+ * Deletes the database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 serverName, String databaseName);
+
+ /**
+ * Deletes the database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 serverName, String databaseName, Context context);
+
+ /**
+ * Updates an existing database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The requested database resource state.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginUpdate(
+ String resourceGroupName, String serverName, String databaseName, DatabaseUpdate parameters);
+
+ /**
+ * Updates an existing database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The requested database resource state.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginUpdate(
+ String resourceGroupName, String serverName, String databaseName, DatabaseUpdate parameters, Context context);
+
+ /**
+ * Updates an existing database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The requested database resource state.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner update(String resourceGroupName, String serverName, String databaseName, DatabaseUpdate parameters);
+
+ /**
+ * Updates an existing database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The requested database resource state.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner update(
+ String resourceGroupName, String serverName, String databaseName, DatabaseUpdate parameters, Context context);
+
+ /**
+ * Gets a list of databases in an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 a list of databases in an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByElasticPool(String resourceGroupName, String serverName, String elasticPoolName);
+
+ /**
+ * Gets a list of databases in an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 a list of databases in an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByElasticPool(
+ String resourceGroupName, String serverName, String elasticPoolName, Context context);
+
+ /**
+ * Pauses a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be paused.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginPause(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Pauses a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be paused.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginPause(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Pauses a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be paused.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner pause(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Pauses a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be paused.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner pause(String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Resumes a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be resumed.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginResume(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Resumes a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be resumed.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, DatabaseInner> beginResume(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Resumes a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be resumed.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner resume(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Resumes a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be resumed.
+ * @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 database resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseInner resume(String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Failovers a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to failover.
+ * @param replicaType The type of replica to be failed over.
+ * @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> beginFailover(
+ String resourceGroupName, String serverName, String databaseName, ReplicaType replicaType);
+
+ /**
+ * Failovers a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to failover.
+ * @param replicaType The type of replica to be failed over.
+ * @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> beginFailover(
+ String resourceGroupName, String serverName, String databaseName, ReplicaType replicaType, Context context);
+
+ /**
+ * Failovers a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to failover.
+ * @param replicaType The type of replica to be failed over.
+ * @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 failover(String resourceGroupName, String serverName, String databaseName, ReplicaType replicaType);
+
+ /**
+ * Failovers a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to failover.
+ * @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 failover(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Failovers a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to failover.
+ * @param replicaType The type of replica to be failed over.
+ * @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 failover(
+ String resourceGroupName, String serverName, String databaseName, ReplicaType replicaType, Context context);
+
+ /**
+ * Gets a list of inaccessible databases in a logical server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of inaccessible databases in a logical server.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listInaccessibleByServer(String resourceGroupName, String serverName);
+
+ /**
+ * Gets a list of inaccessible databases in a logical server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of inaccessible databases in a logical server.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listInaccessibleByServer(String resourceGroupName, String serverName, Context context);
+
+ /**
+ * Upgrades a data warehouse.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be upgraded.
+ * @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> beginUpgradeDataWarehouse(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Upgrades a data warehouse.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be upgraded.
+ * @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> beginUpgradeDataWarehouse(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Upgrades a data warehouse.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be upgraded.
+ * @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 upgradeDataWarehouse(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Upgrades a data warehouse.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to be upgraded.
+ * @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 upgradeDataWarehouse(String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Renames a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to rename.
+ * @param parameters The resource move definition for renaming this database.
+ * @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 rename(String resourceGroupName, String serverName, String databaseName, ResourceMoveDefinition parameters);
+
+ /**
+ * Renames a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database to rename.
+ * @param parameters The resource move definition for renaming this database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response renameWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ResourceMoveDefinition parameters,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolActivitiesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolActivitiesClient.java
new file mode 100644
index 0000000000000..acee0633e1e37
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolActivitiesClient.java
@@ -0,0 +1,47 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.ElasticPoolActivityInner;
+
+/** An instance of this class provides access to all the operations defined in ElasticPoolActivitiesClient. */
+public interface ElasticPoolActivitiesClient {
+ /**
+ * Returns elastic pool activities.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool for which to get the current activity.
+ * @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 represents the response to a list elastic pool activity request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByElasticPool(
+ String resourceGroupName, String serverName, String elasticPoolName);
+
+ /**
+ * Returns elastic pool activities.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool for which to get the current activity.
+ * @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 represents the response to a list elastic pool activity request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByElasticPool(
+ String resourceGroupName, String serverName, String elasticPoolName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolDatabaseActivitiesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolDatabaseActivitiesClient.java
new file mode 100644
index 0000000000000..9c7d33d6e77b7
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolDatabaseActivitiesClient.java
@@ -0,0 +1,47 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.ElasticPoolDatabaseActivityInner;
+
+/** An instance of this class provides access to all the operations defined in ElasticPoolDatabaseActivitiesClient. */
+public interface ElasticPoolDatabaseActivitiesClient {
+ /**
+ * Returns activity on databases inside of an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 represents the response to a list elastic pool database activity request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByElasticPool(
+ String resourceGroupName, String serverName, String elasticPoolName);
+
+ /**
+ * Returns activity on databases inside of an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 represents the response to a list elastic pool database activity request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByElasticPool(
+ String resourceGroupName, String serverName, String elasticPoolName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolOperationsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolOperationsClient.java
new file mode 100644
index 0000000000000..e6bc24f2a58d7
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolOperationsClient.java
@@ -0,0 +1,82 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.ElasticPoolOperationInner;
+import java.util.UUID;
+
+/** An instance of this class provides access to all the operations defined in ElasticPoolOperationsClient. */
+public interface ElasticPoolOperationsClient {
+ /**
+ * Cancels the asynchronous operation on the elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The elasticPoolName parameter.
+ * @param operationId The operation identifier.
+ * @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 cancel(String resourceGroupName, String serverName, String elasticPoolName, UUID operationId);
+
+ /**
+ * Cancels the asynchronous operation on the elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The elasticPoolName parameter.
+ * @param operationId The operation identifier.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response cancelWithResponse(
+ String resourceGroupName, String serverName, String elasticPoolName, UUID operationId, Context context);
+
+ /**
+ * Gets a list of operations performed on the elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The elasticPoolName parameter.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of operations performed on the elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByElasticPool(
+ String resourceGroupName, String serverName, String elasticPoolName);
+
+ /**
+ * Gets a list of operations performed on the elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The elasticPoolName parameter.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of operations performed on the elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByElasticPool(
+ String resourceGroupName, String serverName, String elasticPoolName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolsClient.java
new file mode 100644
index 0000000000000..a3b2f4cbed0d3
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolsClient.java
@@ -0,0 +1,430 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.ElasticPoolInner;
+import com.azure.resourcemanager.sql.generated.fluent.models.MetricDefinitionInner;
+import com.azure.resourcemanager.sql.generated.fluent.models.MetricInner;
+import com.azure.resourcemanager.sql.generated.models.ElasticPoolUpdate;
+
+/** An instance of this class provides access to all the operations defined in ElasticPoolsClient. */
+public interface ElasticPoolsClient {
+ /**
+ * Returns elastic pool metrics.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool.
+ * @param filter An OData filter expression that describes a subset of metrics to return.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list database metrics request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(
+ String resourceGroupName, String serverName, String elasticPoolName, String filter);
+
+ /**
+ * Returns elastic pool metrics.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool.
+ * @param filter An OData filter expression that describes a subset of metrics to return.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list database metrics request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetrics(
+ String resourceGroupName, String serverName, String elasticPoolName, String filter, Context context);
+
+ /**
+ * Returns elastic pool metric definitions.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 response to a list database metric definitions request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(
+ String resourceGroupName, String serverName, String elasticPoolName);
+
+ /**
+ * Returns elastic pool metric definitions.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 response to a list database metric definitions request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(
+ String resourceGroupName, String serverName, String elasticPoolName, Context context);
+
+ /**
+ * Gets all elastic pools in a server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @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 elastic pools in a server.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName);
+
+ /**
+ * Gets all elastic pools in a server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param skip The number of elements in the collection to skip.
+ * @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 elastic pools in a server.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(
+ String resourceGroupName, String serverName, Integer skip, Context context);
+
+ /**
+ * Gets an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ElasticPoolInner get(String resourceGroupName, String serverName, String elasticPoolName);
+
+ /**
+ * Gets an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String elasticPoolName, Context context);
+
+ /**
+ * Creates or updates an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool.
+ * @param parameters The elastic pool parameters.
+ * @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 an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ElasticPoolInner> beginCreateOrUpdate(
+ String resourceGroupName, String serverName, String elasticPoolName, ElasticPoolInner parameters);
+
+ /**
+ * Creates or updates an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool.
+ * @param parameters The elastic pool parameters.
+ * @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 an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ElasticPoolInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String elasticPoolName,
+ ElasticPoolInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool.
+ * @param parameters The elastic pool parameters.
+ * @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 an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ElasticPoolInner createOrUpdate(
+ String resourceGroupName, String serverName, String elasticPoolName, ElasticPoolInner parameters);
+
+ /**
+ * Creates or updates an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool.
+ * @param parameters The elastic pool parameters.
+ * @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 an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ElasticPoolInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String elasticPoolName,
+ ElasticPoolInner parameters,
+ Context context);
+
+ /**
+ * Deletes an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 serverName, String elasticPoolName);
+
+ /**
+ * Deletes an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 serverName, String elasticPoolName, Context context);
+
+ /**
+ * Deletes an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 serverName, String elasticPoolName);
+
+ /**
+ * Deletes an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic 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 serverName, String elasticPoolName, Context context);
+
+ /**
+ * Updates an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool.
+ * @param parameters The elastic pool update parameters.
+ * @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 an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ElasticPoolInner> beginUpdate(
+ String resourceGroupName, String serverName, String elasticPoolName, ElasticPoolUpdate parameters);
+
+ /**
+ * Updates an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool.
+ * @param parameters The elastic pool update parameters.
+ * @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 an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ElasticPoolInner> beginUpdate(
+ String resourceGroupName,
+ String serverName,
+ String elasticPoolName,
+ ElasticPoolUpdate parameters,
+ Context context);
+
+ /**
+ * Updates an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool.
+ * @param parameters The elastic pool update parameters.
+ * @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 an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ElasticPoolInner update(
+ String resourceGroupName, String serverName, String elasticPoolName, ElasticPoolUpdate parameters);
+
+ /**
+ * Updates an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool.
+ * @param parameters The elastic pool update parameters.
+ * @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 an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ElasticPoolInner update(
+ String resourceGroupName,
+ String serverName,
+ String elasticPoolName,
+ ElasticPoolUpdate parameters,
+ Context context);
+
+ /**
+ * Failovers an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool to failover.
+ * @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> beginFailover(
+ String resourceGroupName, String serverName, String elasticPoolName);
+
+ /**
+ * Failovers an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool to failover.
+ * @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> beginFailover(
+ String resourceGroupName, String serverName, String elasticPoolName, Context context);
+
+ /**
+ * Failovers an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool to failover.
+ * @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 failover(String resourceGroupName, String serverName, String elasticPoolName);
+
+ /**
+ * Failovers an elastic pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param elasticPoolName The name of the elastic pool to failover.
+ * @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 failover(String resourceGroupName, String serverName, String elasticPoolName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/EncryptionProtectorsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/EncryptionProtectorsClient.java
new file mode 100644
index 0000000000000..8d6f33007cd0c
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/EncryptionProtectorsClient.java
@@ -0,0 +1,227 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.EncryptionProtectorInner;
+import com.azure.resourcemanager.sql.generated.models.EncryptionProtectorName;
+
+/** An instance of this class provides access to all the operations defined in EncryptionProtectorsClient. */
+public interface EncryptionProtectorsClient {
+ /**
+ * Revalidates an existing encryption protector.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param encryptionProtectorName The name of the encryption protector to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRevalidate(
+ String resourceGroupName, String serverName, EncryptionProtectorName encryptionProtectorName);
+
+ /**
+ * Revalidates an existing encryption protector.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param encryptionProtectorName The name of the encryption protector to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginRevalidate(
+ String resourceGroupName, String serverName, EncryptionProtectorName encryptionProtectorName, Context context);
+
+ /**
+ * Revalidates an existing encryption protector.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param encryptionProtectorName The name of the encryption protector to be updated.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void revalidate(String resourceGroupName, String serverName, EncryptionProtectorName encryptionProtectorName);
+
+ /**
+ * Revalidates an existing encryption protector.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param encryptionProtectorName The name of the encryption protector to be updated.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void revalidate(
+ String resourceGroupName, String serverName, EncryptionProtectorName encryptionProtectorName, Context context);
+
+ /**
+ * Gets a list of server encryption protectors.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of server encryption protectors.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName);
+
+ /**
+ * Gets a list of server encryption protectors.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of server encryption protectors.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName, Context context);
+
+ /**
+ * Gets a server encryption protector.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param encryptionProtectorName The name of the encryption protector to be retrieved.
+ * @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 server encryption protector.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EncryptionProtectorInner get(
+ String resourceGroupName, String serverName, EncryptionProtectorName encryptionProtectorName);
+
+ /**
+ * Gets a server encryption protector.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param encryptionProtectorName The name of the encryption protector to be retrieved.
+ * @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 server encryption protector.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, EncryptionProtectorName encryptionProtectorName, Context context);
+
+ /**
+ * Updates an existing encryption protector.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param encryptionProtectorName The name of the encryption protector to be updated.
+ * @param parameters The requested encryption protector resource state.
+ * @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 server encryption protector.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, EncryptionProtectorInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ EncryptionProtectorName encryptionProtectorName,
+ EncryptionProtectorInner parameters);
+
+ /**
+ * Updates an existing encryption protector.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param encryptionProtectorName The name of the encryption protector to be updated.
+ * @param parameters The requested encryption protector resource state.
+ * @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 server encryption protector.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, EncryptionProtectorInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ EncryptionProtectorName encryptionProtectorName,
+ EncryptionProtectorInner parameters,
+ Context context);
+
+ /**
+ * Updates an existing encryption protector.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param encryptionProtectorName The name of the encryption protector to be updated.
+ * @param parameters The requested encryption protector resource state.
+ * @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 server encryption protector.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EncryptionProtectorInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ EncryptionProtectorName encryptionProtectorName,
+ EncryptionProtectorInner parameters);
+
+ /**
+ * Updates an existing encryption protector.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param encryptionProtectorName The name of the encryption protector to be updated.
+ * @param parameters The requested encryption protector resource state.
+ * @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 server encryption protector.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EncryptionProtectorInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ EncryptionProtectorName encryptionProtectorName,
+ EncryptionProtectorInner parameters,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ExtendedDatabaseBlobAuditingPoliciesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ExtendedDatabaseBlobAuditingPoliciesClient.java
new file mode 100644
index 0000000000000..a100051d1f8b3
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ExtendedDatabaseBlobAuditingPoliciesClient.java
@@ -0,0 +1,125 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.ExtendedDatabaseBlobAuditingPolicyInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * ExtendedDatabaseBlobAuditingPoliciesClient.
+ */
+public interface ExtendedDatabaseBlobAuditingPoliciesClient {
+ /**
+ * Gets an extended database's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 an extended database's blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtendedDatabaseBlobAuditingPolicyInner get(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets an extended database's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 an extended database's blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+
+ /**
+ * Creates or updates an extended database's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The extended database blob auditing policy.
+ * @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 an extended database blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtendedDatabaseBlobAuditingPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ExtendedDatabaseBlobAuditingPolicyInner parameters);
+
+ /**
+ * Creates or updates an extended database's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The extended database blob auditing policy.
+ * @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 an extended database blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ExtendedDatabaseBlobAuditingPolicyInner parameters,
+ Context context);
+
+ /**
+ * Lists extended auditing settings of a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of database extended auditing settings.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Lists extended auditing settings of a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of database extended auditing settings.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ExtendedServerBlobAuditingPoliciesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ExtendedServerBlobAuditingPoliciesClient.java
new file mode 100644
index 0000000000000..4e757ce042233
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ExtendedServerBlobAuditingPoliciesClient.java
@@ -0,0 +1,150 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.ExtendedServerBlobAuditingPolicyInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ExtendedServerBlobAuditingPoliciesClient.
+ */
+public interface ExtendedServerBlobAuditingPoliciesClient {
+ /**
+ * Gets an extended server's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @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 an extended server's blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtendedServerBlobAuditingPolicyInner get(String resourceGroupName, String serverName);
+
+ /**
+ * Gets an extended server's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @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 an extended server's blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, Context context);
+
+ /**
+ * Creates or updates an extended server's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param parameters Properties of extended blob auditing policy.
+ * @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 an extended server blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExtendedServerBlobAuditingPolicyInner>
+ beginCreateOrUpdate(
+ String resourceGroupName, String serverName, ExtendedServerBlobAuditingPolicyInner parameters);
+
+ /**
+ * Creates or updates an extended server's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param parameters Properties of extended blob auditing policy.
+ * @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 an extended server blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ExtendedServerBlobAuditingPolicyInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ ExtendedServerBlobAuditingPolicyInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates an extended server's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param parameters Properties of extended blob auditing policy.
+ * @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 an extended server blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtendedServerBlobAuditingPolicyInner createOrUpdate(
+ String resourceGroupName, String serverName, ExtendedServerBlobAuditingPolicyInner parameters);
+
+ /**
+ * Creates or updates an extended server's blob auditing policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param parameters Properties of extended blob auditing policy.
+ * @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 an extended server blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ExtendedServerBlobAuditingPolicyInner createOrUpdate(
+ String resourceGroupName, String serverName, ExtendedServerBlobAuditingPolicyInner parameters, Context context);
+
+ /**
+ * Lists extended auditing settings of a server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of server extended auditing settings.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName);
+
+ /**
+ * Lists extended auditing settings of a server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of server extended auditing settings.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(
+ String resourceGroupName, String serverName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/FailoverGroupsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/FailoverGroupsClient.java
new file mode 100644
index 0000000000000..1c5e656ba3f2b
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/FailoverGroupsClient.java
@@ -0,0 +1,427 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.FailoverGroupInner;
+import com.azure.resourcemanager.sql.generated.models.FailoverGroupUpdate;
+
+/** An instance of this class provides access to all the operations defined in FailoverGroupsClient. */
+public interface FailoverGroupsClient {
+ /**
+ * Gets a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailoverGroupInner get(String resourceGroupName, String serverName, String failoverGroupName);
+
+ /**
+ * Gets a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String failoverGroupName, Context context);
+
+ /**
+ * Creates or updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FailoverGroupInner> beginCreateOrUpdate(
+ String resourceGroupName, String serverName, String failoverGroupName, FailoverGroupInner parameters);
+
+ /**
+ * Creates or updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FailoverGroupInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String failoverGroupName,
+ FailoverGroupInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailoverGroupInner createOrUpdate(
+ String resourceGroupName, String serverName, String failoverGroupName, FailoverGroupInner parameters);
+
+ /**
+ * Creates or updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailoverGroupInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String failoverGroupName,
+ FailoverGroupInner parameters,
+ Context context);
+
+ /**
+ * Deletes a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String serverName, String failoverGroupName);
+
+ /**
+ * Deletes a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String serverName, String failoverGroupName, Context context);
+
+ /**
+ * Deletes a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String serverName, String failoverGroupName);
+
+ /**
+ * Deletes a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String serverName, String failoverGroupName, Context context);
+
+ /**
+ * Updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FailoverGroupInner> beginUpdate(
+ String resourceGroupName, String serverName, String failoverGroupName, FailoverGroupUpdate parameters);
+
+ /**
+ * Updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FailoverGroupInner> beginUpdate(
+ String resourceGroupName,
+ String serverName,
+ String failoverGroupName,
+ FailoverGroupUpdate parameters,
+ Context context);
+
+ /**
+ * Updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailoverGroupInner update(
+ String resourceGroupName, String serverName, String failoverGroupName, FailoverGroupUpdate parameters);
+
+ /**
+ * Updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailoverGroupInner update(
+ String resourceGroupName,
+ String serverName,
+ String failoverGroupName,
+ FailoverGroupUpdate parameters,
+ Context context);
+
+ /**
+ * Lists the failover groups in a server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of failover groups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName);
+
+ /**
+ * Lists the failover groups in a server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of failover groups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName, Context context);
+
+ /**
+ * Fails over from the current primary server to this server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FailoverGroupInner> beginFailover(
+ String resourceGroupName, String serverName, String failoverGroupName);
+
+ /**
+ * Fails over from the current primary server to this server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FailoverGroupInner> beginFailover(
+ String resourceGroupName, String serverName, String failoverGroupName, Context context);
+
+ /**
+ * Fails over from the current primary server to this server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailoverGroupInner failover(String resourceGroupName, String serverName, String failoverGroupName);
+
+ /**
+ * Fails over from the current primary server to this server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailoverGroupInner failover(String resourceGroupName, String serverName, String failoverGroupName, Context context);
+
+ /**
+ * Fails over from the current primary server to this server. This operation might result in data loss.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FailoverGroupInner> beginForceFailoverAllowDataLoss(
+ String resourceGroupName, String serverName, String failoverGroupName);
+
+ /**
+ * Fails over from the current primary server to this server. This operation might result in data loss.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, FailoverGroupInner> beginForceFailoverAllowDataLoss(
+ String resourceGroupName, String serverName, String failoverGroupName, Context context);
+
+ /**
+ * Fails over from the current primary server to this server. This operation might result in data loss.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailoverGroupInner forceFailoverAllowDataLoss(
+ String resourceGroupName, String serverName, String failoverGroupName);
+
+ /**
+ * Fails over from the current primary server to this server. This operation might result in data loss.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server containing the failover group.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FailoverGroupInner forceFailoverAllowDataLoss(
+ String resourceGroupName, String serverName, String failoverGroupName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/FirewallRulesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/FirewallRulesClient.java
new file mode 100644
index 0000000000000..ef77edc3c372f
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/FirewallRulesClient.java
@@ -0,0 +1,146 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.FirewallRuleInner;
+
+/** An instance of this class provides access to all the operations defined in FirewallRulesClient. */
+public interface FirewallRulesClient {
+ /**
+ * Creates or updates a firewall rule.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param firewallRuleName The name of the firewall rule.
+ * @param parameters The required parameters for creating or updating a firewall rule.
+ * @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 represents a server firewall rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FirewallRuleInner createOrUpdate(
+ String resourceGroupName, String serverName, String firewallRuleName, FirewallRuleInner parameters);
+
+ /**
+ * Creates or updates a firewall rule.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param firewallRuleName The name of the firewall rule.
+ * @param parameters The required parameters for creating or updating a firewall rule.
+ * @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 represents a server firewall rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String firewallRuleName,
+ FirewallRuleInner parameters,
+ Context context);
+
+ /**
+ * Deletes a firewall rule.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param firewallRuleName The name of the firewall rule.
+ * @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 serverName, String firewallRuleName);
+
+ /**
+ * Deletes a firewall rule.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param firewallRuleName The name of the firewall rule.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String serverName, String firewallRuleName, Context context);
+
+ /**
+ * Gets a firewall rule.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param firewallRuleName The name of the firewall rule.
+ * @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 firewall rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FirewallRuleInner get(String resourceGroupName, String serverName, String firewallRuleName);
+
+ /**
+ * Gets a firewall rule.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param firewallRuleName The name of the firewall rule.
+ * @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 firewall rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String firewallRuleName, Context context);
+
+ /**
+ * Returns a list of firewall rules.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @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 represents the response to a List Firewall Rules request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName);
+
+ /**
+ * Returns a list of firewall rules.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @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 represents the response to a List Firewall Rules request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/GeoBackupPoliciesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/GeoBackupPoliciesClient.java
new file mode 100644
index 0000000000000..abe8572107c1a
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/GeoBackupPoliciesClient.java
@@ -0,0 +1,134 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.GeoBackupPolicyInner;
+import com.azure.resourcemanager.sql.generated.models.GeoBackupPolicyName;
+
+/** An instance of this class provides access to all the operations defined in GeoBackupPoliciesClient. */
+public interface GeoBackupPoliciesClient {
+ /**
+ * Updates a database geo backup policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param geoBackupPolicyName The name of the geo backup policy.
+ * @param parameters The required parameters for creating or updating the geo backup policy.
+ * @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 database geo backup policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GeoBackupPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ GeoBackupPolicyName geoBackupPolicyName,
+ GeoBackupPolicyInner parameters);
+
+ /**
+ * Updates a database geo backup policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param geoBackupPolicyName The name of the geo backup policy.
+ * @param parameters The required parameters for creating or updating the geo backup policy.
+ * @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 database geo backup policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ GeoBackupPolicyName geoBackupPolicyName,
+ GeoBackupPolicyInner parameters,
+ Context context);
+
+ /**
+ * Gets a geo backup policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param geoBackupPolicyName The name of the geo backup policy.
+ * @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 geo backup policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ GeoBackupPolicyInner get(
+ String resourceGroupName, String serverName, String databaseName, GeoBackupPolicyName geoBackupPolicyName);
+
+ /**
+ * Gets a geo backup policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param geoBackupPolicyName The name of the geo backup policy.
+ * @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 geo backup policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ GeoBackupPolicyName geoBackupPolicyName,
+ Context context);
+
+ /**
+ * Returns a list of geo backup policies.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list geo backup policies request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Returns a list of geo backup policies.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response to a list geo backup policies request.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ImportExportsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ImportExportsClient.java
new file mode 100644
index 0000000000000..0009bd6b65325
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ImportExportsClient.java
@@ -0,0 +1,94 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.sql.generated.fluent.models.ImportExportOperationResultInner;
+import com.azure.resourcemanager.sql.generated.models.ImportExistingDatabaseDefinition;
+
+/** An instance of this class provides access to all the operations defined in ImportExportsClient. */
+public interface ImportExportsClient {
+ /**
+ * Imports a bacpac into a new database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The database import request parameters.
+ * @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 an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ImportExportOperationResultInner> beginImportMethod(
+ String resourceGroupName, String serverName, String databaseName, ImportExistingDatabaseDefinition parameters);
+
+ /**
+ * Imports a bacpac into a new database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The database import request parameters.
+ * @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 an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, ImportExportOperationResultInner> beginImportMethod(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ImportExistingDatabaseDefinition parameters,
+ Context context);
+
+ /**
+ * Imports a bacpac into a new database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The database import request parameters.
+ * @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 an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImportExportOperationResultInner importMethod(
+ String resourceGroupName, String serverName, String databaseName, ImportExistingDatabaseDefinition parameters);
+
+ /**
+ * Imports a bacpac into a new database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param parameters The database import request parameters.
+ * @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 an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImportExportOperationResultInner importMethod(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ImportExistingDatabaseDefinition parameters,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/InstanceFailoverGroupsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/InstanceFailoverGroupsClient.java
new file mode 100644
index 0000000000000..3fff6a86ce3f9
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/InstanceFailoverGroupsClient.java
@@ -0,0 +1,354 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.InstanceFailoverGroupInner;
+
+/** An instance of this class provides access to all the operations defined in InstanceFailoverGroupsClient. */
+public interface InstanceFailoverGroupsClient {
+ /**
+ * Gets a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstanceFailoverGroupInner get(String resourceGroupName, String locationName, String failoverGroupName);
+
+ /**
+ * Gets a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String locationName, String failoverGroupName, Context context);
+
+ /**
+ * Creates or updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, InstanceFailoverGroupInner> beginCreateOrUpdate(
+ String resourceGroupName, String locationName, String failoverGroupName, InstanceFailoverGroupInner parameters);
+
+ /**
+ * Creates or updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, InstanceFailoverGroupInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String locationName,
+ String failoverGroupName,
+ InstanceFailoverGroupInner parameters,
+ Context context);
+
+ /**
+ * Creates or updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstanceFailoverGroupInner createOrUpdate(
+ String resourceGroupName, String locationName, String failoverGroupName, InstanceFailoverGroupInner parameters);
+
+ /**
+ * Creates or updates a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param parameters The failover group parameters.
+ * @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 an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstanceFailoverGroupInner createOrUpdate(
+ String resourceGroupName,
+ String locationName,
+ String failoverGroupName,
+ InstanceFailoverGroupInner parameters,
+ Context context);
+
+ /**
+ * Deletes a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String locationName, String failoverGroupName);
+
+ /**
+ * Deletes a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String locationName, String failoverGroupName, Context context);
+
+ /**
+ * Deletes a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String locationName, String failoverGroupName);
+
+ /**
+ * Deletes a failover group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String locationName, String failoverGroupName, Context context);
+
+ /**
+ * Lists the failover groups in a location.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of instance failover groups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String resourceGroupName, String locationName);
+
+ /**
+ * Lists the failover groups in a location.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of instance failover groups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(
+ String resourceGroupName, String locationName, Context context);
+
+ /**
+ * Fails over from the current primary managed instance to this managed instance.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, InstanceFailoverGroupInner> beginFailover(
+ String resourceGroupName, String locationName, String failoverGroupName);
+
+ /**
+ * Fails over from the current primary managed instance to this managed instance.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, InstanceFailoverGroupInner> beginFailover(
+ String resourceGroupName, String locationName, String failoverGroupName, Context context);
+
+ /**
+ * Fails over from the current primary managed instance to this managed instance.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstanceFailoverGroupInner failover(String resourceGroupName, String locationName, String failoverGroupName);
+
+ /**
+ * Fails over from the current primary managed instance to this managed instance.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstanceFailoverGroupInner failover(
+ String resourceGroupName, String locationName, String failoverGroupName, Context context);
+
+ /**
+ * Fails over from the current primary managed instance to this managed instance. This operation might result in
+ * data loss.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, InstanceFailoverGroupInner> beginForceFailoverAllowDataLoss(
+ String resourceGroupName, String locationName, String failoverGroupName);
+
+ /**
+ * Fails over from the current primary managed instance to this managed instance. This operation might result in
+ * data loss.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, InstanceFailoverGroupInner> beginForceFailoverAllowDataLoss(
+ String resourceGroupName, String locationName, String failoverGroupName, Context context);
+
+ /**
+ * Fails over from the current primary managed instance to this managed instance. This operation might result in
+ * data loss.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstanceFailoverGroupInner forceFailoverAllowDataLoss(
+ String resourceGroupName, String locationName, String failoverGroupName);
+
+ /**
+ * Fails over from the current primary managed instance to this managed instance. This operation might result in
+ * data loss.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The name of the region where the resource is located.
+ * @param failoverGroupName The name of the failover group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstanceFailoverGroupInner forceFailoverAllowDataLoss(
+ String resourceGroupName, String locationName, String failoverGroupName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/InstancePoolsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/InstancePoolsClient.java
new file mode 100644
index 0000000000000..48255d4c828c9
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/InstancePoolsClient.java
@@ -0,0 +1,283 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.InstancePoolInner;
+import com.azure.resourcemanager.sql.generated.models.InstancePoolUpdate;
+
+/** An instance of this class provides access to all the operations defined in InstancePoolsClient. */
+public interface InstancePoolsClient {
+ /**
+ * Gets an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be retrieved.
+ * @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 an instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstancePoolInner getByResourceGroup(String resourceGroupName, String instancePoolName);
+
+ /**
+ * Gets an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be retrieved.
+ * @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 an instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName, String instancePoolName, Context context);
+
+ /**
+ * Creates or updates an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be created or updated.
+ * @param parameters The requested instance pool resource state.
+ * @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 an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, InstancePoolInner> beginCreateOrUpdate(
+ String resourceGroupName, String instancePoolName, InstancePoolInner parameters);
+
+ /**
+ * Creates or updates an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be created or updated.
+ * @param parameters The requested instance pool resource state.
+ * @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 an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, InstancePoolInner> beginCreateOrUpdate(
+ String resourceGroupName, String instancePoolName, InstancePoolInner parameters, Context context);
+
+ /**
+ * Creates or updates an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be created or updated.
+ * @param parameters The requested instance pool resource state.
+ * @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 an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstancePoolInner createOrUpdate(String resourceGroupName, String instancePoolName, InstancePoolInner parameters);
+
+ /**
+ * Creates or updates an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be created or updated.
+ * @param parameters The requested instance pool resource state.
+ * @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 an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstancePoolInner createOrUpdate(
+ String resourceGroupName, String instancePoolName, InstancePoolInner parameters, Context context);
+
+ /**
+ * Deletes an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be deleted.
+ * @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 instancePoolName);
+
+ /**
+ * Deletes an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be deleted.
+ * @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 instancePoolName, Context context);
+
+ /**
+ * Deletes an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be deleted.
+ * @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 instancePoolName);
+
+ /**
+ * Deletes an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be deleted.
+ * @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 instancePoolName, Context context);
+
+ /**
+ * Updates an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be updated.
+ * @param parameters The requested instance pool resource state.
+ * @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 an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, InstancePoolInner> beginUpdate(
+ String resourceGroupName, String instancePoolName, InstancePoolUpdate parameters);
+
+ /**
+ * Updates an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be updated.
+ * @param parameters The requested instance pool resource state.
+ * @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 an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, InstancePoolInner> beginUpdate(
+ String resourceGroupName, String instancePoolName, InstancePoolUpdate parameters, Context context);
+
+ /**
+ * Updates an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be updated.
+ * @param parameters The requested instance pool resource state.
+ * @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 an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstancePoolInner update(String resourceGroupName, String instancePoolName, InstancePoolUpdate parameters);
+
+ /**
+ * Updates an instance pool.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param instancePoolName The name of the instance pool to be updated.
+ * @param parameters The requested instance pool resource state.
+ * @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 an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ InstancePoolInner update(
+ String resourceGroupName, String instancePoolName, InstancePoolUpdate parameters, Context context);
+
+ /**
+ * Gets a list of instance pools in the resource group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of instance pools in the resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName);
+
+ /**
+ * Gets a list of instance pools in the resource group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of instance pools in the resource group.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroup(String resourceGroupName, Context context);
+
+ /**
+ * Gets a list of all instance pools in the subscription.
+ *
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all instance pools in the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of all instance pools in the subscription.
+ *
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of all instance pools in the subscription.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobAgentsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobAgentsClient.java
new file mode 100644
index 0000000000000..e55c713ffbee6
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobAgentsClient.java
@@ -0,0 +1,279 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.JobAgentInner;
+import com.azure.resourcemanager.sql.generated.models.JobAgentUpdate;
+
+/** An instance of this class provides access to all the operations defined in JobAgentsClient. */
+public interface JobAgentsClient {
+ /**
+ * Gets a list of job agents in a server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job agents in a server.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName);
+
+ /**
+ * Gets a list of job agents in a server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job agents in a server.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName, Context context);
+
+ /**
+ * Gets a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be retrieved.
+ * @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 job agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobAgentInner get(String resourceGroupName, String serverName, String jobAgentName);
+
+ /**
+ * Gets a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be retrieved.
+ * @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 job agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String jobAgentName, Context context);
+
+ /**
+ * Creates or updates a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be created or updated.
+ * @param parameters The requested job agent resource state.
+ * @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 an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobAgentInner> beginCreateOrUpdate(
+ String resourceGroupName, String serverName, String jobAgentName, JobAgentInner parameters);
+
+ /**
+ * Creates or updates a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be created or updated.
+ * @param parameters The requested job agent resource state.
+ * @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 an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobAgentInner> beginCreateOrUpdate(
+ String resourceGroupName, String serverName, String jobAgentName, JobAgentInner parameters, Context context);
+
+ /**
+ * Creates or updates a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be created or updated.
+ * @param parameters The requested job agent resource state.
+ * @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 an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobAgentInner createOrUpdate(
+ String resourceGroupName, String serverName, String jobAgentName, JobAgentInner parameters);
+
+ /**
+ * Creates or updates a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be created or updated.
+ * @param parameters The requested job agent resource state.
+ * @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 an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobAgentInner createOrUpdate(
+ String resourceGroupName, String serverName, String jobAgentName, JobAgentInner parameters, Context context);
+
+ /**
+ * Deletes a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be deleted.
+ * @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 serverName, String jobAgentName);
+
+ /**
+ * Deletes a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be deleted.
+ * @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 serverName, String jobAgentName, Context context);
+
+ /**
+ * Deletes a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be deleted.
+ * @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 serverName, String jobAgentName);
+
+ /**
+ * Deletes a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be deleted.
+ * @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 serverName, String jobAgentName, Context context);
+
+ /**
+ * Updates a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be updated.
+ * @param parameters The update to the job agent.
+ * @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 an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobAgentInner> beginUpdate(
+ String resourceGroupName, String serverName, String jobAgentName, JobAgentUpdate parameters);
+
+ /**
+ * Updates a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be updated.
+ * @param parameters The update to the job agent.
+ * @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 an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobAgentInner> beginUpdate(
+ String resourceGroupName, String serverName, String jobAgentName, JobAgentUpdate parameters, Context context);
+
+ /**
+ * Updates a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be updated.
+ * @param parameters The update to the job agent.
+ * @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 an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobAgentInner update(String resourceGroupName, String serverName, String jobAgentName, JobAgentUpdate parameters);
+
+ /**
+ * Updates a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent to be updated.
+ * @param parameters The update to the job agent.
+ * @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 an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobAgentInner update(
+ String resourceGroupName, String serverName, String jobAgentName, JobAgentUpdate parameters, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobCredentialsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobCredentialsClient.java
new file mode 100644
index 0000000000000..95558b0913cad
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobCredentialsClient.java
@@ -0,0 +1,160 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.JobCredentialInner;
+
+/** An instance of this class provides access to all the operations defined in JobCredentialsClient. */
+public interface JobCredentialsClient {
+ /**
+ * Gets a list of jobs credentials.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of jobs credentials.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAgent(String resourceGroupName, String serverName, String jobAgentName);
+
+ /**
+ * Gets a list of jobs credentials.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of jobs credentials.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAgent(
+ String resourceGroupName, String serverName, String jobAgentName, Context context);
+
+ /**
+ * Gets a jobs credential.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param credentialName The name of the credential.
+ * @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 jobs credential.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobCredentialInner get(String resourceGroupName, String serverName, String jobAgentName, String credentialName);
+
+ /**
+ * Gets a jobs credential.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param credentialName The name of the credential.
+ * @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 jobs credential.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String jobAgentName, String credentialName, Context context);
+
+ /**
+ * Creates or updates a job credential.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param credentialName The name of the credential.
+ * @param parameters The requested job credential state.
+ * @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 stored credential that can be used by a job to connect to target databases.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobCredentialInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String credentialName,
+ JobCredentialInner parameters);
+
+ /**
+ * Creates or updates a job credential.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param credentialName The name of the credential.
+ * @param parameters The requested job credential state.
+ * @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 stored credential that can be used by a job to connect to target databases.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String credentialName,
+ JobCredentialInner parameters,
+ Context context);
+
+ /**
+ * Deletes a job credential.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param credentialName The name of the credential.
+ * @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 serverName, String jobAgentName, String credentialName);
+
+ /**
+ * Deletes a job credential.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param credentialName The name of the credential.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String serverName, String jobAgentName, String credentialName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobExecutionsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobExecutionsClient.java
new file mode 100644
index 0000000000000..ebec080f263ea
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobExecutionsClient.java
@@ -0,0 +1,356 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.JobExecutionInner;
+import java.time.OffsetDateTime;
+import java.util.UUID;
+
+/** An instance of this class provides access to all the operations defined in JobExecutionsClient. */
+public interface JobExecutionsClient {
+ /**
+ * Lists all executions in a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job executions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAgent(String resourceGroupName, String serverName, String jobAgentName);
+
+ /**
+ * Lists all executions in a job agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param createTimeMin If specified, only job executions created at or after the specified time are included.
+ * @param createTimeMax If specified, only job executions created before the specified time are included.
+ * @param endTimeMin If specified, only job executions completed at or after the specified time are included.
+ * @param endTimeMax If specified, only job executions completed before the specified time are included.
+ * @param isActive If specified, only active or only completed job executions are included.
+ * @param skip The number of elements in the collection to skip.
+ * @param top The number of elements to return from the collection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job executions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAgent(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ OffsetDateTime createTimeMin,
+ OffsetDateTime createTimeMax,
+ OffsetDateTime endTimeMin,
+ OffsetDateTime endTimeMax,
+ Boolean isActive,
+ Integer skip,
+ Integer top,
+ Context context);
+
+ /**
+ * Requests cancellation of a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param jobExecutionId The id of the job execution to cancel.
+ * @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 cancel(String resourceGroupName, String serverName, String jobAgentName, String jobName, UUID jobExecutionId);
+
+ /**
+ * Requests cancellation of a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param jobExecutionId The id of the job execution to cancel.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response cancelWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ Context context);
+
+ /**
+ * Starts an elastic job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @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 an execution of a job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobExecutionInner> beginCreate(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName);
+
+ /**
+ * Starts an elastic job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @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 an execution of a job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobExecutionInner> beginCreate(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, Context context);
+
+ /**
+ * Starts an elastic job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @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 an execution of a job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobExecutionInner create(String resourceGroupName, String serverName, String jobAgentName, String jobName);
+
+ /**
+ * Starts an elastic job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @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 an execution of a job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobExecutionInner create(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, Context context);
+
+ /**
+ * Lists a job's executions.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job executions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJob(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName);
+
+ /**
+ * Lists a job's executions.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param createTimeMin If specified, only job executions created at or after the specified time are included.
+ * @param createTimeMax If specified, only job executions created before the specified time are included.
+ * @param endTimeMin If specified, only job executions completed at or after the specified time are included.
+ * @param endTimeMax If specified, only job executions completed before the specified time are included.
+ * @param isActive If specified, only active or only completed job executions are included.
+ * @param skip The number of elements in the collection to skip.
+ * @param top The number of elements to return from the collection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job executions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJob(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ OffsetDateTime createTimeMin,
+ OffsetDateTime createTimeMax,
+ OffsetDateTime endTimeMin,
+ OffsetDateTime endTimeMax,
+ Boolean isActive,
+ Integer skip,
+ Integer top,
+ Context context);
+
+ /**
+ * Gets a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param jobExecutionId The id of the job execution.
+ * @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 job execution.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobExecutionInner get(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, UUID jobExecutionId);
+
+ /**
+ * Gets a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param jobExecutionId The id of the job execution.
+ * @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 job execution.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ Context context);
+
+ /**
+ * Creates or updates a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The job execution id to create the job execution under.
+ * @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 an execution of a job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobExecutionInner> beginCreateOrUpdate(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, UUID jobExecutionId);
+
+ /**
+ * Creates or updates a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The job execution id to create the job execution under.
+ * @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 an execution of a job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, JobExecutionInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ Context context);
+
+ /**
+ * Creates or updates a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The job execution id to create the job execution under.
+ * @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 an execution of a job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobExecutionInner createOrUpdate(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, UUID jobExecutionId);
+
+ /**
+ * Creates or updates a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The job execution id to create the job execution under.
+ * @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 an execution of a job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobExecutionInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobStepExecutionsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobStepExecutionsClient.java
new file mode 100644
index 0000000000000..831546d230e8d
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobStepExecutionsClient.java
@@ -0,0 +1,123 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.JobExecutionInner;
+import java.time.OffsetDateTime;
+import java.util.UUID;
+
+/** An instance of this class provides access to all the operations defined in JobStepExecutionsClient. */
+public interface JobStepExecutionsClient {
+ /**
+ * Lists the step executions of a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The id of the job execution.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job executions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJobExecution(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, UUID jobExecutionId);
+
+ /**
+ * Lists the step executions of a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The id of the job execution.
+ * @param createTimeMin If specified, only job executions created at or after the specified time are included.
+ * @param createTimeMax If specified, only job executions created before the specified time are included.
+ * @param endTimeMin If specified, only job executions completed at or after the specified time are included.
+ * @param endTimeMax If specified, only job executions completed before the specified time are included.
+ * @param isActive If specified, only active or only completed job executions are included.
+ * @param skip The number of elements in the collection to skip.
+ * @param top The number of elements to return from the collection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job executions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJobExecution(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ OffsetDateTime createTimeMin,
+ OffsetDateTime createTimeMax,
+ OffsetDateTime endTimeMin,
+ OffsetDateTime endTimeMax,
+ Boolean isActive,
+ Integer skip,
+ Integer top,
+ Context context);
+
+ /**
+ * Gets a step execution of a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The unique id of the job execution.
+ * @param stepName The name of the step.
+ * @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 step execution of a job execution.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobExecutionInner get(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ String stepName);
+
+ /**
+ * Gets a step execution of a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The unique id of the job execution.
+ * @param stepName The name of the step.
+ * @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 step execution of a job execution.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ String stepName,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobStepsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobStepsClient.java
new file mode 100644
index 0000000000000..d9b780fbd67c1
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobStepsClient.java
@@ -0,0 +1,273 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.JobStepInner;
+
+/** An instance of this class provides access to all the operations defined in JobStepsClient. */
+public interface JobStepsClient {
+ /**
+ * Gets all job steps in the specified job version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobVersion The version of the job to get.
+ * @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 job steps in the specified job version.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVersion(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, int jobVersion);
+
+ /**
+ * Gets all job steps in the specified job version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobVersion The version of the job to get.
+ * @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 job steps in the specified job version.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByVersion(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ int jobVersion,
+ Context context);
+
+ /**
+ * Gets the specified version of a job step.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param jobVersion The version of the job to get.
+ * @param stepName The name of the job step.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified version of a job step.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobStepInner getByVersion(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ int jobVersion,
+ String stepName);
+
+ /**
+ * Gets the specified version of a job step.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param jobVersion The version of the job to get.
+ * @param stepName The name of the job step.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the specified version of a job step.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByVersionWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ int jobVersion,
+ String stepName,
+ Context context);
+
+ /**
+ * Gets all job steps for a job's current version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @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 job steps for a job's current version.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJob(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName);
+
+ /**
+ * Gets all job steps for a job's current version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @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 job steps for a job's current version.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJob(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, Context context);
+
+ /**
+ * Gets a job step in a job's current version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param stepName The name of the job step.
+ * @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 job step in a job's current version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobStepInner get(String resourceGroupName, String serverName, String jobAgentName, String jobName, String stepName);
+
+ /**
+ * Gets a job step in a job's current version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param stepName The name of the job step.
+ * @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 job step in a job's current version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ String stepName,
+ Context context);
+
+ /**
+ * Creates or updates a job step. This will implicitly create a new job version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param stepName The name of the job step.
+ * @param parameters The requested state of the job step.
+ * @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 job step.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobStepInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ String stepName,
+ JobStepInner parameters);
+
+ /**
+ * Creates or updates a job step. This will implicitly create a new job version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param stepName The name of the job step.
+ * @param parameters The requested state of the job step.
+ * @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 job step.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ String stepName,
+ JobStepInner parameters,
+ Context context);
+
+ /**
+ * Deletes a job step. This will implicitly create a new job version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param stepName The name of the job step to delete.
+ * @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 serverName, String jobAgentName, String jobName, String stepName);
+
+ /**
+ * Deletes a job step. This will implicitly create a new job version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param stepName The name of the job step to delete.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ String stepName,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobTargetExecutionsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobTargetExecutionsClient.java
new file mode 100644
index 0000000000000..bd81fd28aeadb
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobTargetExecutionsClient.java
@@ -0,0 +1,191 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.JobExecutionInner;
+import java.time.OffsetDateTime;
+import java.util.UUID;
+
+/** An instance of this class provides access to all the operations defined in JobTargetExecutionsClient. */
+public interface JobTargetExecutionsClient {
+ /**
+ * Lists target executions for all steps of a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The id of the job execution.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job executions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJobExecution(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, UUID jobExecutionId);
+
+ /**
+ * Lists target executions for all steps of a job execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The id of the job execution.
+ * @param createTimeMin If specified, only job executions created at or after the specified time are included.
+ * @param createTimeMax If specified, only job executions created before the specified time are included.
+ * @param endTimeMin If specified, only job executions completed at or after the specified time are included.
+ * @param endTimeMax If specified, only job executions completed before the specified time are included.
+ * @param isActive If specified, only active or only completed job executions are included.
+ * @param skip The number of elements in the collection to skip.
+ * @param top The number of elements to return from the collection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job executions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJobExecution(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ OffsetDateTime createTimeMin,
+ OffsetDateTime createTimeMax,
+ OffsetDateTime endTimeMin,
+ OffsetDateTime endTimeMax,
+ Boolean isActive,
+ Integer skip,
+ Integer top,
+ Context context);
+
+ /**
+ * Lists the target executions of a job step execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The id of the job execution.
+ * @param stepName The name of the step.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job executions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByStep(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ String stepName);
+
+ /**
+ * Lists the target executions of a job step execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The id of the job execution.
+ * @param stepName The name of the step.
+ * @param createTimeMin If specified, only job executions created at or after the specified time are included.
+ * @param createTimeMax If specified, only job executions created before the specified time are included.
+ * @param endTimeMin If specified, only job executions completed at or after the specified time are included.
+ * @param endTimeMax If specified, only job executions completed before the specified time are included.
+ * @param isActive If specified, only active or only completed job executions are included.
+ * @param skip The number of elements in the collection to skip.
+ * @param top The number of elements to return from the collection.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of job executions.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByStep(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ String stepName,
+ OffsetDateTime createTimeMin,
+ OffsetDateTime createTimeMax,
+ OffsetDateTime endTimeMin,
+ OffsetDateTime endTimeMax,
+ Boolean isActive,
+ Integer skip,
+ Integer top,
+ Context context);
+
+ /**
+ * Gets a target execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The unique id of the job execution.
+ * @param stepName The name of the step.
+ * @param targetId The target id.
+ * @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 target execution.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobExecutionInner get(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ String stepName,
+ UUID targetId);
+
+ /**
+ * Gets a target execution.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param jobExecutionId The unique id of the job execution.
+ * @param stepName The name of the step.
+ * @param targetId The target id.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a target execution.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ UUID jobExecutionId,
+ String stepName,
+ UUID targetId,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobTargetGroupsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobTargetGroupsClient.java
new file mode 100644
index 0000000000000..f5034faa3c1a6
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobTargetGroupsClient.java
@@ -0,0 +1,160 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.JobTargetGroupInner;
+
+/** An instance of this class provides access to all the operations defined in JobTargetGroupsClient. */
+public interface JobTargetGroupsClient {
+ /**
+ * Gets all target groups in an agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @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 target groups in an agent.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAgent(String resourceGroupName, String serverName, String jobAgentName);
+
+ /**
+ * Gets all target groups in an agent.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @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 target groups in an agent.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAgent(
+ String resourceGroupName, String serverName, String jobAgentName, Context context);
+
+ /**
+ * Gets a target group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param targetGroupName The name of the target group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a target group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobTargetGroupInner get(String resourceGroupName, String serverName, String jobAgentName, String targetGroupName);
+
+ /**
+ * Gets a target group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param targetGroupName The name of the target group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a target group.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String jobAgentName, String targetGroupName, Context context);
+
+ /**
+ * Creates or updates a target group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param targetGroupName The name of the target group.
+ * @param parameters The requested state of the target group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a group of job targets.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobTargetGroupInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String targetGroupName,
+ JobTargetGroupInner parameters);
+
+ /**
+ * Creates or updates a target group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param targetGroupName The name of the target group.
+ * @param parameters The requested state of the target group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a group of job targets.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String targetGroupName,
+ JobTargetGroupInner parameters,
+ Context context);
+
+ /**
+ * Deletes a target group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param targetGroupName The name of the target group.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String serverName, String jobAgentName, String targetGroupName);
+
+ /**
+ * Deletes a target group.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param targetGroupName The name of the target group.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String serverName, String jobAgentName, String targetGroupName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobVersionsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobVersionsClient.java
new file mode 100644
index 0000000000000..eafcb911c4a1e
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobVersionsClient.java
@@ -0,0 +1,92 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.JobVersionInner;
+
+/** An instance of this class provides access to all the operations defined in JobVersionsClient. */
+public interface JobVersionsClient {
+ /**
+ * Gets all versions of a job.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @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 versions of a job.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJob(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName);
+
+ /**
+ * Gets all versions of a job.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @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 versions of a job.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByJob(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, Context context);
+
+ /**
+ * Gets a job version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param jobVersion The version of the job to get.
+ * @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 job version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobVersionInner get(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, int jobVersion);
+
+ /**
+ * Gets a job version.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job.
+ * @param jobVersion The version of the job to get.
+ * @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 job version.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ int jobVersion,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobsClient.java
new file mode 100644
index 0000000000000..817f8a0e51f22
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/JobsClient.java
@@ -0,0 +1,156 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.JobInner;
+
+/** An instance of this class provides access to all the operations defined in JobsClient. */
+public interface JobsClient {
+ /**
+ * Gets a list of jobs.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of jobs.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAgent(String resourceGroupName, String serverName, String jobAgentName);
+
+ /**
+ * Gets a list of jobs.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of jobs.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByAgent(
+ String resourceGroupName, String serverName, String jobAgentName, Context context);
+
+ /**
+ * Gets a job.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @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 job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner get(String resourceGroupName, String serverName, String jobAgentName, String jobName);
+
+ /**
+ * Gets a job.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @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 job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, Context context);
+
+ /**
+ * Creates or updates a job.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param parameters The requested job state.
+ * @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 job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ JobInner createOrUpdate(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, JobInner parameters);
+
+ /**
+ * Creates or updates a job.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to get.
+ * @param parameters The requested job state.
+ * @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 job.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String jobAgentName,
+ String jobName,
+ JobInner parameters,
+ Context context);
+
+ /**
+ * Deletes a job.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to delete.
+ * @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 serverName, String jobAgentName, String jobName);
+
+ /**
+ * Deletes a job.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param jobAgentName The name of the job agent.
+ * @param jobName The name of the job to delete.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the response.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String serverName, String jobAgentName, String jobName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/LongTermRetentionBackupsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/LongTermRetentionBackupsClient.java
new file mode 100644
index 0000000000000..e5732266d489f
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/LongTermRetentionBackupsClient.java
@@ -0,0 +1,882 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.LongTermRetentionBackupInner;
+import com.azure.resourcemanager.sql.generated.fluent.models.LongTermRetentionBackupOperationResultInner;
+import com.azure.resourcemanager.sql.generated.models.CopyLongTermRetentionBackupParameters;
+import com.azure.resourcemanager.sql.generated.models.DatabaseState;
+import com.azure.resourcemanager.sql.generated.models.UpdateLongTermRetentionBackupParameters;
+
+/** An instance of this class provides access to all the operations defined in LongTermRetentionBackupsClient. */
+public interface LongTermRetentionBackupsClient {
+ /**
+ * Copy an existing long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The parameters needed for long term retention copy request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LongTermRetentionBackupOperationResultInner>
+ beginCopy(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ CopyLongTermRetentionBackupParameters parameters);
+
+ /**
+ * Copy an existing long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The parameters needed for long term retention copy request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LongTermRetentionBackupOperationResultInner>
+ beginCopy(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ CopyLongTermRetentionBackupParameters parameters,
+ Context context);
+
+ /**
+ * Copy an existing long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The parameters needed for long term retention copy request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionBackupOperationResultInner copy(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ CopyLongTermRetentionBackupParameters parameters);
+
+ /**
+ * Copy an existing long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The parameters needed for long term retention copy request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionBackupOperationResultInner copy(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ CopyLongTermRetentionBackupParameters parameters,
+ Context context);
+
+ /**
+ * Updates an existing long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The requested backup resource state.
+ * @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 LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LongTermRetentionBackupOperationResultInner>
+ beginUpdate(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ UpdateLongTermRetentionBackupParameters parameters);
+
+ /**
+ * Updates an existing long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The requested backup resource state.
+ * @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 LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LongTermRetentionBackupOperationResultInner>
+ beginUpdate(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ UpdateLongTermRetentionBackupParameters parameters,
+ Context context);
+
+ /**
+ * Updates an existing long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The requested backup resource state.
+ * @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 LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionBackupOperationResultInner update(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ UpdateLongTermRetentionBackupParameters parameters);
+
+ /**
+ * Updates an existing long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The requested backup resource state.
+ * @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 LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionBackupOperationResultInner update(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ UpdateLongTermRetentionBackupParameters parameters,
+ Context context);
+
+ /**
+ * Gets a long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a long term retention backup.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionBackupInner get(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName);
+
+ /**
+ * Gets a long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a long term retention backup.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ Context context);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ Context context);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ Context context);
+
+ /**
+ * Lists all long term retention backups for a database.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName);
+
+ /**
+ * Lists all long term retention backups for a database.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ Boolean onlyLatestPerDatabase,
+ DatabaseState databaseState,
+ Context context);
+
+ /**
+ * Lists the long term retention backups for a given location.
+ *
+ * @param locationName The location of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String locationName);
+
+ /**
+ * Lists the long term retention backups for a given location.
+ *
+ * @param locationName The location of the database.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(
+ String locationName, Boolean onlyLatestPerDatabase, DatabaseState databaseState, Context context);
+
+ /**
+ * Lists the long term retention backups for a given server.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String locationName, String longTermRetentionServerName);
+
+ /**
+ * Lists the long term retention backups for a given server.
+ *
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(
+ String locationName,
+ String longTermRetentionServerName,
+ Boolean onlyLatestPerDatabase,
+ DatabaseState databaseState,
+ Context context);
+
+ /**
+ * Copy an existing long term retention backup to a different server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The parameters needed for long term retention copy request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LongTermRetentionBackupOperationResultInner>
+ beginCopyByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ CopyLongTermRetentionBackupParameters parameters);
+
+ /**
+ * Copy an existing long term retention backup to a different server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The parameters needed for long term retention copy request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LongTermRetentionBackupOperationResultInner>
+ beginCopyByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ CopyLongTermRetentionBackupParameters parameters,
+ Context context);
+
+ /**
+ * Copy an existing long term retention backup to a different server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The parameters needed for long term retention copy request.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionBackupOperationResultInner copyByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ CopyLongTermRetentionBackupParameters parameters);
+
+ /**
+ * Copy an existing long term retention backup to a different server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The parameters needed for long term retention copy request.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionBackupOperationResultInner copyByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ CopyLongTermRetentionBackupParameters parameters,
+ Context context);
+
+ /**
+ * Updates an existing long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The requested backup resource state.
+ * @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 LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LongTermRetentionBackupOperationResultInner>
+ beginUpdateByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ UpdateLongTermRetentionBackupParameters parameters);
+
+ /**
+ * Updates an existing long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The requested backup resource state.
+ * @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 LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LongTermRetentionBackupOperationResultInner>
+ beginUpdateByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ UpdateLongTermRetentionBackupParameters parameters,
+ Context context);
+
+ /**
+ * Updates an existing long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The requested backup resource state.
+ * @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 LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionBackupOperationResultInner updateByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ UpdateLongTermRetentionBackupParameters parameters);
+
+ /**
+ * Updates an existing long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param parameters The requested backup resource state.
+ * @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 LongTermRetentionBackup operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionBackupOperationResultInner updateByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ UpdateLongTermRetentionBackupParameters parameters,
+ Context context);
+
+ /**
+ * Gets a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a long term retention backup.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionBackupInner getByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName);
+
+ /**
+ * Gets a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a long term retention backup.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ Context context);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDeleteByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDeleteByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ Context context);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ String backupName,
+ Context context);
+
+ /**
+ * Lists all long term retention backups for a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupDatabase(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName);
+
+ /**
+ * Lists all long term retention backups for a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param longTermRetentionDatabaseName The name of the database.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupDatabase(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ String longTermRetentionDatabaseName,
+ Boolean onlyLatestPerDatabase,
+ DatabaseState databaseState,
+ Context context);
+
+ /**
+ * Lists the long term retention backups for a given location.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupLocation(
+ String resourceGroupName, String locationName);
+
+ /**
+ * Lists the long term retention backups for a given location.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupLocation(
+ String resourceGroupName,
+ String locationName,
+ Boolean onlyLatestPerDatabase,
+ DatabaseState databaseState,
+ Context context);
+
+ /**
+ * Lists the long term retention backups for a given server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupServer(
+ String resourceGroupName, String locationName, String longTermRetentionServerName);
+
+ /**
+ * Lists the long term retention backups for a given server.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupServer(
+ String resourceGroupName,
+ String locationName,
+ String longTermRetentionServerName,
+ Boolean onlyLatestPerDatabase,
+ DatabaseState databaseState,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/LongTermRetentionManagedInstanceBackupsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/LongTermRetentionManagedInstanceBackupsClient.java
new file mode 100644
index 0000000000000..0956273fa1ec1
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/LongTermRetentionManagedInstanceBackupsClient.java
@@ -0,0 +1,474 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.ManagedInstanceLongTermRetentionBackupInner;
+import com.azure.resourcemanager.sql.generated.models.DatabaseState;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * LongTermRetentionManagedInstanceBackupsClient.
+ */
+public interface LongTermRetentionManagedInstanceBackupsClient {
+ /**
+ * Gets a long term retention backup for a managed database.
+ *
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a long term retention backup for a managed database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedInstanceLongTermRetentionBackupInner get(
+ String locationName, String managedInstanceName, String databaseName, String backupName);
+
+ /**
+ * Gets a long term retention backup for a managed database.
+ *
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a long term retention backup for a managed database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String locationName, String managedInstanceName, String databaseName, String backupName, Context context);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String locationName, String managedInstanceName, String databaseName, String backupName);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDelete(
+ String locationName, String managedInstanceName, String databaseName, String backupName, Context context);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String locationName, String managedInstanceName, String databaseName, String backupName);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String locationName, String managedInstanceName, String databaseName, String backupName, Context context);
+
+ /**
+ * Lists all long term retention backups for a managed database.
+ *
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String locationName, String managedInstanceName, String databaseName);
+
+ /**
+ * Lists all long term retention backups for a managed database.
+ *
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String locationName,
+ String managedInstanceName,
+ String databaseName,
+ Boolean onlyLatestPerDatabase,
+ DatabaseState databaseState,
+ Context context);
+
+ /**
+ * Lists the long term retention backups for a given managed instance.
+ *
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByInstance(
+ String locationName, String managedInstanceName);
+
+ /**
+ * Lists the long term retention backups for a given managed instance.
+ *
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByInstance(
+ String locationName,
+ String managedInstanceName,
+ Boolean onlyLatestPerDatabase,
+ DatabaseState databaseState,
+ Context context);
+
+ /**
+ * Lists the long term retention backups for managed databases in a given location.
+ *
+ * @param locationName The location of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String locationName);
+
+ /**
+ * Lists the long term retention backups for managed databases in a given location.
+ *
+ * @param locationName The location of the database.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(
+ String locationName, Boolean onlyLatestPerDatabase, DatabaseState databaseState, Context context);
+
+ /**
+ * Gets a long term retention backup for a managed database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a long term retention backup for a managed database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ManagedInstanceLongTermRetentionBackupInner getByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String managedInstanceName,
+ String databaseName,
+ String backupName);
+
+ /**
+ * Gets a long term retention backup for a managed database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a long term retention backup for a managed database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getByResourceGroupWithResponse(
+ String resourceGroupName,
+ String locationName,
+ String managedInstanceName,
+ String databaseName,
+ String backupName,
+ Context context);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDeleteByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String managedInstanceName,
+ String databaseName,
+ String backupName);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the completion.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, Void> beginDeleteByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String managedInstanceName,
+ String databaseName,
+ String backupName,
+ Context context);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String managedInstanceName,
+ String databaseName,
+ String backupName);
+
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param backupName The backup name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void deleteByResourceGroup(
+ String resourceGroupName,
+ String locationName,
+ String managedInstanceName,
+ String databaseName,
+ String backupName,
+ Context context);
+
+ /**
+ * Lists all long term retention backups for a managed database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupDatabase(
+ String resourceGroupName, String locationName, String managedInstanceName, String databaseName);
+
+ /**
+ * Lists all long term retention backups for a managed database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupDatabase(
+ String resourceGroupName,
+ String locationName,
+ String managedInstanceName,
+ String databaseName,
+ Boolean onlyLatestPerDatabase,
+ DatabaseState databaseState,
+ Context context);
+
+ /**
+ * Lists the long term retention backups for a given managed instance.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupInstance(
+ String resourceGroupName, String locationName, String managedInstanceName);
+
+ /**
+ * Lists the long term retention backups for a given managed instance.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param managedInstanceName The name of the managed instance.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupInstance(
+ String resourceGroupName,
+ String locationName,
+ String managedInstanceName,
+ Boolean onlyLatestPerDatabase,
+ DatabaseState databaseState,
+ Context context);
+
+ /**
+ * Lists the long term retention backups for managed databases in a given location.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupLocation(
+ String resourceGroupName, String locationName);
+
+ /**
+ * Lists the long term retention backups for managed databases in a given location.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param onlyLatestPerDatabase Whether or not to only get the latest backup for each database.
+ * @param databaseState Whether to query against just live databases, just deleted databases, or all databases.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of long term retention backups for managed database(s).
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByResourceGroupLocation(
+ String resourceGroupName,
+ String locationName,
+ Boolean onlyLatestPerDatabase,
+ DatabaseState databaseState,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/LongTermRetentionPoliciesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/LongTermRetentionPoliciesClient.java
new file mode 100644
index 0000000000000..e8b797f9a5c42
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/LongTermRetentionPoliciesClient.java
@@ -0,0 +1,182 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.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.sql.generated.fluent.models.LongTermRetentionPolicyInner;
+import com.azure.resourcemanager.sql.generated.models.LongTermRetentionPolicyName;
+
+/** An instance of this class provides access to all the operations defined in LongTermRetentionPoliciesClient. */
+public interface LongTermRetentionPoliciesClient {
+ /**
+ * Gets a database's long term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be Default.
+ * @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 database's long term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionPolicyInner get(
+ String resourceGroupName, String serverName, String databaseName, LongTermRetentionPolicyName policyName);
+
+ /**
+ * Gets a database's long term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be Default.
+ * @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 database's long term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ LongTermRetentionPolicyName policyName,
+ Context context);
+
+ /**
+ * Sets a database's long term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be Default.
+ * @param parameters The long term retention policy info.
+ * @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 long term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LongTermRetentionPolicyInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ LongTermRetentionPolicyName policyName,
+ LongTermRetentionPolicyInner parameters);
+
+ /**
+ * Sets a database's long term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be Default.
+ * @param parameters The long term retention policy info.
+ * @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 long term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SyncPoller, LongTermRetentionPolicyInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ LongTermRetentionPolicyName policyName,
+ LongTermRetentionPolicyInner parameters,
+ Context context);
+
+ /**
+ * Sets a database's long term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be Default.
+ * @param parameters The long term retention policy info.
+ * @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 long term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ LongTermRetentionPolicyName policyName,
+ LongTermRetentionPolicyInner parameters);
+
+ /**
+ * Sets a database's long term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @param policyName The policy name. Should always be Default.
+ * @param parameters The long term retention policy info.
+ * @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 long term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ LongTermRetentionPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ LongTermRetentionPolicyName policyName,
+ LongTermRetentionPolicyInner parameters,
+ Context context);
+
+ /**
+ * Gets a database's long term retention policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param serverName The name of the server.
+ * @param databaseName The name of the database.
+ * @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 database's long term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable