scopes = new ArrayList<>();
+ private RetryPolicy retryPolicy;
+ private RetryOptions retryOptions;
+ private Duration defaultPollInterval;
+
+ private Configurable() {
+ }
+
+ /**
+ * Sets the http client.
+ *
+ * @param httpClient the HTTP client.
+ * @return the configurable object itself.
+ */
+ public Configurable withHttpClient(HttpClient httpClient) {
+ this.httpClient = Objects.requireNonNull(httpClient, "'httpClient' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the logging options to the HTTP pipeline.
+ *
+ * @param httpLogOptions the HTTP log options.
+ * @return the configurable object itself.
+ */
+ public Configurable withLogOptions(HttpLogOptions httpLogOptions) {
+ this.httpLogOptions = Objects.requireNonNull(httpLogOptions, "'httpLogOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Adds the pipeline policy to the HTTP pipeline.
+ *
+ * @param policy the HTTP pipeline policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withPolicy(HttpPipelinePolicy policy) {
+ this.policies.add(Objects.requireNonNull(policy, "'policy' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Adds the scope to permission sets.
+ *
+ * @param scope the scope.
+ * @return the configurable object itself.
+ */
+ public Configurable withScope(String scope) {
+ this.scopes.add(Objects.requireNonNull(scope, "'scope' cannot be null."));
+ return this;
+ }
+
+ /**
+ * Sets the retry policy to the HTTP pipeline.
+ *
+ * @param retryPolicy the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryPolicy(RetryPolicy retryPolicy) {
+ this.retryPolicy = Objects.requireNonNull(retryPolicy, "'retryPolicy' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the retry options for the HTTP pipeline retry policy.
+ *
+ * This setting has no effect, if retry policy is set via {@link #withRetryPolicy(RetryPolicy)}.
+ *
+ * @param retryOptions the retry options for the HTTP pipeline retry policy.
+ * @return the configurable object itself.
+ */
+ public Configurable withRetryOptions(RetryOptions retryOptions) {
+ this.retryOptions = Objects.requireNonNull(retryOptions, "'retryOptions' cannot be null.");
+ return this;
+ }
+
+ /**
+ * Sets the default poll interval, used when service does not provide "Retry-After" header.
+ *
+ * @param defaultPollInterval the default poll interval.
+ * @return the configurable object itself.
+ */
+ public Configurable withDefaultPollInterval(Duration defaultPollInterval) {
+ this.defaultPollInterval =
+ Objects.requireNonNull(defaultPollInterval, "'defaultPollInterval' cannot be null.");
+ if (this.defaultPollInterval.isNegative()) {
+ throw LOGGER
+ .logExceptionAsError(new IllegalArgumentException("'defaultPollInterval' cannot be negative"));
+ }
+ return this;
+ }
+
+ /**
+ * Creates an instance of 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 (scopes.isEmpty()) {
+ scopes.add(profile.getEnvironment().getManagementEndpoint() + "/.default");
+ }
+ if (retryPolicy == null) {
+ if (retryOptions != null) {
+ retryPolicy = new RetryPolicy(retryOptions);
+ } else {
+ retryPolicy = new RetryPolicy("Retry-After", ChronoUnit.SECONDS);
+ }
+ }
+ List policies = new ArrayList<>();
+ policies.add(new UserAgentPolicy(userAgentBuilder.toString()));
+ policies.add(new AddHeadersFromContextPolicy());
+ policies.add(new RequestIdPolicy());
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_CALL)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addBeforeRetryPolicies(policies);
+ policies.add(retryPolicy);
+ policies.add(new AddDatePolicy());
+ policies.add(new ArmChallengeAuthenticationPolicy(credential, scopes.toArray(new String[0])));
+ policies
+ .addAll(
+ this
+ .policies
+ .stream()
+ .filter(p -> p.getPipelinePosition() == HttpPipelinePosition.PER_RETRY)
+ .collect(Collectors.toList()));
+ HttpPolicyProviders.addAfterRetryPolicies(policies);
+ policies.add(new HttpLoggingPolicy(httpLogOptions));
+ HttpPipeline httpPipeline =
+ new HttpPipelineBuilder()
+ .httpClient(httpClient)
+ .policies(policies.toArray(new HttpPipelinePolicy[0]))
+ .build();
+ return new 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 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 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 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 ServerUsages. */
+ public ServerUsages serverUsages() {
+ if (this.serverUsages == null) {
+ this.serverUsages = new ServerUsagesImpl(clientObject.getServerUsages(), this);
+ }
+ return serverUsages;
+ }
+
+ /** @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 DatabaseAdvisors. */
+ public DatabaseAdvisors databaseAdvisors() {
+ if (this.databaseAdvisors == null) {
+ this.databaseAdvisors = new DatabaseAdvisorsImpl(clientObject.getDatabaseAdvisors(), this);
+ }
+ return databaseAdvisors;
+ }
+
+ /** @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 DatabaseColumns. */
+ public DatabaseColumns databaseColumns() {
+ if (this.databaseColumns == null) {
+ this.databaseColumns = new DatabaseColumnsImpl(clientObject.getDatabaseColumns(), this);
+ }
+ return databaseColumns;
+ }
+
+ /** @return Resource collection API of DatabaseRecommendedActions. */
+ public DatabaseRecommendedActions databaseRecommendedActions() {
+ if (this.databaseRecommendedActions == null) {
+ this.databaseRecommendedActions =
+ new DatabaseRecommendedActionsImpl(clientObject.getDatabaseRecommendedActions(), this);
+ }
+ return databaseRecommendedActions;
+ }
+
+ /** @return Resource collection API of DatabaseSchemas. */
+ public DatabaseSchemas databaseSchemas() {
+ if (this.databaseSchemas == null) {
+ this.databaseSchemas = new DatabaseSchemasImpl(clientObject.getDatabaseSchemas(), this);
+ }
+ return databaseSchemas;
+ }
+
+ /** @return Resource collection API of DatabaseSecurityAlertPolicies. */
+ public DatabaseSecurityAlertPolicies databaseSecurityAlertPolicies() {
+ if (this.databaseSecurityAlertPolicies == null) {
+ this.databaseSecurityAlertPolicies =
+ new DatabaseSecurityAlertPoliciesImpl(clientObject.getDatabaseSecurityAlertPolicies(), this);
+ }
+ return databaseSecurityAlertPolicies;
+ }
+
+ /** @return Resource collection API of DatabaseTables. */
+ public DatabaseTables databaseTables() {
+ if (this.databaseTables == null) {
+ this.databaseTables = new DatabaseTablesImpl(clientObject.getDatabaseTables(), this);
+ }
+ return databaseTables;
+ }
+
+ /** @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 DatabaseVulnerabilityAssessmentScans. */
+ public DatabaseVulnerabilityAssessmentScans databaseVulnerabilityAssessmentScans() {
+ if (this.databaseVulnerabilityAssessmentScans == null) {
+ this.databaseVulnerabilityAssessmentScans =
+ new DatabaseVulnerabilityAssessmentScansImpl(
+ clientObject.getDatabaseVulnerabilityAssessmentScans(), this);
+ }
+ return databaseVulnerabilityAssessmentScans;
+ }
+
+ /** @return Resource collection API of DataWarehouseUserActivitiesOperations. */
+ public DataWarehouseUserActivitiesOperations dataWarehouseUserActivitiesOperations() {
+ if (this.dataWarehouseUserActivitiesOperations == null) {
+ this.dataWarehouseUserActivitiesOperations =
+ new DataWarehouseUserActivitiesOperationsImpl(
+ clientObject.getDataWarehouseUserActivitiesOperations(), this);
+ }
+ return dataWarehouseUserActivitiesOperations;
+ }
+
+ /** @return Resource collection API of DeletedServers. */
+ public DeletedServers deletedServers() {
+ if (this.deletedServers == null) {
+ this.deletedServers = new DeletedServersImpl(clientObject.getDeletedServers(), this);
+ }
+ return deletedServers;
+ }
+
+ /** @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 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 FirewallRules. */
+ public FirewallRules firewallRules() {
+ if (this.firewallRules == null) {
+ this.firewallRules = new FirewallRulesImpl(clientObject.getFirewallRules(), this);
+ }
+ return firewallRules;
+ }
+
+ /** @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 InstancePools. */
+ public InstancePools instancePools() {
+ if (this.instancePools == null) {
+ this.instancePools = new InstancePoolsImpl(clientObject.getInstancePools(), this);
+ }
+ return instancePools;
+ }
+
+ /** @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 Capabilities. */
+ public Capabilities capabilities() {
+ if (this.capabilities == null) {
+ this.capabilities = new CapabilitiesImpl(clientObject.getCapabilities(), this);
+ }
+ return capabilities;
+ }
+
+ /** @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 MaintenanceWindowOptionsOperations. */
+ public MaintenanceWindowOptionsOperations maintenanceWindowOptionsOperations() {
+ if (this.maintenanceWindowOptionsOperations == null) {
+ this.maintenanceWindowOptionsOperations =
+ new MaintenanceWindowOptionsOperationsImpl(clientObject.getMaintenanceWindowOptionsOperations(), this);
+ }
+ return maintenanceWindowOptionsOperations;
+ }
+
+ /** @return Resource collection API of MaintenanceWindowsOperations. */
+ public MaintenanceWindowsOperations maintenanceWindowsOperations() {
+ if (this.maintenanceWindowsOperations == null) {
+ this.maintenanceWindowsOperations =
+ new MaintenanceWindowsOperationsImpl(clientObject.getMaintenanceWindowsOperations(), this);
+ }
+ return maintenanceWindowsOperations;
+ }
+
+ /** @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 ManagedDatabaseColumns. */
+ public ManagedDatabaseColumns managedDatabaseColumns() {
+ if (this.managedDatabaseColumns == null) {
+ this.managedDatabaseColumns =
+ new ManagedDatabaseColumnsImpl(clientObject.getManagedDatabaseColumns(), this);
+ }
+ return managedDatabaseColumns;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseQueries. */
+ public ManagedDatabaseQueries managedDatabaseQueries() {
+ if (this.managedDatabaseQueries == null) {
+ this.managedDatabaseQueries =
+ new ManagedDatabaseQueriesImpl(clientObject.getManagedDatabaseQueries(), this);
+ }
+ return managedDatabaseQueries;
+ }
+
+ /** @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 ManagedDatabases. */
+ public ManagedDatabases managedDatabases() {
+ if (this.managedDatabases == null) {
+ this.managedDatabases = new ManagedDatabasesImpl(clientObject.getManagedDatabases(), this);
+ }
+ return managedDatabases;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseSchemas. */
+ public ManagedDatabaseSchemas managedDatabaseSchemas() {
+ if (this.managedDatabaseSchemas == null) {
+ this.managedDatabaseSchemas =
+ new ManagedDatabaseSchemasImpl(clientObject.getManagedDatabaseSchemas(), this);
+ }
+ return managedDatabaseSchemas;
+ }
+
+ /** @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 ManagedDatabaseSecurityEvents. */
+ public ManagedDatabaseSecurityEvents managedDatabaseSecurityEvents() {
+ if (this.managedDatabaseSecurityEvents == null) {
+ this.managedDatabaseSecurityEvents =
+ new ManagedDatabaseSecurityEventsImpl(clientObject.getManagedDatabaseSecurityEvents(), this);
+ }
+ return managedDatabaseSecurityEvents;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseTables. */
+ public ManagedDatabaseTables managedDatabaseTables() {
+ if (this.managedDatabaseTables == null) {
+ this.managedDatabaseTables = new ManagedDatabaseTablesImpl(clientObject.getManagedDatabaseTables(), this);
+ }
+ return managedDatabaseTables;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseTransparentDataEncryptions. */
+ public ManagedDatabaseTransparentDataEncryptions managedDatabaseTransparentDataEncryptions() {
+ if (this.managedDatabaseTransparentDataEncryptions == null) {
+ this.managedDatabaseTransparentDataEncryptions =
+ new ManagedDatabaseTransparentDataEncryptionsImpl(
+ clientObject.getManagedDatabaseTransparentDataEncryptions(), this);
+ }
+ return managedDatabaseTransparentDataEncryptions;
+ }
+
+ /** @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 ManagedDatabaseVulnerabilityAssessments. */
+ public ManagedDatabaseVulnerabilityAssessments managedDatabaseVulnerabilityAssessments() {
+ if (this.managedDatabaseVulnerabilityAssessments == null) {
+ this.managedDatabaseVulnerabilityAssessments =
+ new ManagedDatabaseVulnerabilityAssessmentsImpl(
+ clientObject.getManagedDatabaseVulnerabilityAssessments(), this);
+ }
+ return managedDatabaseVulnerabilityAssessments;
+ }
+
+ /** @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 ManagedInstanceAdministrators. */
+ public ManagedInstanceAdministrators managedInstanceAdministrators() {
+ if (this.managedInstanceAdministrators == null) {
+ this.managedInstanceAdministrators =
+ new ManagedInstanceAdministratorsImpl(clientObject.getManagedInstanceAdministrators(), this);
+ }
+ return managedInstanceAdministrators;
+ }
+
+ /** @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 ManagedInstanceEncryptionProtectors. */
+ public ManagedInstanceEncryptionProtectors managedInstanceEncryptionProtectors() {
+ if (this.managedInstanceEncryptionProtectors == null) {
+ this.managedInstanceEncryptionProtectors =
+ new ManagedInstanceEncryptionProtectorsImpl(
+ clientObject.getManagedInstanceEncryptionProtectors(), this);
+ }
+ return managedInstanceEncryptionProtectors;
+ }
+
+ /** @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 ManagedInstanceLongTermRetentionPolicies. */
+ public ManagedInstanceLongTermRetentionPolicies managedInstanceLongTermRetentionPolicies() {
+ if (this.managedInstanceLongTermRetentionPolicies == null) {
+ this.managedInstanceLongTermRetentionPolicies =
+ new ManagedInstanceLongTermRetentionPoliciesImpl(
+ clientObject.getManagedInstanceLongTermRetentionPolicies(), this);
+ }
+ return managedInstanceLongTermRetentionPolicies;
+ }
+
+ /** @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 ManagedInstancePrivateEndpointConnections. */
+ public ManagedInstancePrivateEndpointConnections managedInstancePrivateEndpointConnections() {
+ if (this.managedInstancePrivateEndpointConnections == null) {
+ this.managedInstancePrivateEndpointConnections =
+ new ManagedInstancePrivateEndpointConnectionsImpl(
+ clientObject.getManagedInstancePrivateEndpointConnections(), this);
+ }
+ return managedInstancePrivateEndpointConnections;
+ }
+
+ /** @return Resource collection API of ManagedInstancePrivateLinkResources. */
+ public ManagedInstancePrivateLinkResources managedInstancePrivateLinkResources() {
+ if (this.managedInstancePrivateLinkResources == null) {
+ this.managedInstancePrivateLinkResources =
+ new ManagedInstancePrivateLinkResourcesImpl(
+ clientObject.getManagedInstancePrivateLinkResources(), this);
+ }
+ return managedInstancePrivateLinkResources;
+ }
+
+ /** @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 ManagedInstanceVulnerabilityAssessments. */
+ public ManagedInstanceVulnerabilityAssessments managedInstanceVulnerabilityAssessments() {
+ if (this.managedInstanceVulnerabilityAssessments == null) {
+ this.managedInstanceVulnerabilityAssessments =
+ new ManagedInstanceVulnerabilityAssessmentsImpl(
+ clientObject.getManagedInstanceVulnerabilityAssessments(), this);
+ }
+ return managedInstanceVulnerabilityAssessments;
+ }
+
+ /** @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 ManagedServerSecurityAlertPolicies. */
+ public ManagedServerSecurityAlertPolicies managedServerSecurityAlertPolicies() {
+ if (this.managedServerSecurityAlertPolicies == null) {
+ this.managedServerSecurityAlertPolicies =
+ new ManagedServerSecurityAlertPoliciesImpl(clientObject.getManagedServerSecurityAlertPolicies(), this);
+ }
+ return managedServerSecurityAlertPolicies;
+ }
+
+ /** @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 PrivateEndpointConnections. */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections =
+ new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /** @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 RecoverableManagedDatabases. */
+ public RecoverableManagedDatabases recoverableManagedDatabases() {
+ if (this.recoverableManagedDatabases == null) {
+ this.recoverableManagedDatabases =
+ new RecoverableManagedDatabasesImpl(clientObject.getRecoverableManagedDatabases(), this);
+ }
+ return recoverableManagedDatabases;
+ }
+
+ /** @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 ServerAdvisors. */
+ public ServerAdvisors serverAdvisors() {
+ if (this.serverAdvisors == null) {
+ this.serverAdvisors = new ServerAdvisorsImpl(clientObject.getServerAdvisors(), this);
+ }
+ return serverAdvisors;
+ }
+
+ /** @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 ServerAzureADAdministrators. */
+ public ServerAzureADAdministrators serverAzureADAdministrators() {
+ if (this.serverAzureADAdministrators == null) {
+ this.serverAzureADAdministrators =
+ new ServerAzureADAdministratorsImpl(clientObject.getServerAzureADAdministrators(), this);
+ }
+ return serverAzureADAdministrators;
+ }
+
+ /** @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 ServerDevOpsAuditSettings. */
+ public ServerDevOpsAuditSettings serverDevOpsAuditSettings() {
+ if (this.serverDevOpsAuditSettings == null) {
+ this.serverDevOpsAuditSettings =
+ new ServerDevOpsAuditSettingsImpl(clientObject.getServerDevOpsAuditSettings(), this);
+ }
+ return serverDevOpsAuditSettings;
+ }
+
+ /** @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 ServerKeys. */
+ public ServerKeys serverKeys() {
+ if (this.serverKeys == null) {
+ this.serverKeys = new ServerKeysImpl(clientObject.getServerKeys(), this);
+ }
+ return serverKeys;
+ }
+
+ /** @return Resource collection API of ServerOperations. */
+ public ServerOperations serverOperations() {
+ if (this.serverOperations == null) {
+ this.serverOperations = new ServerOperationsImpl(clientObject.getServerOperations(), this);
+ }
+ return serverOperations;
+ }
+
+ /** @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 ServerTrustGroups. */
+ public ServerTrustGroups serverTrustGroups() {
+ if (this.serverTrustGroups == null) {
+ this.serverTrustGroups = new ServerTrustGroupsImpl(clientObject.getServerTrustGroups(), this);
+ }
+ return serverTrustGroups;
+ }
+
+ /** @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 SqlAgents. */
+ public SqlAgents sqlAgents() {
+ if (this.sqlAgents == null) {
+ this.sqlAgents = new SqlAgentsImpl(clientObject.getSqlAgents(), this);
+ }
+ return sqlAgents;
+ }
+
+ /** @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 SyncAgents. */
+ public SyncAgents syncAgents() {
+ if (this.syncAgents == null) {
+ this.syncAgents = new SyncAgentsImpl(clientObject.getSyncAgents(), this);
+ }
+ return syncAgents;
+ }
+
+ /** @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 TdeCertificates. */
+ public TdeCertificates tdeCertificates() {
+ if (this.tdeCertificates == null) {
+ this.tdeCertificates = new TdeCertificatesImpl(clientObject.getTdeCertificates(), this);
+ }
+ return tdeCertificates;
+ }
+
+ /** @return Resource collection API of TimeZones. */
+ public TimeZones timeZones() {
+ if (this.timeZones == null) {
+ this.timeZones = new TimeZonesImpl(clientObject.getTimeZones(), this);
+ }
+ return timeZones;
+ }
+
+ /** @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 WorkloadClassifiers. */
+ public WorkloadClassifiers workloadClassifiers() {
+ if (this.workloadClassifiers == null) {
+ this.workloadClassifiers = new WorkloadClassifiersImpl(clientObject.getWorkloadClassifiers(), this);
+ }
+ return workloadClassifiers;
+ }
+
+ /** @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 TransparentDataEncryptions. */
+ public TransparentDataEncryptions transparentDataEncryptions() {
+ if (this.transparentDataEncryptions == null) {
+ this.transparentDataEncryptions =
+ new TransparentDataEncryptionsImpl(clientObject.getTransparentDataEncryptions(), this);
+ }
+ return transparentDataEncryptions;
+ }
+
+ /** @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 DatabaseExtensionsOperations. */
+ public DatabaseExtensionsOperations databaseExtensionsOperations() {
+ if (this.databaseExtensionsOperations == null) {
+ this.databaseExtensionsOperations =
+ new DatabaseExtensionsOperationsImpl(clientObject.getDatabaseExtensionsOperations(), this);
+ }
+ return databaseExtensionsOperations;
+ }
+
+ /** @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 DatabaseUsages. */
+ public DatabaseUsages databaseUsages() {
+ if (this.databaseUsages == null) {
+ this.databaseUsages = new DatabaseUsagesImpl(clientObject.getDatabaseUsages(), this);
+ }
+ return databaseUsages;
+ }
+
+ /** @return Resource collection API of LedgerDigestUploadsOperations. */
+ public LedgerDigestUploadsOperations ledgerDigestUploadsOperations() {
+ if (this.ledgerDigestUploadsOperations == null) {
+ this.ledgerDigestUploadsOperations =
+ new LedgerDigestUploadsOperationsImpl(clientObject.getLedgerDigestUploadsOperations(), this);
+ }
+ return ledgerDigestUploadsOperations;
+ }
+
+ /** @return Resource collection API of OutboundFirewallRules. */
+ public OutboundFirewallRules outboundFirewallRules() {
+ if (this.outboundFirewallRules == null) {
+ this.outboundFirewallRules = new OutboundFirewallRulesImpl(clientObject.getOutboundFirewallRules(), this);
+ }
+ return outboundFirewallRules;
+ }
+
+ /** @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 Usages. */
+ public Usages usages() {
+ if (this.usages == null) {
+ this.usages = new UsagesImpl(clientObject.getUsages(), this);
+ }
+ return usages;
+ }
+
+ /** @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 LongTermRetentionManagedInstanceBackups. */
+ public LongTermRetentionManagedInstanceBackups longTermRetentionManagedInstanceBackups() {
+ if (this.longTermRetentionManagedInstanceBackups == null) {
+ this.longTermRetentionManagedInstanceBackups =
+ new LongTermRetentionManagedInstanceBackupsImpl(
+ clientObject.getLongTermRetentionManagedInstanceBackups(), this);
+ }
+ return longTermRetentionManagedInstanceBackups;
+ }
+
+ /** @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 RestorableDroppedDatabases. */
+ public RestorableDroppedDatabases restorableDroppedDatabases() {
+ if (this.restorableDroppedDatabases == null) {
+ this.restorableDroppedDatabases =
+ new RestorableDroppedDatabasesImpl(clientObject.getRestorableDroppedDatabases(), this);
+ }
+ return restorableDroppedDatabases;
+ }
+
+ /** @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 ServerConnectionPolicies. */
+ public ServerConnectionPolicies serverConnectionPolicies() {
+ if (this.serverConnectionPolicies == null) {
+ this.serverConnectionPolicies =
+ new ServerConnectionPoliciesImpl(clientObject.getServerConnectionPolicies(), this);
+ }
+ return serverConnectionPolicies;
+ }
+
+ /** @return Resource collection API of DistributedAvailabilityGroups. */
+ public DistributedAvailabilityGroups distributedAvailabilityGroups() {
+ if (this.distributedAvailabilityGroups == null) {
+ this.distributedAvailabilityGroups =
+ new DistributedAvailabilityGroupsImpl(clientObject.getDistributedAvailabilityGroups(), this);
+ }
+ return distributedAvailabilityGroups;
+ }
+
+ /** @return Resource collection API of ServerTrustCertificates. */
+ public ServerTrustCertificates serverTrustCertificates() {
+ if (this.serverTrustCertificates == null) {
+ this.serverTrustCertificates =
+ new ServerTrustCertificatesImpl(clientObject.getServerTrustCertificates(), this);
+ }
+ return serverTrustCertificates;
+ }
+
+ /** @return Resource collection API of IPv6FirewallRules. */
+ public IPv6FirewallRules iPv6FirewallRules() {
+ if (this.iPv6FirewallRules == null) {
+ this.iPv6FirewallRules = new IPv6FirewallRulesImpl(clientObject.getIPv6FirewallRules(), this);
+ }
+ return iPv6FirewallRules;
+ }
+
+ /** @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 ManagedDatabaseSensitivityLabels. */
+ public ManagedDatabaseSensitivityLabels managedDatabaseSensitivityLabels() {
+ if (this.managedDatabaseSensitivityLabels == null) {
+ this.managedDatabaseSensitivityLabels =
+ new ManagedDatabaseSensitivityLabelsImpl(clientObject.getManagedDatabaseSensitivityLabels(), this);
+ }
+ return managedDatabaseSensitivityLabels;
+ }
+
+ /** @return Resource collection API of ManagedDatabaseRecommendedSensitivityLabels. */
+ public ManagedDatabaseRecommendedSensitivityLabels managedDatabaseRecommendedSensitivityLabels() {
+ if (this.managedDatabaseRecommendedSensitivityLabels == null) {
+ this.managedDatabaseRecommendedSensitivityLabels =
+ new ManagedDatabaseRecommendedSensitivityLabelsImpl(
+ clientObject.getManagedDatabaseRecommendedSensitivityLabels(), this);
+ }
+ return managedDatabaseRecommendedSensitivityLabels;
+ }
+
+ /** @return Resource collection API of ManagedServerDnsAliases. */
+ public ManagedServerDnsAliases managedServerDnsAliases() {
+ if (this.managedServerDnsAliases == null) {
+ this.managedServerDnsAliases =
+ new ManagedServerDnsAliasesImpl(clientObject.getManagedServerDnsAliases(), this);
+ }
+ return managedServerDnsAliases;
+ }
+
+ /** @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 RecommendedSensitivityLabels. */
+ public RecommendedSensitivityLabels recommendedSensitivityLabels() {
+ if (this.recommendedSensitivityLabels == null) {
+ this.recommendedSensitivityLabels =
+ new RecommendedSensitivityLabelsImpl(clientObject.getRecommendedSensitivityLabels(), this);
+ }
+ return recommendedSensitivityLabels;
+ }
+
+ /** @return Resource collection API of EndpointCertificates. */
+ public EndpointCertificates endpointCertificates() {
+ if (this.endpointCertificates == null) {
+ this.endpointCertificates = new EndpointCertificatesImpl(clientObject.getEndpointCertificates(), this);
+ }
+ return endpointCertificates;
+ }
+
+ /**
+ * @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..9d299f927676c
--- /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 along with {@link Response}.
+ */
+ @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 the {@link SyncPoller} for polling of a short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a short term retention policy.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..28ad540422ab2
--- /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 along with {@link Response}.
+ */
+ @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..432f4b2d3ca96
--- /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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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..50c8cd019d2eb
--- /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 along with {@link Response}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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/DataWarehouseUserActivitiesOperationsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataWarehouseUserActivitiesOperationsClient.java
new file mode 100644
index 0000000000000..832527b30455c
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataWarehouseUserActivitiesOperationsClient.java
@@ -0,0 +1,95 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.DataWarehouseUserActivitiesInner;
+import com.azure.resourcemanager.sql.generated.models.DataWarehouseUserActivityName;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DataWarehouseUserActivitiesOperationsClient.
+ */
+public interface DataWarehouseUserActivitiesOperationsClient {
+ /**
+ * Gets the user activities of a data warehouse which includes running and suspended queries.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 dataWarehouseUserActivityName The activity name of the data warehouse.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 user activities of a data warehouse which includes running and suspended queries.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DataWarehouseUserActivitiesInner get(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ DataWarehouseUserActivityName dataWarehouseUserActivityName);
+
+ /**
+ * Gets the user activities of a data warehouse which includes running and suspended queries.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 dataWarehouseUserActivityName The activity name of the data warehouse.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 user activities of a data warehouse which includes running and suspended queries along with {@link
+ * Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ DataWarehouseUserActivityName dataWarehouseUserActivityName,
+ Context context);
+
+ /**
+ * List the user activities of a data warehouse which includes running and suspended queries.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 user activities of a data warehouse as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * List the user activities of a data warehouse which includes running and suspended queries.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 user activities of a data warehouse as paginated response with {@link PagedIterable}.
+ */
+ @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/DatabaseAdvisorsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseAdvisorsClient.java
new file mode 100644
index 0000000000000..c646eba3c7497
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseAdvisorsClient.java
@@ -0,0 +1,124 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.AdvisorInner;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in DatabaseAdvisorsClient. */
+public interface DatabaseAdvisorsClient {
+ /**
+ * Gets a list of database advisors.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisors.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listByDatabase(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets a list of database advisors.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 expand The child resources to include in the response.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a list of database advisors along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listByDatabaseWithResponse(
+ String resourceGroupName, String serverName, String databaseName, String expand, Context context);
+
+ /**
+ * Gets a database advisor.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisorName The name of the Database Advisor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 advisor.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AdvisorInner get(String resourceGroupName, String serverName, String databaseName, String advisorName);
+
+ /**
+ * Gets a database advisor.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisorName The name of the Database Advisor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 advisor along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String databaseName, String advisorName, Context context);
+
+ /**
+ * Updates a database advisor.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisorName The name of the Database Advisor.
+ * @param parameters The requested advisor 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, Server or Elastic Pool Advisor.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AdvisorInner update(
+ String resourceGroupName, String serverName, String databaseName, String advisorName, AdvisorInner parameters);
+
+ /**
+ * Updates a database advisor.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisorName The name of the Database Advisor.
+ * @param parameters The requested advisor 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, Server or Elastic Pool Advisor along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String advisorName,
+ AdvisorInner parameters,
+ 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..565d37365e2ed
--- /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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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..416380d09a621
--- /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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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/DatabaseColumnsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseColumnsClient.java
new file mode 100644
index 0000000000000..da045a64886b8
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseColumnsClient.java
@@ -0,0 +1,155 @@
+// 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.DatabaseColumnInner;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in DatabaseColumnsClient. */
+public interface DatabaseColumnsClient {
+ /**
+ * List database columns.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 columns as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * List database columns.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schema Array of Get3ItemsItem.
+ * @param table Array of Get4ItemsItem.
+ * @param column Array of Get5ItemsItem.
+ * @param orderBy Array of Get6ItemsItem.
+ * @param skiptoken An opaque token that identifies a starting point in 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 database columns as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ List schema,
+ List table,
+ List column,
+ List orderBy,
+ String skiptoken,
+ Context context);
+
+ /**
+ * List database columns.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemaName The name of the schema.
+ * @param tableName The name of the table.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 columns as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByTable(
+ String resourceGroupName, String serverName, String databaseName, String schemaName, String tableName);
+
+ /**
+ * List database columns.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemaName The name of the schema.
+ * @param tableName The name of the table.
+ * @param filter An OData filter expression that filters elements in 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 database columns as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByTable(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String schemaName,
+ String tableName,
+ String filter,
+ Context context);
+
+ /**
+ * Get database column.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemaName The name of the schema.
+ * @param tableName The name of the table.
+ * @param columnName The name of the column.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 column.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseColumnInner get(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String schemaName,
+ String tableName,
+ String columnName);
+
+ /**
+ * Get database column.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemaName The name of the schema.
+ * @param tableName The name of the table.
+ * @param columnName The name of the column.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 column along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String schemaName,
+ String tableName,
+ String columnName,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseExtensionsOperationsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseExtensionsOperationsClient.java
new file mode 100644
index 0000000000000..1bcb10674adbc
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseExtensionsOperationsClient.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.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.ImportExportExtensionsOperationResultInner;
+import com.azure.resourcemanager.sql.generated.models.DatabaseExtensions;
+
+/** An instance of this class provides access to all the operations defined in DatabaseExtensionsOperationsClient. */
+public interface DatabaseExtensionsOperationsClient {
+ /**
+ * Gets a database extension. This will return resource not found as it is not supported.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 extensionName The extensionName 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void get(String resourceGroupName, String serverName, String databaseName, String extensionName);
+
+ /**
+ * Gets a database extension. This will return resource not found as it is not supported.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 extensionName The extensionName 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 database extension along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String databaseName, String extensionName, Context context);
+
+ /**
+ * Perform a database extension operation, like polybase import.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 extensionName The extensionName parameter.
+ * @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 the {@link SyncPoller} for polling of an Extension operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ImportExportExtensionsOperationResultInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String extensionName,
+ DatabaseExtensions parameters);
+
+ /**
+ * Perform a database extension operation, like polybase import.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 extensionName The extensionName parameter.
+ * @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 the {@link SyncPoller} for polling of an Extension operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, ImportExportExtensionsOperationResultInner>
+ beginCreateOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String extensionName,
+ DatabaseExtensions parameters,
+ Context context);
+
+ /**
+ * Perform a database extension operation, like polybase import.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 extensionName The extensionName parameter.
+ * @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 Extension operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImportExportExtensionsOperationResultInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String extensionName,
+ DatabaseExtensions parameters);
+
+ /**
+ * Perform a database extension operation, like polybase import.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 extensionName The extensionName parameter.
+ * @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 Extension operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ ImportExportExtensionsOperationResultInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String extensionName,
+ DatabaseExtensions parameters,
+ Context context);
+
+ /**
+ * List database extension. This will return an empty list as it is not supported.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 import export operation extensions list as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * List database extension. This will return an empty list as it is not supported.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 import export operation extensions list as paginated response with {@link PagedIterable}.
+ */
+ @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..0c68418c27acd
--- /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 {@link 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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/DatabaseRecommendedActionsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseRecommendedActionsClient.java
new file mode 100644
index 0000000000000..e47ceee58953d
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseRecommendedActionsClient.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.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.RecommendedActionInner;
+import java.util.List;
+
+/** An instance of this class provides access to all the operations defined in DatabaseRecommendedActionsClient. */
+public interface DatabaseRecommendedActionsClient {
+ /**
+ * Gets list of Database Recommended Actions.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisorName The name of the Database Advisor.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Database Recommended Actions.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ List listByDatabaseAdvisor(
+ String resourceGroupName, String serverName, String databaseName, String advisorName);
+
+ /**
+ * Gets list of Database Recommended Actions.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisorName The name of the Database Advisor.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return list of Database Recommended Actions along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response> listByDatabaseAdvisorWithResponse(
+ String resourceGroupName, String serverName, String databaseName, String advisorName, Context context);
+
+ /**
+ * Gets a database recommended action.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisorName The name of the Database Advisor.
+ * @param recommendedActionName The name of Database Recommended Action.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 recommended action.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecommendedActionInner get(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String advisorName,
+ String recommendedActionName);
+
+ /**
+ * Gets a database recommended action.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisorName The name of the Database Advisor.
+ * @param recommendedActionName The name of Database Recommended Action.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 recommended action along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String advisorName,
+ String recommendedActionName,
+ Context context);
+
+ /**
+ * Updates a database recommended action.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisorName The name of the Database Advisor.
+ * @param recommendedActionName The name of Database Recommended Action.
+ * @param parameters The requested recommended action 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, Server or Elastic Pool Recommended Action.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ RecommendedActionInner update(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String advisorName,
+ String recommendedActionName,
+ RecommendedActionInner parameters);
+
+ /**
+ * Updates a database recommended action.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 advisorName The name of the Database Advisor.
+ * @param recommendedActionName The name of Database Recommended Action.
+ * @param parameters The requested recommended action 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, Server or Elastic Pool Recommended Action along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String advisorName,
+ String recommendedActionName,
+ RecommendedActionInner parameters,
+ Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSchemasClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSchemasClient.java
new file mode 100644
index 0000000000000..4dd2543156e06
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSchemasClient.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.DatabaseSchemaInner;
+
+/** An instance of this class provides access to all the operations defined in DatabaseSchemasClient. */
+public interface DatabaseSchemasClient {
+ /**
+ * List database schemas.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemas as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * List database schemas.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 filters elements in 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 database schemas as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName, String filter, Context context);
+
+ /**
+ * Get database schema.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemaName The name of the schema.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 schema.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseSchemaInner get(String resourceGroupName, String serverName, String databaseName, String schemaName);
+
+ /**
+ * Get database schema.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemaName The name of the schema.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 schema along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String databaseName, String schemaName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSecurityAlertPoliciesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSecurityAlertPoliciesClient.java
new file mode 100644
index 0000000000000..02f423758fea8
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSecurityAlertPoliciesClient.java
@@ -0,0 +1,137 @@
+// 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.DatabaseSecurityAlertPolicyInner;
+import com.azure.resourcemanager.sql.generated.models.SecurityAlertPolicyName;
+
+/** An instance of this class provides access to all the operations defined in DatabaseSecurityAlertPoliciesClient. */
+public interface DatabaseSecurityAlertPoliciesClient {
+ /**
+ * Gets a database's security alert 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 the security alert 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 security alert policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseSecurityAlertPolicyInner get(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ SecurityAlertPolicyName securityAlertPolicyName);
+
+ /**
+ * Gets a database's security alert 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 the security alert 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 security alert policy along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ SecurityAlertPolicyName securityAlertPolicyName,
+ Context context);
+
+ /**
+ * Creates or updates a database's security alert 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 the security alert policy is defined.
+ * @param securityAlertPolicyName The name of the security alert policy.
+ * @param parameters The database 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 security alert policy.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseSecurityAlertPolicyInner createOrUpdate(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ SecurityAlertPolicyName securityAlertPolicyName,
+ DatabaseSecurityAlertPolicyInner parameters);
+
+ /**
+ * Creates or updates a database's security alert 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 the security alert policy is defined.
+ * @param securityAlertPolicyName The name of the security alert policy.
+ * @param parameters The database 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 security alert policy along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ SecurityAlertPolicyName securityAlertPolicyName,
+ DatabaseSecurityAlertPolicyInner parameters,
+ Context context);
+
+ /**
+ * Gets a list of database's security alert 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 for which the security alert policy is 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 database's security alert policies as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(
+ String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets a list of database's security alert 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 for which the security alert policy is 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 database's security alert policies as paginated response with {@link PagedIterable}.
+ */
+ @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/DatabaseTablesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseTablesClient.java
new file mode 100644
index 0000000000000..cdb976a50c5dc
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseTablesClient.java
@@ -0,0 +1,98 @@
+// 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.DatabaseTableInner;
+
+/** An instance of this class provides access to all the operations defined in DatabaseTablesClient. */
+public interface DatabaseTablesClient {
+ /**
+ * List database tables.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemaName The name of the schema.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 tables as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySchema(
+ String resourceGroupName, String serverName, String databaseName, String schemaName);
+
+ /**
+ * List database tables.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemaName The name of the schema.
+ * @param filter An OData filter expression that filters elements in 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 database tables as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySchema(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String schemaName,
+ String filter,
+ Context context);
+
+ /**
+ * Get database table.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemaName The name of the schema.
+ * @param tableName The name of the table.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 table.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseTableInner get(
+ String resourceGroupName, String serverName, String databaseName, String schemaName, String tableName);
+
+ /**
+ * Get database table.
+ *
+ * @param resourceGroupName The name of the resource group that contains 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 schemaName The name of the schema.
+ * @param tableName The name of the table.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 table along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ String schemaName,
+ String tableName,
+ 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..04273f936c575
--- /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 {
+ /**
+ * Gets 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 database usages as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(String resourceGroupName, String serverName, String databaseName);
+
+ /**
+ * Gets 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 database usages as paginated response with {@link PagedIterable}.
+ */
+ @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..51152cfbec1a8
--- /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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 {@link 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..cf8b78adbfc15
--- /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 {
+ /**
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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);
+
+ /**
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ 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 along with {@link Response}.
+ */
+ @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..7ed1f63933362
--- /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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 {@link 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..698ba1be4fd07
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabasesClient.java
@@ -0,0 +1,883 @@
+// 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.ImportExistingDatabaseDefinition;
+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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listMetricDefinitions(
+ String resourceGroupName, String serverName, String databaseName, 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 skipToken The skipToken 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 databases as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(
+ String resourceGroupName, String serverName, String skipToken, 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 along with {@link Response}.
+ */
+ @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 the {@link SyncPoller} for polling of a database resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a database resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a database resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a database resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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);
+
+ /**
+ * 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 the {@link SyncPoller} for polling of an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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);
+
+ /**
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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);
+
+ /**
+ * 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 the {@link SyncPoller} for polling of an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an ImportExport operation result resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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);
+
+ /**
+ * 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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response renameWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String databaseName,
+ ResourceMoveDefinition parameters,
+ 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 the {@link SyncPoller} for polling of a database resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a database resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a database resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a database resource.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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);
+
+ /**
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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);
+
+ /**
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByElasticPool(
+ String resourceGroupName, String serverName, String elasticPoolName, 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listInaccessibleByServer(String resourceGroupName, String serverName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DeletedServersClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DeletedServersClient.java
new file mode 100644
index 0000000000000..835348bcb89f2
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DeletedServersClient.java
@@ -0,0 +1,147 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.DeletedServerInner;
+
+/** An instance of this class provides access to all the operations defined in DeletedServersClient. */
+public interface DeletedServersClient {
+ /**
+ * Gets a list of all deleted servers in a 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 deleted servers in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list();
+
+ /**
+ * Gets a list of all deleted servers in a 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 deleted servers in a subscription as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable list(Context context);
+
+ /**
+ * Gets a deleted server.
+ *
+ * @param locationName The name of the region where the resource is located.
+ * @param deletedServerName The name of the deleted 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 deleted server.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DeletedServerInner get(String locationName, String deletedServerName);
+
+ /**
+ * Gets a deleted server.
+ *
+ * @param locationName The name of the region where the resource is located.
+ * @param deletedServerName The name of the deleted 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 deleted server along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String locationName, String deletedServerName, Context context);
+
+ /**
+ * Gets a list of deleted servers for a location.
+ *
+ * @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 deleted servers for a location as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String locationName);
+
+ /**
+ * Gets a list of deleted servers for a location.
+ *
+ * @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 deleted servers for a location as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByLocation(String locationName, Context context);
+
+ /**
+ * Recovers a deleted server.
+ *
+ * @param locationName The name of the region where the resource is located.
+ * @param deletedServerName The name of the deleted 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 the {@link SyncPoller} for polling of a deleted server.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DeletedServerInner> beginRecover(
+ String locationName, String deletedServerName);
+
+ /**
+ * Recovers a deleted server.
+ *
+ * @param locationName The name of the region where the resource is located.
+ * @param deletedServerName The name of the deleted 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 the {@link SyncPoller} for polling of a deleted server.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DeletedServerInner> beginRecover(
+ String locationName, String deletedServerName, Context context);
+
+ /**
+ * Recovers a deleted server.
+ *
+ * @param locationName The name of the region where the resource is located.
+ * @param deletedServerName The name of the deleted 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 deleted server.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DeletedServerInner recover(String locationName, String deletedServerName);
+
+ /**
+ * Recovers a deleted server.
+ *
+ * @param locationName The name of the region where the resource is located.
+ * @param deletedServerName The name of the deleted 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 deleted server.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DeletedServerInner recover(String locationName, String deletedServerName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DistributedAvailabilityGroupsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DistributedAvailabilityGroupsClient.java
new file mode 100644
index 0000000000000..ac7e927f4ea20
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DistributedAvailabilityGroupsClient.java
@@ -0,0 +1,316 @@
+// 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.DistributedAvailabilityGroupInner;
+
+/** An instance of this class provides access to all the operations defined in DistributedAvailabilityGroupsClient. */
+public interface DistributedAvailabilityGroupsClient {
+ /**
+ * Gets a list of a distributed availability groups in 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 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 a distributed availability groups in instance as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByInstance(
+ String resourceGroupName, String managedInstanceName);
+
+ /**
+ * Gets a list of a distributed availability groups in 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 managedInstanceName The name of the managed instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 a distributed availability groups in instance as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByInstance(
+ String resourceGroupName, String managedInstanceName, Context context);
+
+ /**
+ * Gets a distributed availability group info.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group 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 distributed availability group info.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DistributedAvailabilityGroupInner get(
+ String resourceGroupName, String managedInstanceName, String distributedAvailabilityGroupName);
+
+ /**
+ * Gets a distributed availability group info.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group 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 distributed availability group info along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String managedInstanceName, String distributedAvailabilityGroupName, Context context);
+
+ /**
+ * Creates a distributed availability group between Sql On-Prem and Sql 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 managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @param parameters The distributed availability group 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 the {@link SyncPoller} for polling of distributed availability group between box and Sql Managed
+ * Instance.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DistributedAvailabilityGroupInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String managedInstanceName,
+ String distributedAvailabilityGroupName,
+ DistributedAvailabilityGroupInner parameters);
+
+ /**
+ * Creates a distributed availability group between Sql On-Prem and Sql 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 managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @param parameters The distributed availability group 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 the {@link SyncPoller} for polling of distributed availability group between box and Sql Managed
+ * Instance.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DistributedAvailabilityGroupInner> beginCreateOrUpdate(
+ String resourceGroupName,
+ String managedInstanceName,
+ String distributedAvailabilityGroupName,
+ DistributedAvailabilityGroupInner parameters,
+ Context context);
+
+ /**
+ * Creates a distributed availability group between Sql On-Prem and Sql 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 managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @param parameters The distributed availability group 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 distributed availability group between box and Sql Managed Instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DistributedAvailabilityGroupInner createOrUpdate(
+ String resourceGroupName,
+ String managedInstanceName,
+ String distributedAvailabilityGroupName,
+ DistributedAvailabilityGroupInner parameters);
+
+ /**
+ * Creates a distributed availability group between Sql On-Prem and Sql 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 managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @param parameters The distributed availability group 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 distributed availability group between box and Sql Managed Instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DistributedAvailabilityGroupInner createOrUpdate(
+ String resourceGroupName,
+ String managedInstanceName,
+ String distributedAvailabilityGroupName,
+ DistributedAvailabilityGroupInner parameters,
+ Context context);
+
+ /**
+ * Drops a distributed availability group between Sql On-Prem and Sql 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 managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String managedInstanceName, String distributedAvailabilityGroupName);
+
+ /**
+ * Drops a distributed availability group between Sql On-Prem and Sql 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 managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return the {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, Void> beginDelete(
+ String resourceGroupName, String managedInstanceName, String distributedAvailabilityGroupName, Context context);
+
+ /**
+ * Drops a distributed availability group between Sql On-Prem and Sql 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 managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String managedInstanceName, String distributedAvailabilityGroupName);
+
+ /**
+ * Drops a distributed availability group between Sql On-Prem and Sql 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 managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(
+ String resourceGroupName, String managedInstanceName, String distributedAvailabilityGroupName, Context context);
+
+ /**
+ * Updates a distributed availability group replication mode.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @param parameters The distributed availability group 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 the {@link SyncPoller} for polling of distributed availability group between box and Sql Managed
+ * Instance.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DistributedAvailabilityGroupInner> beginUpdate(
+ String resourceGroupName,
+ String managedInstanceName,
+ String distributedAvailabilityGroupName,
+ DistributedAvailabilityGroupInner parameters);
+
+ /**
+ * Updates a distributed availability group replication mode.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @param parameters The distributed availability group 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 the {@link SyncPoller} for polling of distributed availability group between box and Sql Managed
+ * Instance.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ SyncPoller, DistributedAvailabilityGroupInner> beginUpdate(
+ String resourceGroupName,
+ String managedInstanceName,
+ String distributedAvailabilityGroupName,
+ DistributedAvailabilityGroupInner parameters,
+ Context context);
+
+ /**
+ * Updates a distributed availability group replication mode.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @param parameters The distributed availability group 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 distributed availability group between box and Sql Managed Instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DistributedAvailabilityGroupInner update(
+ String resourceGroupName,
+ String managedInstanceName,
+ String distributedAvailabilityGroupName,
+ DistributedAvailabilityGroupInner parameters);
+
+ /**
+ * Updates a distributed availability group replication mode.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param managedInstanceName The name of the managed instance.
+ * @param distributedAvailabilityGroupName The distributed availability group name.
+ * @param parameters The distributed availability group 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 distributed availability group between box and Sql Managed Instance.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DistributedAvailabilityGroupInner update(
+ String resourceGroupName,
+ String managedInstanceName,
+ String distributedAvailabilityGroupName,
+ DistributedAvailabilityGroupInner 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..1025f3cec9c95
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolActivitiesClient.java
@@ -0,0 +1,49 @@
+// 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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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..f3af192a3eb97
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolDatabaseActivitiesClient.java
@@ -0,0 +1,49 @@
+// 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 as paginated response with
+ * {@link PagedIterable}.
+ */
+ @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 as paginated response with
+ * {@link PagedIterable}.
+ */
+ @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..80fd6e064647e
--- /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 {@link 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..dbfe938a44eee
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolsClient.java
@@ -0,0 +1,432 @@
+// 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 as paginated response with {@link
+ * PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(
+ String resourceGroupName, String serverName, Long 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 along with {@link Response}.
+ */
+ @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 the {@link SyncPoller} for polling of an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an elastic pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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..d1cb2236ff66a
--- /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 {
+ /**
+ * 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 {@link SyncPoller} for polling of the server encryption protector.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of the server encryption protector.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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);
+
+ /**
+ * 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/EndpointCertificatesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/EndpointCertificatesClient.java
new file mode 100644
index 0000000000000..f978cd733f72a
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/EndpointCertificatesClient.java
@@ -0,0 +1,77 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.EndpointCertificateInner;
+
+/** An instance of this class provides access to all the operations defined in EndpointCertificatesClient. */
+public interface EndpointCertificatesClient {
+ /**
+ * List certificates used on endpoints on the target 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 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 endpoint certificates on the target instance as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByInstance(String resourceGroupName, String managedInstanceName);
+
+ /**
+ * List certificates used on endpoints on the target 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 managedInstanceName The name of the managed instance.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 endpoint certificates on the target instance as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByInstance(
+ String resourceGroupName, String managedInstanceName, Context context);
+
+ /**
+ * Gets a certificate used on the endpoint with the given id.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param managedInstanceName The name of the managed instance.
+ * @param endpointType Type of the endpoint whose certificate the customer is looking for.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a certificate used on the endpoint with the given id.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ EndpointCertificateInner get(String resourceGroupName, String managedInstanceName, String endpointType);
+
+ /**
+ * Gets a certificate used on the endpoint with the given id.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value
+ * from the Azure Resource Manager API or the portal.
+ * @param managedInstanceName The name of the managed instance.
+ * @param endpointType Type of the endpoint whose certificate the customer is looking for.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException thrown if the request is rejected by server.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return a certificate used on the endpoint with the given id along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String managedInstanceName, String endpointType, 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..36c61b24de1a7
--- /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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..43a8af8e718d0
--- /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 along with {@link Response}.
+ */
+ @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 the {@link SyncPoller} for polling of an extended server blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an extended server blob auditing policy.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..7ec9baaf05541
--- /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 along with {@link Response}.
+ */
+ @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 the {@link SyncPoller} for polling of a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 the {@link SyncPoller} for polling of a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of a failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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..68c54eccc8acc
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/FirewallRulesClient.java
@@ -0,0 +1,179 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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;
+import com.azure.resourcemanager.sql.generated.models.FirewallRuleList;
+
+/** An instance of this class provides access to all the operations defined in FirewallRulesClient. */
+public interface FirewallRulesClient {
+ /**
+ * 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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String firewallRuleName, Context context);
+
+ /**
+ * 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 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 a server firewall rule along with {@link Response}.
+ */
+ @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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String serverName, String firewallRuleName, Context context);
+
+ /**
+ * Gets 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 a list of firewall rules as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName);
+
+ /**
+ * Gets 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 a list of firewall rules as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName, Context context);
+
+ /**
+ * Replaces all firewall rules on the 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 parameters A list of server firewall rules.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 firewall rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ FirewallRuleInner replace(String resourceGroupName, String serverName, FirewallRuleList parameters);
+
+ /**
+ * Replaces all firewall rules on the 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 parameters A list of server firewall rules.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 firewall rule along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response replaceWithResponse(
+ String resourceGroupName, String serverName, FirewallRuleList parameters, 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..2fcbb5d2984ce
--- /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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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/IPv6FirewallRulesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/IPv6FirewallRulesClient.java
new file mode 100644
index 0000000000000..b08315e991f02
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/IPv6FirewallRulesClient.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.IPv6FirewallRuleInner;
+
+/** An instance of this class provides access to all the operations defined in IPv6FirewallRulesClient. */
+public interface IPv6FirewallRulesClient {
+ /**
+ * Gets a list of IPv6 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 a list of IPv6 firewall rules as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName);
+
+ /**
+ * Gets a list of IPv6 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 a list of IPv6 firewall rules as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByServer(String resourceGroupName, String serverName, Context context);
+
+ /**
+ * Gets an IPv6 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 an IPv6 firewall rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IPv6FirewallRuleInner get(String resourceGroupName, String serverName, String firewallRuleName);
+
+ /**
+ * Gets an IPv6 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 an IPv6 firewall rule along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(
+ String resourceGroupName, String serverName, String firewallRuleName, Context context);
+
+ /**
+ * Creates or updates an IPv6 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 an IPv6 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 an IPv6 server firewall rule.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ IPv6FirewallRuleInner createOrUpdate(
+ String resourceGroupName, String serverName, String firewallRuleName, IPv6FirewallRuleInner parameters);
+
+ /**
+ * Creates or updates an IPv6 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 an IPv6 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 an IPv6 server firewall rule along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(
+ String resourceGroupName,
+ String serverName,
+ String firewallRuleName,
+ IPv6FirewallRuleInner parameters,
+ Context context);
+
+ /**
+ * Deletes an IPv6 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 an IPv6 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 {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(
+ String resourceGroupName, String serverName, String firewallRuleName, 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..247cdd08be0c8
--- /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 along with {@link Response}.
+ */
+ @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 the {@link SyncPoller} for polling of an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 the {@link SyncPoller} for polling of an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an instance failover group.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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..fa3d800dc2218
--- /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 along with {@link Response}.
+ */
+ @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 the {@link SyncPoller} for polling of an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an Azure SQL instance pool.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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..8f340f6e479b8
--- /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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 the {@link SyncPoller} for polling of an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 {@link SyncPoller} for polling of long-running operation.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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 the {@link SyncPoller} for polling of an Azure SQL job agent.
+ */
+ @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION)
+ 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..7710b1c944d55
--- /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 as paginated response with {@link PagedIterable}.
+ */
+ @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 as paginated response with {@link PagedIterable}.
+ */
+ @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 along with {@link Response}.
+ */
+ @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 along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response