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);
+ }
+ }
+
+ /**
+ * Gets the resource collection API of DataMaskingPolicies. It manages DataMaskingPolicy.
+ *
+ * @return Resource collection API of DataMaskingPolicies.
+ */
+ public DataMaskingPolicies dataMaskingPolicies() {
+ if (this.dataMaskingPolicies == null) {
+ this.dataMaskingPolicies = new DataMaskingPoliciesImpl(clientObject.getDataMaskingPolicies(), this);
+ }
+ return dataMaskingPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of DataMaskingRules. It manages DataMaskingRule.
+ *
+ * @return Resource collection API of DataMaskingRules.
+ */
+ public DataMaskingRules dataMaskingRules() {
+ if (this.dataMaskingRules == null) {
+ this.dataMaskingRules = new DataMaskingRulesImpl(clientObject.getDataMaskingRules(), this);
+ }
+ return dataMaskingRules;
+ }
+
+ /**
+ * Gets the resource collection API of GeoBackupPolicies. It manages GeoBackupPolicy.
+ *
+ * @return Resource collection API of GeoBackupPolicies.
+ */
+ public GeoBackupPolicies geoBackupPolicies() {
+ if (this.geoBackupPolicies == null) {
+ this.geoBackupPolicies = new GeoBackupPoliciesImpl(clientObject.getGeoBackupPolicies(), this);
+ }
+ return geoBackupPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of Databases. It manages Database.
+ *
+ * @return Resource collection API of Databases.
+ */
+ public Databases databases() {
+ if (this.databases == null) {
+ this.databases = new DatabasesImpl(clientObject.getDatabases(), this);
+ }
+ return databases;
+ }
+
+ /**
+ * Gets the resource collection API of ElasticPools. It manages ElasticPool.
+ *
+ * @return Resource collection API of ElasticPools.
+ */
+ public ElasticPools elasticPools() {
+ if (this.elasticPools == null) {
+ this.elasticPools = new ElasticPoolsImpl(clientObject.getElasticPools(), this);
+ }
+ return elasticPools;
+ }
+
+ /**
+ * Gets the resource collection API of ServerCommunicationLinks. It manages ServerCommunicationLink.
+ *
+ * @return Resource collection API of ServerCommunicationLinks.
+ */
+ public ServerCommunicationLinks serverCommunicationLinks() {
+ if (this.serverCommunicationLinks == null) {
+ this.serverCommunicationLinks
+ = new ServerCommunicationLinksImpl(clientObject.getServerCommunicationLinks(), this);
+ }
+ return serverCommunicationLinks;
+ }
+
+ /**
+ * Gets the resource collection API of ServiceObjectives.
+ *
+ * @return Resource collection API of ServiceObjectives.
+ */
+ public ServiceObjectives serviceObjectives() {
+ if (this.serviceObjectives == null) {
+ this.serviceObjectives = new ServiceObjectivesImpl(clientObject.getServiceObjectives(), this);
+ }
+ return serviceObjectives;
+ }
+
+ /**
+ * Gets the resource collection API of ElasticPoolActivities.
+ *
+ * @return Resource collection API of ElasticPoolActivities.
+ */
+ public ElasticPoolActivities elasticPoolActivities() {
+ if (this.elasticPoolActivities == null) {
+ this.elasticPoolActivities = new ElasticPoolActivitiesImpl(clientObject.getElasticPoolActivities(), this);
+ }
+ return elasticPoolActivities;
+ }
+
+ /**
+ * Gets the resource collection API of ElasticPoolDatabaseActivities.
+ *
+ * @return Resource collection API of ElasticPoolDatabaseActivities.
+ */
+ public ElasticPoolDatabaseActivities elasticPoolDatabaseActivities() {
+ if (this.elasticPoolDatabaseActivities == null) {
+ this.elasticPoolDatabaseActivities
+ = new ElasticPoolDatabaseActivitiesImpl(clientObject.getElasticPoolDatabaseActivities(), this);
+ }
+ return elasticPoolDatabaseActivities;
+ }
+
+ /**
+ * Gets the resource collection API of ServerUsages.
+ *
+ * @return Resource collection API of ServerUsages.
+ */
+ public ServerUsages serverUsages() {
+ if (this.serverUsages == null) {
+ this.serverUsages = new ServerUsagesImpl(clientObject.getServerUsages(), this);
+ }
+ return serverUsages;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseAdvisors.
+ *
+ * @return Resource collection API of DatabaseAdvisors.
+ */
+ public DatabaseAdvisors databaseAdvisors() {
+ if (this.databaseAdvisors == null) {
+ this.databaseAdvisors = new DatabaseAdvisorsImpl(clientObject.getDatabaseAdvisors(), this);
+ }
+ return databaseAdvisors;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseAutomaticTunings.
+ *
+ * @return Resource collection API of DatabaseAutomaticTunings.
+ */
+ public DatabaseAutomaticTunings databaseAutomaticTunings() {
+ if (this.databaseAutomaticTunings == null) {
+ this.databaseAutomaticTunings
+ = new DatabaseAutomaticTuningsImpl(clientObject.getDatabaseAutomaticTunings(), this);
+ }
+ return databaseAutomaticTunings;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseColumns.
+ *
+ * @return Resource collection API of DatabaseColumns.
+ */
+ public DatabaseColumns databaseColumns() {
+ if (this.databaseColumns == null) {
+ this.databaseColumns = new DatabaseColumnsImpl(clientObject.getDatabaseColumns(), this);
+ }
+ return databaseColumns;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseRecommendedActions.
+ *
+ * @return Resource collection API of DatabaseRecommendedActions.
+ */
+ public DatabaseRecommendedActions databaseRecommendedActions() {
+ if (this.databaseRecommendedActions == null) {
+ this.databaseRecommendedActions
+ = new DatabaseRecommendedActionsImpl(clientObject.getDatabaseRecommendedActions(), this);
+ }
+ return databaseRecommendedActions;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseSchemas.
+ *
+ * @return Resource collection API of DatabaseSchemas.
+ */
+ public DatabaseSchemas databaseSchemas() {
+ if (this.databaseSchemas == null) {
+ this.databaseSchemas = new DatabaseSchemasImpl(clientObject.getDatabaseSchemas(), this);
+ }
+ return databaseSchemas;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseSecurityAlertPolicies. It manages DatabaseSecurityAlertPolicy.
+ *
+ * @return Resource collection API of DatabaseSecurityAlertPolicies.
+ */
+ public DatabaseSecurityAlertPolicies databaseSecurityAlertPolicies() {
+ if (this.databaseSecurityAlertPolicies == null) {
+ this.databaseSecurityAlertPolicies
+ = new DatabaseSecurityAlertPoliciesImpl(clientObject.getDatabaseSecurityAlertPolicies(), this);
+ }
+ return databaseSecurityAlertPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseTables.
+ *
+ * @return Resource collection API of DatabaseTables.
+ */
+ public DatabaseTables databaseTables() {
+ if (this.databaseTables == null) {
+ this.databaseTables = new DatabaseTablesImpl(clientObject.getDatabaseTables(), this);
+ }
+ return databaseTables;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseVulnerabilityAssessmentRuleBaselines. It manages
+ * DatabaseVulnerabilityAssessmentRuleBaseline.
+ *
+ * @return Resource collection API of DatabaseVulnerabilityAssessmentRuleBaselines.
+ */
+ public DatabaseVulnerabilityAssessmentRuleBaselines databaseVulnerabilityAssessmentRuleBaselines() {
+ if (this.databaseVulnerabilityAssessmentRuleBaselines == null) {
+ this.databaseVulnerabilityAssessmentRuleBaselines = new DatabaseVulnerabilityAssessmentRuleBaselinesImpl(
+ clientObject.getDatabaseVulnerabilityAssessmentRuleBaselines(), this);
+ }
+ return databaseVulnerabilityAssessmentRuleBaselines;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseVulnerabilityAssessments. It manages DatabaseVulnerabilityAssessment.
+ *
+ * @return Resource collection API of DatabaseVulnerabilityAssessments.
+ */
+ public DatabaseVulnerabilityAssessments databaseVulnerabilityAssessments() {
+ if (this.databaseVulnerabilityAssessments == null) {
+ this.databaseVulnerabilityAssessments
+ = new DatabaseVulnerabilityAssessmentsImpl(clientObject.getDatabaseVulnerabilityAssessments(), this);
+ }
+ return databaseVulnerabilityAssessments;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseVulnerabilityAssessmentScans.
+ *
+ * @return Resource collection API of DatabaseVulnerabilityAssessmentScans.
+ */
+ public DatabaseVulnerabilityAssessmentScans databaseVulnerabilityAssessmentScans() {
+ if (this.databaseVulnerabilityAssessmentScans == null) {
+ this.databaseVulnerabilityAssessmentScans = new DatabaseVulnerabilityAssessmentScansImpl(
+ clientObject.getDatabaseVulnerabilityAssessmentScans(), this);
+ }
+ return databaseVulnerabilityAssessmentScans;
+ }
+
+ /**
+ * Gets the resource collection API of DataWarehouseUserActivitiesOperations.
+ *
+ * @return Resource collection API of DataWarehouseUserActivitiesOperations.
+ */
+ public DataWarehouseUserActivitiesOperations dataWarehouseUserActivitiesOperations() {
+ if (this.dataWarehouseUserActivitiesOperations == null) {
+ this.dataWarehouseUserActivitiesOperations = new DataWarehouseUserActivitiesOperationsImpl(
+ clientObject.getDataWarehouseUserActivitiesOperations(), this);
+ }
+ return dataWarehouseUserActivitiesOperations;
+ }
+
+ /**
+ * Gets the resource collection API of DeletedServers.
+ *
+ * @return Resource collection API of DeletedServers.
+ */
+ public DeletedServers deletedServers() {
+ if (this.deletedServers == null) {
+ this.deletedServers = new DeletedServersImpl(clientObject.getDeletedServers(), this);
+ }
+ return deletedServers;
+ }
+
+ /**
+ * Gets the resource collection API of ElasticPoolOperations.
+ *
+ * @return Resource collection API of ElasticPoolOperations.
+ */
+ public ElasticPoolOperations elasticPoolOperations() {
+ if (this.elasticPoolOperations == null) {
+ this.elasticPoolOperations = new ElasticPoolOperationsImpl(clientObject.getElasticPoolOperations(), this);
+ }
+ return elasticPoolOperations;
+ }
+
+ /**
+ * Gets the resource collection API of EncryptionProtectors. It manages EncryptionProtector.
+ *
+ * @return Resource collection API of EncryptionProtectors.
+ */
+ public EncryptionProtectors encryptionProtectors() {
+ if (this.encryptionProtectors == null) {
+ this.encryptionProtectors = new EncryptionProtectorsImpl(clientObject.getEncryptionProtectors(), this);
+ }
+ return encryptionProtectors;
+ }
+
+ /**
+ * Gets the resource collection API of FirewallRules. It manages FirewallRule.
+ *
+ * @return Resource collection API of FirewallRules.
+ */
+ public FirewallRules firewallRules() {
+ if (this.firewallRules == null) {
+ this.firewallRules = new FirewallRulesImpl(clientObject.getFirewallRules(), this);
+ }
+ return firewallRules;
+ }
+
+ /**
+ * Gets the resource collection API of JobAgents. It manages JobAgent.
+ *
+ * @return Resource collection API of JobAgents.
+ */
+ public JobAgents jobAgents() {
+ if (this.jobAgents == null) {
+ this.jobAgents = new JobAgentsImpl(clientObject.getJobAgents(), this);
+ }
+ return jobAgents;
+ }
+
+ /**
+ * Gets the resource collection API of JobCredentials. It manages JobCredential.
+ *
+ * @return Resource collection API of JobCredentials.
+ */
+ public JobCredentials jobCredentials() {
+ if (this.jobCredentials == null) {
+ this.jobCredentials = new JobCredentialsImpl(clientObject.getJobCredentials(), this);
+ }
+ return jobCredentials;
+ }
+
+ /**
+ * Gets the resource collection API of JobExecutions.
+ *
+ * @return Resource collection API of JobExecutions.
+ */
+ public JobExecutions jobExecutions() {
+ if (this.jobExecutions == null) {
+ this.jobExecutions = new JobExecutionsImpl(clientObject.getJobExecutions(), this);
+ }
+ return jobExecutions;
+ }
+
+ /**
+ * Gets the resource collection API of JobPrivateEndpoints. It manages JobPrivateEndpoint.
+ *
+ * @return Resource collection API of JobPrivateEndpoints.
+ */
+ public JobPrivateEndpoints jobPrivateEndpoints() {
+ if (this.jobPrivateEndpoints == null) {
+ this.jobPrivateEndpoints = new JobPrivateEndpointsImpl(clientObject.getJobPrivateEndpoints(), this);
+ }
+ return jobPrivateEndpoints;
+ }
+
+ /**
+ * Gets the resource collection API of Jobs. It manages Job.
+ *
+ * @return Resource collection API of Jobs.
+ */
+ public Jobs jobs() {
+ if (this.jobs == null) {
+ this.jobs = new JobsImpl(clientObject.getJobs(), this);
+ }
+ return jobs;
+ }
+
+ /**
+ * Gets the resource collection API of JobStepExecutions.
+ *
+ * @return Resource collection API of JobStepExecutions.
+ */
+ public JobStepExecutions jobStepExecutions() {
+ if (this.jobStepExecutions == null) {
+ this.jobStepExecutions = new JobStepExecutionsImpl(clientObject.getJobStepExecutions(), this);
+ }
+ return jobStepExecutions;
+ }
+
+ /**
+ * Gets the resource collection API of JobSteps. It manages JobStep.
+ *
+ * @return Resource collection API of JobSteps.
+ */
+ public JobSteps jobSteps() {
+ if (this.jobSteps == null) {
+ this.jobSteps = new JobStepsImpl(clientObject.getJobSteps(), this);
+ }
+ return jobSteps;
+ }
+
+ /**
+ * Gets the resource collection API of JobTargetExecutions.
+ *
+ * @return Resource collection API of JobTargetExecutions.
+ */
+ public JobTargetExecutions jobTargetExecutions() {
+ if (this.jobTargetExecutions == null) {
+ this.jobTargetExecutions = new JobTargetExecutionsImpl(clientObject.getJobTargetExecutions(), this);
+ }
+ return jobTargetExecutions;
+ }
+
+ /**
+ * Gets the resource collection API of JobTargetGroups. It manages JobTargetGroup.
+ *
+ * @return Resource collection API of JobTargetGroups.
+ */
+ public JobTargetGroups jobTargetGroups() {
+ if (this.jobTargetGroups == null) {
+ this.jobTargetGroups = new JobTargetGroupsImpl(clientObject.getJobTargetGroups(), this);
+ }
+ return jobTargetGroups;
+ }
+
+ /**
+ * Gets the resource collection API of JobVersions.
+ *
+ * @return Resource collection API of JobVersions.
+ */
+ public JobVersions jobVersions() {
+ if (this.jobVersions == null) {
+ this.jobVersions = new JobVersionsImpl(clientObject.getJobVersions(), this);
+ }
+ return jobVersions;
+ }
+
+ /**
+ * Gets the resource collection API of Capabilities.
+ *
+ * @return Resource collection API of Capabilities.
+ */
+ public Capabilities capabilities() {
+ if (this.capabilities == null) {
+ this.capabilities = new CapabilitiesImpl(clientObject.getCapabilities(), this);
+ }
+ return capabilities;
+ }
+
+ /**
+ * Gets the resource collection API of MaintenanceWindowOptionsOperations.
+ *
+ * @return Resource collection API of MaintenanceWindowOptionsOperations.
+ */
+ public MaintenanceWindowOptionsOperations maintenanceWindowOptionsOperations() {
+ if (this.maintenanceWindowOptionsOperations == null) {
+ this.maintenanceWindowOptionsOperations = new MaintenanceWindowOptionsOperationsImpl(
+ clientObject.getMaintenanceWindowOptionsOperations(), this);
+ }
+ return maintenanceWindowOptionsOperations;
+ }
+
+ /**
+ * Gets the resource collection API of MaintenanceWindowsOperations.
+ *
+ * @return Resource collection API of MaintenanceWindowsOperations.
+ */
+ public MaintenanceWindowsOperations maintenanceWindowsOperations() {
+ if (this.maintenanceWindowsOperations == null) {
+ this.maintenanceWindowsOperations
+ = new MaintenanceWindowsOperationsImpl(clientObject.getMaintenanceWindowsOperations(), this);
+ }
+ return maintenanceWindowsOperations;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedBackupShortTermRetentionPolicies. It manages
+ * ManagedBackupShortTermRetentionPolicy.
+ *
+ * @return Resource collection API of ManagedBackupShortTermRetentionPolicies.
+ */
+ public ManagedBackupShortTermRetentionPolicies managedBackupShortTermRetentionPolicies() {
+ if (this.managedBackupShortTermRetentionPolicies == null) {
+ this.managedBackupShortTermRetentionPolicies = new ManagedBackupShortTermRetentionPoliciesImpl(
+ clientObject.getManagedBackupShortTermRetentionPolicies(), this);
+ }
+ return managedBackupShortTermRetentionPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseColumns.
+ *
+ * @return Resource collection API of ManagedDatabaseColumns.
+ */
+ public ManagedDatabaseColumns managedDatabaseColumns() {
+ if (this.managedDatabaseColumns == null) {
+ this.managedDatabaseColumns
+ = new ManagedDatabaseColumnsImpl(clientObject.getManagedDatabaseColumns(), this);
+ }
+ return managedDatabaseColumns;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseQueries.
+ *
+ * @return Resource collection API of ManagedDatabaseQueries.
+ */
+ public ManagedDatabaseQueries managedDatabaseQueries() {
+ if (this.managedDatabaseQueries == null) {
+ this.managedDatabaseQueries
+ = new ManagedDatabaseQueriesImpl(clientObject.getManagedDatabaseQueries(), this);
+ }
+ return managedDatabaseQueries;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseSchemas.
+ *
+ * @return Resource collection API of ManagedDatabaseSchemas.
+ */
+ public ManagedDatabaseSchemas managedDatabaseSchemas() {
+ if (this.managedDatabaseSchemas == null) {
+ this.managedDatabaseSchemas
+ = new ManagedDatabaseSchemasImpl(clientObject.getManagedDatabaseSchemas(), this);
+ }
+ return managedDatabaseSchemas;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseSecurityAlertPolicies. It manages
+ * ManagedDatabaseSecurityAlertPolicy.
+ *
+ * @return Resource collection API of ManagedDatabaseSecurityAlertPolicies.
+ */
+ public ManagedDatabaseSecurityAlertPolicies managedDatabaseSecurityAlertPolicies() {
+ if (this.managedDatabaseSecurityAlertPolicies == null) {
+ this.managedDatabaseSecurityAlertPolicies = new ManagedDatabaseSecurityAlertPoliciesImpl(
+ clientObject.getManagedDatabaseSecurityAlertPolicies(), this);
+ }
+ return managedDatabaseSecurityAlertPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseSecurityEvents.
+ *
+ * @return Resource collection API of ManagedDatabaseSecurityEvents.
+ */
+ public ManagedDatabaseSecurityEvents managedDatabaseSecurityEvents() {
+ if (this.managedDatabaseSecurityEvents == null) {
+ this.managedDatabaseSecurityEvents
+ = new ManagedDatabaseSecurityEventsImpl(clientObject.getManagedDatabaseSecurityEvents(), this);
+ }
+ return managedDatabaseSecurityEvents;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseTables.
+ *
+ * @return Resource collection API of ManagedDatabaseTables.
+ */
+ public ManagedDatabaseTables managedDatabaseTables() {
+ if (this.managedDatabaseTables == null) {
+ this.managedDatabaseTables = new ManagedDatabaseTablesImpl(clientObject.getManagedDatabaseTables(), this);
+ }
+ return managedDatabaseTables;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseTransparentDataEncryptions. It manages
+ * ManagedTransparentDataEncryption.
+ *
+ * @return Resource collection API of ManagedDatabaseTransparentDataEncryptions.
+ */
+ public ManagedDatabaseTransparentDataEncryptions managedDatabaseTransparentDataEncryptions() {
+ if (this.managedDatabaseTransparentDataEncryptions == null) {
+ this.managedDatabaseTransparentDataEncryptions = new ManagedDatabaseTransparentDataEncryptionsImpl(
+ clientObject.getManagedDatabaseTransparentDataEncryptions(), this);
+ }
+ return managedDatabaseTransparentDataEncryptions;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseVulnerabilityAssessmentRuleBaselines.
+ *
+ * @return Resource collection API of ManagedDatabaseVulnerabilityAssessmentRuleBaselines.
+ */
+ public ManagedDatabaseVulnerabilityAssessmentRuleBaselines managedDatabaseVulnerabilityAssessmentRuleBaselines() {
+ if (this.managedDatabaseVulnerabilityAssessmentRuleBaselines == null) {
+ this.managedDatabaseVulnerabilityAssessmentRuleBaselines
+ = new ManagedDatabaseVulnerabilityAssessmentRuleBaselinesImpl(
+ clientObject.getManagedDatabaseVulnerabilityAssessmentRuleBaselines(), this);
+ }
+ return managedDatabaseVulnerabilityAssessmentRuleBaselines;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseVulnerabilityAssessments.
+ *
+ * @return Resource collection API of ManagedDatabaseVulnerabilityAssessments.
+ */
+ public ManagedDatabaseVulnerabilityAssessments managedDatabaseVulnerabilityAssessments() {
+ if (this.managedDatabaseVulnerabilityAssessments == null) {
+ this.managedDatabaseVulnerabilityAssessments = new ManagedDatabaseVulnerabilityAssessmentsImpl(
+ clientObject.getManagedDatabaseVulnerabilityAssessments(), this);
+ }
+ return managedDatabaseVulnerabilityAssessments;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseVulnerabilityAssessmentScans.
+ *
+ * @return Resource collection API of ManagedDatabaseVulnerabilityAssessmentScans.
+ */
+ public ManagedDatabaseVulnerabilityAssessmentScans managedDatabaseVulnerabilityAssessmentScans() {
+ if (this.managedDatabaseVulnerabilityAssessmentScans == null) {
+ this.managedDatabaseVulnerabilityAssessmentScans = new ManagedDatabaseVulnerabilityAssessmentScansImpl(
+ clientObject.getManagedDatabaseVulnerabilityAssessmentScans(), this);
+ }
+ return managedDatabaseVulnerabilityAssessmentScans;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstanceAdministrators. It manages ManagedInstanceAdministrator.
+ *
+ * @return Resource collection API of ManagedInstanceAdministrators.
+ */
+ public ManagedInstanceAdministrators managedInstanceAdministrators() {
+ if (this.managedInstanceAdministrators == null) {
+ this.managedInstanceAdministrators
+ = new ManagedInstanceAdministratorsImpl(clientObject.getManagedInstanceAdministrators(), this);
+ }
+ return managedInstanceAdministrators;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstanceAzureADOnlyAuthentications. It manages
+ * ManagedInstanceAzureADOnlyAuthentication.
+ *
+ * @return Resource collection API of ManagedInstanceAzureADOnlyAuthentications.
+ */
+ public ManagedInstanceAzureADOnlyAuthentications managedInstanceAzureADOnlyAuthentications() {
+ if (this.managedInstanceAzureADOnlyAuthentications == null) {
+ this.managedInstanceAzureADOnlyAuthentications = new ManagedInstanceAzureADOnlyAuthenticationsImpl(
+ clientObject.getManagedInstanceAzureADOnlyAuthentications(), this);
+ }
+ return managedInstanceAzureADOnlyAuthentications;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstanceEncryptionProtectors. It manages
+ * ManagedInstanceEncryptionProtector.
+ *
+ * @return Resource collection API of ManagedInstanceEncryptionProtectors.
+ */
+ public ManagedInstanceEncryptionProtectors managedInstanceEncryptionProtectors() {
+ if (this.managedInstanceEncryptionProtectors == null) {
+ this.managedInstanceEncryptionProtectors = new ManagedInstanceEncryptionProtectorsImpl(
+ clientObject.getManagedInstanceEncryptionProtectors(), this);
+ }
+ return managedInstanceEncryptionProtectors;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstanceKeys. It manages ManagedInstanceKey.
+ *
+ * @return Resource collection API of ManagedInstanceKeys.
+ */
+ public ManagedInstanceKeys managedInstanceKeys() {
+ if (this.managedInstanceKeys == null) {
+ this.managedInstanceKeys = new ManagedInstanceKeysImpl(clientObject.getManagedInstanceKeys(), this);
+ }
+ return managedInstanceKeys;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstanceLongTermRetentionPolicies. It manages
+ * ManagedInstanceLongTermRetentionPolicy.
+ *
+ * @return Resource collection API of ManagedInstanceLongTermRetentionPolicies.
+ */
+ public ManagedInstanceLongTermRetentionPolicies managedInstanceLongTermRetentionPolicies() {
+ if (this.managedInstanceLongTermRetentionPolicies == null) {
+ this.managedInstanceLongTermRetentionPolicies = new ManagedInstanceLongTermRetentionPoliciesImpl(
+ clientObject.getManagedInstanceLongTermRetentionPolicies(), this);
+ }
+ return managedInstanceLongTermRetentionPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstanceOperations.
+ *
+ * @return Resource collection API of ManagedInstanceOperations.
+ */
+ public ManagedInstanceOperations managedInstanceOperations() {
+ if (this.managedInstanceOperations == null) {
+ this.managedInstanceOperations
+ = new ManagedInstanceOperationsImpl(clientObject.getManagedInstanceOperations(), this);
+ }
+ return managedInstanceOperations;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstancePrivateEndpointConnections. It manages
+ * ManagedInstancePrivateEndpointConnection.
+ *
+ * @return Resource collection API of ManagedInstancePrivateEndpointConnections.
+ */
+ public ManagedInstancePrivateEndpointConnections managedInstancePrivateEndpointConnections() {
+ if (this.managedInstancePrivateEndpointConnections == null) {
+ this.managedInstancePrivateEndpointConnections = new ManagedInstancePrivateEndpointConnectionsImpl(
+ clientObject.getManagedInstancePrivateEndpointConnections(), this);
+ }
+ return managedInstancePrivateEndpointConnections;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstancePrivateLinkResources.
+ *
+ * @return Resource collection API of ManagedInstancePrivateLinkResources.
+ */
+ public ManagedInstancePrivateLinkResources managedInstancePrivateLinkResources() {
+ if (this.managedInstancePrivateLinkResources == null) {
+ this.managedInstancePrivateLinkResources = new ManagedInstancePrivateLinkResourcesImpl(
+ clientObject.getManagedInstancePrivateLinkResources(), this);
+ }
+ return managedInstancePrivateLinkResources;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstanceTdeCertificates.
+ *
+ * @return Resource collection API of ManagedInstanceTdeCertificates.
+ */
+ public ManagedInstanceTdeCertificates managedInstanceTdeCertificates() {
+ if (this.managedInstanceTdeCertificates == null) {
+ this.managedInstanceTdeCertificates
+ = new ManagedInstanceTdeCertificatesImpl(clientObject.getManagedInstanceTdeCertificates(), this);
+ }
+ return managedInstanceTdeCertificates;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstanceVulnerabilityAssessments. It manages
+ * ManagedInstanceVulnerabilityAssessment.
+ *
+ * @return Resource collection API of ManagedInstanceVulnerabilityAssessments.
+ */
+ public ManagedInstanceVulnerabilityAssessments managedInstanceVulnerabilityAssessments() {
+ if (this.managedInstanceVulnerabilityAssessments == null) {
+ this.managedInstanceVulnerabilityAssessments = new ManagedInstanceVulnerabilityAssessmentsImpl(
+ clientObject.getManagedInstanceVulnerabilityAssessments(), this);
+ }
+ return managedInstanceVulnerabilityAssessments;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.
+ *
+ * @return Resource collection API of ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.
+ */
+ public ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies
+ managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies() {
+ if (this.managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies == null) {
+ this.managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies
+ = new ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesImpl(
+ clientObject.getManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies(), this);
+ }
+ return managedRestorableDroppedDatabaseBackupShortTermRetentionPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedServerSecurityAlertPolicies. It manages
+ * ManagedServerSecurityAlertPolicy.
+ *
+ * @return Resource collection API of ManagedServerSecurityAlertPolicies.
+ */
+ public ManagedServerSecurityAlertPolicies managedServerSecurityAlertPolicies() {
+ if (this.managedServerSecurityAlertPolicies == null) {
+ this.managedServerSecurityAlertPolicies = new ManagedServerSecurityAlertPoliciesImpl(
+ clientObject.getManagedServerSecurityAlertPolicies(), this);
+ }
+ return managedServerSecurityAlertPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of Operations.
+ *
+ * @return Resource collection API of Operations.
+ */
+ public Operations operations() {
+ if (this.operations == null) {
+ this.operations = new OperationsImpl(clientObject.getOperations(), this);
+ }
+ return operations;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateEndpointConnections. It manages PrivateEndpointConnection.
+ *
+ * @return Resource collection API of PrivateEndpointConnections.
+ */
+ public PrivateEndpointConnections privateEndpointConnections() {
+ if (this.privateEndpointConnections == null) {
+ this.privateEndpointConnections
+ = new PrivateEndpointConnectionsImpl(clientObject.getPrivateEndpointConnections(), this);
+ }
+ return privateEndpointConnections;
+ }
+
+ /**
+ * Gets the resource collection API of PrivateLinkResources.
+ *
+ * @return Resource collection API of PrivateLinkResources.
+ */
+ public PrivateLinkResources privateLinkResources() {
+ if (this.privateLinkResources == null) {
+ this.privateLinkResources = new PrivateLinkResourcesImpl(clientObject.getPrivateLinkResources(), this);
+ }
+ return privateLinkResources;
+ }
+
+ /**
+ * Gets the resource collection API of RecoverableManagedDatabases.
+ *
+ * @return Resource collection API of RecoverableManagedDatabases.
+ */
+ public RecoverableManagedDatabases recoverableManagedDatabases() {
+ if (this.recoverableManagedDatabases == null) {
+ this.recoverableManagedDatabases
+ = new RecoverableManagedDatabasesImpl(clientObject.getRecoverableManagedDatabases(), this);
+ }
+ return recoverableManagedDatabases;
+ }
+
+ /**
+ * Gets the resource collection API of RestorePoints.
+ *
+ * @return Resource collection API of RestorePoints.
+ */
+ public RestorePoints restorePoints() {
+ if (this.restorePoints == null) {
+ this.restorePoints = new RestorePointsImpl(clientObject.getRestorePoints(), this);
+ }
+ return restorePoints;
+ }
+
+ /**
+ * Gets the resource collection API of ServerAdvisors.
+ *
+ * @return Resource collection API of ServerAdvisors.
+ */
+ public ServerAdvisors serverAdvisors() {
+ if (this.serverAdvisors == null) {
+ this.serverAdvisors = new ServerAdvisorsImpl(clientObject.getServerAdvisors(), this);
+ }
+ return serverAdvisors;
+ }
+
+ /**
+ * Gets the resource collection API of ServerAutomaticTunings.
+ *
+ * @return Resource collection API of ServerAutomaticTunings.
+ */
+ public ServerAutomaticTunings serverAutomaticTunings() {
+ if (this.serverAutomaticTunings == null) {
+ this.serverAutomaticTunings
+ = new ServerAutomaticTuningsImpl(clientObject.getServerAutomaticTunings(), this);
+ }
+ return serverAutomaticTunings;
+ }
+
+ /**
+ * Gets the resource collection API of ServerAzureADAdministrators. It manages ServerAzureADAdministrator.
+ *
+ * @return Resource collection API of ServerAzureADAdministrators.
+ */
+ public ServerAzureADAdministrators serverAzureADAdministrators() {
+ if (this.serverAzureADAdministrators == null) {
+ this.serverAzureADAdministrators
+ = new ServerAzureADAdministratorsImpl(clientObject.getServerAzureADAdministrators(), this);
+ }
+ return serverAzureADAdministrators;
+ }
+
+ /**
+ * Gets the resource collection API of ServerAzureADOnlyAuthentications. It manages ServerAzureADOnlyAuthentication.
+ *
+ * @return Resource collection API of ServerAzureADOnlyAuthentications.
+ */
+ public ServerAzureADOnlyAuthentications serverAzureADOnlyAuthentications() {
+ if (this.serverAzureADOnlyAuthentications == null) {
+ this.serverAzureADOnlyAuthentications
+ = new ServerAzureADOnlyAuthenticationsImpl(clientObject.getServerAzureADOnlyAuthentications(), this);
+ }
+ return serverAzureADOnlyAuthentications;
+ }
+
+ /**
+ * Gets the resource collection API of ServerDevOpsAuditSettings. It manages ServerDevOpsAuditingSettings.
+ *
+ * @return Resource collection API of ServerDevOpsAuditSettings.
+ */
+ public ServerDevOpsAuditSettings serverDevOpsAuditSettings() {
+ if (this.serverDevOpsAuditSettings == null) {
+ this.serverDevOpsAuditSettings
+ = new ServerDevOpsAuditSettingsImpl(clientObject.getServerDevOpsAuditSettings(), this);
+ }
+ return serverDevOpsAuditSettings;
+ }
+
+ /**
+ * Gets the resource collection API of ServerDnsAliases.
+ *
+ * @return Resource collection API of ServerDnsAliases.
+ */
+ public ServerDnsAliases serverDnsAliases() {
+ if (this.serverDnsAliases == null) {
+ this.serverDnsAliases = new ServerDnsAliasesImpl(clientObject.getServerDnsAliases(), this);
+ }
+ return serverDnsAliases;
+ }
+
+ /**
+ * Gets the resource collection API of ServerKeys. It manages ServerKey.
+ *
+ * @return Resource collection API of ServerKeys.
+ */
+ public ServerKeys serverKeys() {
+ if (this.serverKeys == null) {
+ this.serverKeys = new ServerKeysImpl(clientObject.getServerKeys(), this);
+ }
+ return serverKeys;
+ }
+
+ /**
+ * Gets the resource collection API of ServerOperations.
+ *
+ * @return Resource collection API of ServerOperations.
+ */
+ public ServerOperations serverOperations() {
+ if (this.serverOperations == null) {
+ this.serverOperations = new ServerOperationsImpl(clientObject.getServerOperations(), this);
+ }
+ return serverOperations;
+ }
+
+ /**
+ * Gets the resource collection API of ServerSecurityAlertPolicies. It manages ServerSecurityAlertPolicy.
+ *
+ * @return Resource collection API of ServerSecurityAlertPolicies.
+ */
+ public ServerSecurityAlertPolicies serverSecurityAlertPolicies() {
+ if (this.serverSecurityAlertPolicies == null) {
+ this.serverSecurityAlertPolicies
+ = new ServerSecurityAlertPoliciesImpl(clientObject.getServerSecurityAlertPolicies(), this);
+ }
+ return serverSecurityAlertPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of ServerTrustGroups. It manages ServerTrustGroup.
+ *
+ * @return Resource collection API of ServerTrustGroups.
+ */
+ public ServerTrustGroups serverTrustGroups() {
+ if (this.serverTrustGroups == null) {
+ this.serverTrustGroups = new ServerTrustGroupsImpl(clientObject.getServerTrustGroups(), this);
+ }
+ return serverTrustGroups;
+ }
+
+ /**
+ * Gets the resource collection API of ServerVulnerabilityAssessments. It manages ServerVulnerabilityAssessment.
+ *
+ * @return Resource collection API of ServerVulnerabilityAssessments.
+ */
+ public ServerVulnerabilityAssessments serverVulnerabilityAssessments() {
+ if (this.serverVulnerabilityAssessments == null) {
+ this.serverVulnerabilityAssessments
+ = new ServerVulnerabilityAssessmentsImpl(clientObject.getServerVulnerabilityAssessments(), this);
+ }
+ return serverVulnerabilityAssessments;
+ }
+
+ /**
+ * Gets the resource collection API of SqlAgents.
+ *
+ * @return Resource collection API of SqlAgents.
+ */
+ public SqlAgents sqlAgents() {
+ if (this.sqlAgents == null) {
+ this.sqlAgents = new SqlAgentsImpl(clientObject.getSqlAgents(), this);
+ }
+ return sqlAgents;
+ }
+
+ /**
+ * Gets the resource collection API of SubscriptionUsages.
+ *
+ * @return Resource collection API of SubscriptionUsages.
+ */
+ public SubscriptionUsages subscriptionUsages() {
+ if (this.subscriptionUsages == null) {
+ this.subscriptionUsages = new SubscriptionUsagesImpl(clientObject.getSubscriptionUsages(), this);
+ }
+ return subscriptionUsages;
+ }
+
+ /**
+ * Gets the resource collection API of SyncAgents. It manages SyncAgent.
+ *
+ * @return Resource collection API of SyncAgents.
+ */
+ public SyncAgents syncAgents() {
+ if (this.syncAgents == null) {
+ this.syncAgents = new SyncAgentsImpl(clientObject.getSyncAgents(), this);
+ }
+ return syncAgents;
+ }
+
+ /**
+ * Gets the resource collection API of SyncGroups. It manages SyncGroup.
+ *
+ * @return Resource collection API of SyncGroups.
+ */
+ public SyncGroups syncGroups() {
+ if (this.syncGroups == null) {
+ this.syncGroups = new SyncGroupsImpl(clientObject.getSyncGroups(), this);
+ }
+ return syncGroups;
+ }
+
+ /**
+ * Gets the resource collection API of SyncMembers. It manages SyncMember.
+ *
+ * @return Resource collection API of SyncMembers.
+ */
+ public SyncMembers syncMembers() {
+ if (this.syncMembers == null) {
+ this.syncMembers = new SyncMembersImpl(clientObject.getSyncMembers(), this);
+ }
+ return syncMembers;
+ }
+
+ /**
+ * Gets the resource collection API of TdeCertificates.
+ *
+ * @return Resource collection API of TdeCertificates.
+ */
+ public TdeCertificates tdeCertificates() {
+ if (this.tdeCertificates == null) {
+ this.tdeCertificates = new TdeCertificatesImpl(clientObject.getTdeCertificates(), this);
+ }
+ return tdeCertificates;
+ }
+
+ /**
+ * Gets the resource collection API of TimeZones.
+ *
+ * @return Resource collection API of TimeZones.
+ */
+ public TimeZones timeZones() {
+ if (this.timeZones == null) {
+ this.timeZones = new TimeZonesImpl(clientObject.getTimeZones(), this);
+ }
+ return timeZones;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualNetworkRules. It manages VirtualNetworkRule.
+ *
+ * @return Resource collection API of VirtualNetworkRules.
+ */
+ public VirtualNetworkRules virtualNetworkRules() {
+ if (this.virtualNetworkRules == null) {
+ this.virtualNetworkRules = new VirtualNetworkRulesImpl(clientObject.getVirtualNetworkRules(), this);
+ }
+ return virtualNetworkRules;
+ }
+
+ /**
+ * Gets the resource collection API of WorkloadClassifiers. It manages WorkloadClassifier.
+ *
+ * @return Resource collection API of WorkloadClassifiers.
+ */
+ public WorkloadClassifiers workloadClassifiers() {
+ if (this.workloadClassifiers == null) {
+ this.workloadClassifiers = new WorkloadClassifiersImpl(clientObject.getWorkloadClassifiers(), this);
+ }
+ return workloadClassifiers;
+ }
+
+ /**
+ * Gets the resource collection API of WorkloadGroups. It manages WorkloadGroup.
+ *
+ * @return Resource collection API of WorkloadGroups.
+ */
+ public WorkloadGroups workloadGroups() {
+ if (this.workloadGroups == null) {
+ this.workloadGroups = new WorkloadGroupsImpl(clientObject.getWorkloadGroups(), this);
+ }
+ return workloadGroups;
+ }
+
+ /**
+ * Gets the resource collection API of BackupShortTermRetentionPolicies. It manages BackupShortTermRetentionPolicy.
+ *
+ * @return Resource collection API of BackupShortTermRetentionPolicies.
+ */
+ public BackupShortTermRetentionPolicies backupShortTermRetentionPolicies() {
+ if (this.backupShortTermRetentionPolicies == null) {
+ this.backupShortTermRetentionPolicies
+ = new BackupShortTermRetentionPoliciesImpl(clientObject.getBackupShortTermRetentionPolicies(), this);
+ }
+ return backupShortTermRetentionPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseExtensionsOperations. It manages
+ * ImportExportExtensionsOperationResult.
+ *
+ * @return Resource collection API of DatabaseExtensionsOperations.
+ */
+ public DatabaseExtensionsOperations databaseExtensionsOperations() {
+ if (this.databaseExtensionsOperations == null) {
+ this.databaseExtensionsOperations
+ = new DatabaseExtensionsOperationsImpl(clientObject.getDatabaseExtensionsOperations(), this);
+ }
+ return databaseExtensionsOperations;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseUsages.
+ *
+ * @return Resource collection API of DatabaseUsages.
+ */
+ public DatabaseUsages databaseUsages() {
+ if (this.databaseUsages == null) {
+ this.databaseUsages = new DatabaseUsagesImpl(clientObject.getDatabaseUsages(), this);
+ }
+ return databaseUsages;
+ }
+
+ /**
+ * Gets the resource collection API of LedgerDigestUploadsOperations. It manages LedgerDigestUploads.
+ *
+ * @return Resource collection API of LedgerDigestUploadsOperations.
+ */
+ public LedgerDigestUploadsOperations ledgerDigestUploadsOperations() {
+ if (this.ledgerDigestUploadsOperations == null) {
+ this.ledgerDigestUploadsOperations
+ = new LedgerDigestUploadsOperationsImpl(clientObject.getLedgerDigestUploadsOperations(), this);
+ }
+ return ledgerDigestUploadsOperations;
+ }
+
+ /**
+ * Gets the resource collection API of OutboundFirewallRules. It manages OutboundFirewallRule.
+ *
+ * @return Resource collection API of OutboundFirewallRules.
+ */
+ public OutboundFirewallRules outboundFirewallRules() {
+ if (this.outboundFirewallRules == null) {
+ this.outboundFirewallRules = new OutboundFirewallRulesImpl(clientObject.getOutboundFirewallRules(), this);
+ }
+ return outboundFirewallRules;
+ }
+
+ /**
+ * Gets the resource collection API of Usages.
+ *
+ * @return Resource collection API of Usages.
+ */
+ public Usages usages() {
+ if (this.usages == null) {
+ this.usages = new UsagesImpl(clientObject.getUsages(), this);
+ }
+ return usages;
+ }
+
+ /**
+ * Gets the resource collection API of LongTermRetentionManagedInstanceBackups.
+ *
+ * @return Resource collection API of LongTermRetentionManagedInstanceBackups.
+ */
+ public LongTermRetentionManagedInstanceBackups longTermRetentionManagedInstanceBackups() {
+ if (this.longTermRetentionManagedInstanceBackups == null) {
+ this.longTermRetentionManagedInstanceBackups = new LongTermRetentionManagedInstanceBackupsImpl(
+ clientObject.getLongTermRetentionManagedInstanceBackups(), this);
+ }
+ return longTermRetentionManagedInstanceBackups;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableDroppedManagedDatabases.
+ *
+ * @return Resource collection API of RestorableDroppedManagedDatabases.
+ */
+ public RestorableDroppedManagedDatabases restorableDroppedManagedDatabases() {
+ if (this.restorableDroppedManagedDatabases == null) {
+ this.restorableDroppedManagedDatabases
+ = new RestorableDroppedManagedDatabasesImpl(clientObject.getRestorableDroppedManagedDatabases(), this);
+ }
+ return restorableDroppedManagedDatabases;
+ }
+
+ /**
+ * Gets the resource collection API of ServerConnectionPolicies. It manages ServerConnectionPolicy.
+ *
+ * @return Resource collection API of ServerConnectionPolicies.
+ */
+ public ServerConnectionPolicies serverConnectionPolicies() {
+ if (this.serverConnectionPolicies == null) {
+ this.serverConnectionPolicies
+ = new ServerConnectionPoliciesImpl(clientObject.getServerConnectionPolicies(), this);
+ }
+ return serverConnectionPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of DistributedAvailabilityGroups. It manages DistributedAvailabilityGroup.
+ *
+ * @return Resource collection API of DistributedAvailabilityGroups.
+ */
+ public DistributedAvailabilityGroups distributedAvailabilityGroups() {
+ if (this.distributedAvailabilityGroups == null) {
+ this.distributedAvailabilityGroups
+ = new DistributedAvailabilityGroupsImpl(clientObject.getDistributedAvailabilityGroups(), this);
+ }
+ return distributedAvailabilityGroups;
+ }
+
+ /**
+ * Gets the resource collection API of ServerTrustCertificates. It manages ServerTrustCertificate.
+ *
+ * @return Resource collection API of ServerTrustCertificates.
+ */
+ public ServerTrustCertificates serverTrustCertificates() {
+ if (this.serverTrustCertificates == null) {
+ this.serverTrustCertificates
+ = new ServerTrustCertificatesImpl(clientObject.getServerTrustCertificates(), this);
+ }
+ return serverTrustCertificates;
+ }
+
+ /**
+ * Gets the resource collection API of EndpointCertificates.
+ *
+ * @return Resource collection API of EndpointCertificates.
+ */
+ public EndpointCertificates endpointCertificates() {
+ if (this.endpointCertificates == null) {
+ this.endpointCertificates = new EndpointCertificatesImpl(clientObject.getEndpointCertificates(), this);
+ }
+ return endpointCertificates;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseSensitivityLabels. It manages SensitivityLabel.
+ *
+ * @return Resource collection API of ManagedDatabaseSensitivityLabels.
+ */
+ public ManagedDatabaseSensitivityLabels managedDatabaseSensitivityLabels() {
+ if (this.managedDatabaseSensitivityLabels == null) {
+ this.managedDatabaseSensitivityLabels
+ = new ManagedDatabaseSensitivityLabelsImpl(clientObject.getManagedDatabaseSensitivityLabels(), this);
+ }
+ return managedDatabaseSensitivityLabels;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseRecommendedSensitivityLabels.
+ *
+ * @return Resource collection API of ManagedDatabaseRecommendedSensitivityLabels.
+ */
+ public ManagedDatabaseRecommendedSensitivityLabels managedDatabaseRecommendedSensitivityLabels() {
+ if (this.managedDatabaseRecommendedSensitivityLabels == null) {
+ this.managedDatabaseRecommendedSensitivityLabels = new ManagedDatabaseRecommendedSensitivityLabelsImpl(
+ clientObject.getManagedDatabaseRecommendedSensitivityLabels(), this);
+ }
+ return managedDatabaseRecommendedSensitivityLabels;
+ }
+
+ /**
+ * Gets the resource collection API of SensitivityLabels.
+ *
+ * @return Resource collection API of SensitivityLabels.
+ */
+ public SensitivityLabels sensitivityLabels() {
+ if (this.sensitivityLabels == null) {
+ this.sensitivityLabels = new SensitivityLabelsImpl(clientObject.getSensitivityLabels(), this);
+ }
+ return sensitivityLabels;
+ }
+
+ /**
+ * Gets the resource collection API of RecommendedSensitivityLabels.
+ *
+ * @return Resource collection API of RecommendedSensitivityLabels.
+ */
+ public RecommendedSensitivityLabels recommendedSensitivityLabels() {
+ if (this.recommendedSensitivityLabels == null) {
+ this.recommendedSensitivityLabels
+ = new RecommendedSensitivityLabelsImpl(clientObject.getRecommendedSensitivityLabels(), this);
+ }
+ return recommendedSensitivityLabels;
+ }
+
+ /**
+ * Gets the resource collection API of ServerBlobAuditingPolicies. It manages ServerBlobAuditingPolicy.
+ *
+ * @return Resource collection API of ServerBlobAuditingPolicies.
+ */
+ public ServerBlobAuditingPolicies serverBlobAuditingPolicies() {
+ if (this.serverBlobAuditingPolicies == null) {
+ this.serverBlobAuditingPolicies
+ = new ServerBlobAuditingPoliciesImpl(clientObject.getServerBlobAuditingPolicies(), this);
+ }
+ return serverBlobAuditingPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseBlobAuditingPolicies. It manages DatabaseBlobAuditingPolicy.
+ *
+ * @return Resource collection API of DatabaseBlobAuditingPolicies.
+ */
+ public DatabaseBlobAuditingPolicies databaseBlobAuditingPolicies() {
+ if (this.databaseBlobAuditingPolicies == null) {
+ this.databaseBlobAuditingPolicies
+ = new DatabaseBlobAuditingPoliciesImpl(clientObject.getDatabaseBlobAuditingPolicies(), this);
+ }
+ return databaseBlobAuditingPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of ExtendedDatabaseBlobAuditingPolicies. It manages
+ * ExtendedDatabaseBlobAuditingPolicy.
+ *
+ * @return Resource collection API of ExtendedDatabaseBlobAuditingPolicies.
+ */
+ public ExtendedDatabaseBlobAuditingPolicies extendedDatabaseBlobAuditingPolicies() {
+ if (this.extendedDatabaseBlobAuditingPolicies == null) {
+ this.extendedDatabaseBlobAuditingPolicies = new ExtendedDatabaseBlobAuditingPoliciesImpl(
+ clientObject.getExtendedDatabaseBlobAuditingPolicies(), this);
+ }
+ return extendedDatabaseBlobAuditingPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of ExtendedServerBlobAuditingPolicies. It manages
+ * ExtendedServerBlobAuditingPolicy.
+ *
+ * @return Resource collection API of ExtendedServerBlobAuditingPolicies.
+ */
+ public ExtendedServerBlobAuditingPolicies extendedServerBlobAuditingPolicies() {
+ if (this.extendedServerBlobAuditingPolicies == null) {
+ this.extendedServerBlobAuditingPolicies = new ExtendedServerBlobAuditingPoliciesImpl(
+ clientObject.getExtendedServerBlobAuditingPolicies(), this);
+ }
+ return extendedServerBlobAuditingPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseAdvancedThreatProtectionSettings. It manages
+ * DatabaseAdvancedThreatProtection.
+ *
+ * @return Resource collection API of DatabaseAdvancedThreatProtectionSettings.
+ */
+ public DatabaseAdvancedThreatProtectionSettings databaseAdvancedThreatProtectionSettings() {
+ if (this.databaseAdvancedThreatProtectionSettings == null) {
+ this.databaseAdvancedThreatProtectionSettings = new DatabaseAdvancedThreatProtectionSettingsImpl(
+ clientObject.getDatabaseAdvancedThreatProtectionSettings(), this);
+ }
+ return databaseAdvancedThreatProtectionSettings;
+ }
+
+ /**
+ * Gets the resource collection API of ServerAdvancedThreatProtectionSettings. It manages
+ * ServerAdvancedThreatProtection.
+ *
+ * @return Resource collection API of ServerAdvancedThreatProtectionSettings.
+ */
+ public ServerAdvancedThreatProtectionSettings serverAdvancedThreatProtectionSettings() {
+ if (this.serverAdvancedThreatProtectionSettings == null) {
+ this.serverAdvancedThreatProtectionSettings = new ServerAdvancedThreatProtectionSettingsImpl(
+ clientObject.getServerAdvancedThreatProtectionSettings(), this);
+ }
+ return serverAdvancedThreatProtectionSettings;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedServerDnsAliases. It manages ManagedServerDnsAlias.
+ *
+ * @return Resource collection API of ManagedServerDnsAliases.
+ */
+ public ManagedServerDnsAliases managedServerDnsAliases() {
+ if (this.managedServerDnsAliases == null) {
+ this.managedServerDnsAliases
+ = new ManagedServerDnsAliasesImpl(clientObject.getManagedServerDnsAliases(), this);
+ }
+ return managedServerDnsAliases;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseAdvancedThreatProtectionSettings. It manages
+ * ManagedDatabaseAdvancedThreatProtection.
+ *
+ * @return Resource collection API of ManagedDatabaseAdvancedThreatProtectionSettings.
+ */
+ public ManagedDatabaseAdvancedThreatProtectionSettings managedDatabaseAdvancedThreatProtectionSettings() {
+ if (this.managedDatabaseAdvancedThreatProtectionSettings == null) {
+ this.managedDatabaseAdvancedThreatProtectionSettings
+ = new ManagedDatabaseAdvancedThreatProtectionSettingsImpl(
+ clientObject.getManagedDatabaseAdvancedThreatProtectionSettings(), this);
+ }
+ return managedDatabaseAdvancedThreatProtectionSettings;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstanceAdvancedThreatProtectionSettings. It manages
+ * ManagedInstanceAdvancedThreatProtection.
+ *
+ * @return Resource collection API of ManagedInstanceAdvancedThreatProtectionSettings.
+ */
+ public ManagedInstanceAdvancedThreatProtectionSettings managedInstanceAdvancedThreatProtectionSettings() {
+ if (this.managedInstanceAdvancedThreatProtectionSettings == null) {
+ this.managedInstanceAdvancedThreatProtectionSettings
+ = new ManagedInstanceAdvancedThreatProtectionSettingsImpl(
+ clientObject.getManagedInstanceAdvancedThreatProtectionSettings(), this);
+ }
+ return managedInstanceAdvancedThreatProtectionSettings;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseMoveOperations.
+ *
+ * @return Resource collection API of ManagedDatabaseMoveOperations.
+ */
+ public ManagedDatabaseMoveOperations managedDatabaseMoveOperations() {
+ if (this.managedDatabaseMoveOperations == null) {
+ this.managedDatabaseMoveOperations
+ = new ManagedDatabaseMoveOperationsImpl(clientObject.getManagedDatabaseMoveOperations(), this);
+ }
+ return managedDatabaseMoveOperations;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstanceDtcs. It manages ManagedInstanceDtc.
+ *
+ * @return Resource collection API of ManagedInstanceDtcs.
+ */
+ public ManagedInstanceDtcs managedInstanceDtcs() {
+ if (this.managedInstanceDtcs == null) {
+ this.managedInstanceDtcs = new ManagedInstanceDtcsImpl(clientObject.getManagedInstanceDtcs(), this);
+ }
+ return managedInstanceDtcs;
+ }
+
+ /**
+ * Gets the resource collection API of SynapseLinkWorkspaces.
+ *
+ * @return Resource collection API of SynapseLinkWorkspaces.
+ */
+ public SynapseLinkWorkspaces synapseLinkWorkspaces() {
+ if (this.synapseLinkWorkspaces == null) {
+ this.synapseLinkWorkspaces = new SynapseLinkWorkspacesImpl(clientObject.getSynapseLinkWorkspaces(), this);
+ }
+ return synapseLinkWorkspaces;
+ }
+
+ /**
+ * Gets the resource collection API of VirtualClusters.
+ *
+ * @return Resource collection API of VirtualClusters.
+ */
+ public VirtualClusters virtualClusters() {
+ if (this.virtualClusters == null) {
+ this.virtualClusters = new VirtualClustersImpl(clientObject.getVirtualClusters(), this);
+ }
+ return virtualClusters;
+ }
+
+ /**
+ * Gets the resource collection API of InstanceFailoverGroups. It manages InstanceFailoverGroup.
+ *
+ * @return Resource collection API of InstanceFailoverGroups.
+ */
+ public InstanceFailoverGroups instanceFailoverGroups() {
+ if (this.instanceFailoverGroups == null) {
+ this.instanceFailoverGroups
+ = new InstanceFailoverGroupsImpl(clientObject.getInstanceFailoverGroups(), this);
+ }
+ return instanceFailoverGroups;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabaseRestoreDetails.
+ *
+ * @return Resource collection API of ManagedDatabaseRestoreDetails.
+ */
+ public ManagedDatabaseRestoreDetails managedDatabaseRestoreDetails() {
+ if (this.managedDatabaseRestoreDetails == null) {
+ this.managedDatabaseRestoreDetails
+ = new ManagedDatabaseRestoreDetailsImpl(clientObject.getManagedDatabaseRestoreDetails(), this);
+ }
+ return managedDatabaseRestoreDetails;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseEncryptionProtectors.
+ *
+ * @return Resource collection API of DatabaseEncryptionProtectors.
+ */
+ public DatabaseEncryptionProtectors databaseEncryptionProtectors() {
+ if (this.databaseEncryptionProtectors == null) {
+ this.databaseEncryptionProtectors
+ = new DatabaseEncryptionProtectorsImpl(clientObject.getDatabaseEncryptionProtectors(), this);
+ }
+ return databaseEncryptionProtectors;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedDatabases. It manages ManagedDatabase.
+ *
+ * @return Resource collection API of ManagedDatabases.
+ */
+ public ManagedDatabases managedDatabases() {
+ if (this.managedDatabases == null) {
+ this.managedDatabases = new ManagedDatabasesImpl(clientObject.getManagedDatabases(), this);
+ }
+ return managedDatabases;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedInstances. It manages ManagedInstance.
+ *
+ * @return Resource collection API of ManagedInstances.
+ */
+ public ManagedInstances managedInstances() {
+ if (this.managedInstances == null) {
+ this.managedInstances = new ManagedInstancesImpl(clientObject.getManagedInstances(), this);
+ }
+ return managedInstances;
+ }
+
+ /**
+ * Gets the resource collection API of ManagedLedgerDigestUploadsOperations. It manages ManagedLedgerDigestUploads.
+ *
+ * @return Resource collection API of ManagedLedgerDigestUploadsOperations.
+ */
+ public ManagedLedgerDigestUploadsOperations managedLedgerDigestUploadsOperations() {
+ if (this.managedLedgerDigestUploadsOperations == null) {
+ this.managedLedgerDigestUploadsOperations = new ManagedLedgerDigestUploadsOperationsImpl(
+ clientObject.getManagedLedgerDigestUploadsOperations(), this);
+ }
+ return managedLedgerDigestUploadsOperations;
+ }
+
+ /**
+ * Gets the resource collection API of RecoverableDatabases.
+ *
+ * @return Resource collection API of RecoverableDatabases.
+ */
+ public RecoverableDatabases recoverableDatabases() {
+ if (this.recoverableDatabases == null) {
+ this.recoverableDatabases = new RecoverableDatabasesImpl(clientObject.getRecoverableDatabases(), this);
+ }
+ return recoverableDatabases;
+ }
+
+ /**
+ * Gets the resource collection API of RestorableDroppedDatabases.
+ *
+ * @return Resource collection API of RestorableDroppedDatabases.
+ */
+ public RestorableDroppedDatabases restorableDroppedDatabases() {
+ if (this.restorableDroppedDatabases == null) {
+ this.restorableDroppedDatabases
+ = new RestorableDroppedDatabasesImpl(clientObject.getRestorableDroppedDatabases(), this);
+ }
+ return restorableDroppedDatabases;
+ }
+
+ /**
+ * Gets the resource collection API of ServerConfigurationOptions. It manages ServerConfigurationOption.
+ *
+ * @return Resource collection API of ServerConfigurationOptions.
+ */
+ public ServerConfigurationOptions serverConfigurationOptions() {
+ if (this.serverConfigurationOptions == null) {
+ this.serverConfigurationOptions
+ = new ServerConfigurationOptionsImpl(clientObject.getServerConfigurationOptions(), this);
+ }
+ return serverConfigurationOptions;
+ }
+
+ /**
+ * Gets the resource collection API of StartStopManagedInstanceSchedules. It manages
+ * StartStopManagedInstanceSchedule.
+ *
+ * @return Resource collection API of StartStopManagedInstanceSchedules.
+ */
+ public StartStopManagedInstanceSchedules startStopManagedInstanceSchedules() {
+ if (this.startStopManagedInstanceSchedules == null) {
+ this.startStopManagedInstanceSchedules
+ = new StartStopManagedInstanceSchedulesImpl(clientObject.getStartStopManagedInstanceSchedules(), this);
+ }
+ return startStopManagedInstanceSchedules;
+ }
+
+ /**
+ * Gets the resource collection API of TransparentDataEncryptions. It manages
+ * LogicalDatabaseTransparentDataEncryption.
+ *
+ * @return Resource collection API of TransparentDataEncryptions.
+ */
+ public TransparentDataEncryptions transparentDataEncryptions() {
+ if (this.transparentDataEncryptions == null) {
+ this.transparentDataEncryptions
+ = new TransparentDataEncryptionsImpl(clientObject.getTransparentDataEncryptions(), this);
+ }
+ return transparentDataEncryptions;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseOperations.
+ *
+ * @return Resource collection API of DatabaseOperations.
+ */
+ public DatabaseOperations databaseOperations() {
+ if (this.databaseOperations == null) {
+ this.databaseOperations = new DatabaseOperationsImpl(clientObject.getDatabaseOperations(), this);
+ }
+ return databaseOperations;
+ }
+
+ /**
+ * Gets the resource collection API of IPv6FirewallRules. It manages IPv6FirewallRule.
+ *
+ * @return Resource collection API of IPv6FirewallRules.
+ */
+ public IPv6FirewallRules iPv6FirewallRules() {
+ if (this.iPv6FirewallRules == null) {
+ this.iPv6FirewallRules = new IPv6FirewallRulesImpl(clientObject.getIPv6FirewallRules(), this);
+ }
+ return iPv6FirewallRules;
+ }
+
+ /**
+ * Gets the resource collection API of SqlVulnerabilityAssessmentBaselines.
+ *
+ * @return Resource collection API of SqlVulnerabilityAssessmentBaselines.
+ */
+ public SqlVulnerabilityAssessmentBaselines sqlVulnerabilityAssessmentBaselines() {
+ if (this.sqlVulnerabilityAssessmentBaselines == null) {
+ this.sqlVulnerabilityAssessmentBaselines = new SqlVulnerabilityAssessmentBaselinesImpl(
+ clientObject.getSqlVulnerabilityAssessmentBaselines(), this);
+ }
+ return sqlVulnerabilityAssessmentBaselines;
+ }
+
+ /**
+ * Gets the resource collection API of SqlVulnerabilityAssessmentBaselinesOperations. It manages
+ * DatabaseSqlVulnerabilityAssessmentBaselineSet.
+ *
+ * @return Resource collection API of SqlVulnerabilityAssessmentBaselinesOperations.
+ */
+ public SqlVulnerabilityAssessmentBaselinesOperations sqlVulnerabilityAssessmentBaselinesOperations() {
+ if (this.sqlVulnerabilityAssessmentBaselinesOperations == null) {
+ this.sqlVulnerabilityAssessmentBaselinesOperations = new SqlVulnerabilityAssessmentBaselinesOperationsImpl(
+ clientObject.getSqlVulnerabilityAssessmentBaselinesOperations(), this);
+ }
+ return sqlVulnerabilityAssessmentBaselinesOperations;
+ }
+
+ /**
+ * Gets the resource collection API of SqlVulnerabilityAssessmentExecuteScans.
+ *
+ * @return Resource collection API of SqlVulnerabilityAssessmentExecuteScans.
+ */
+ public SqlVulnerabilityAssessmentExecuteScans sqlVulnerabilityAssessmentExecuteScans() {
+ if (this.sqlVulnerabilityAssessmentExecuteScans == null) {
+ this.sqlVulnerabilityAssessmentExecuteScans = new SqlVulnerabilityAssessmentExecuteScansImpl(
+ clientObject.getSqlVulnerabilityAssessmentExecuteScans(), this);
+ }
+ return sqlVulnerabilityAssessmentExecuteScans;
+ }
+
+ /**
+ * Gets the resource collection API of SqlVulnerabilityAssessmentRuleBaselines. It manages
+ * DatabaseSqlVulnerabilityAssessmentRuleBaseline.
+ *
+ * @return Resource collection API of SqlVulnerabilityAssessmentRuleBaselines.
+ */
+ public SqlVulnerabilityAssessmentRuleBaselines sqlVulnerabilityAssessmentRuleBaselines() {
+ if (this.sqlVulnerabilityAssessmentRuleBaselines == null) {
+ this.sqlVulnerabilityAssessmentRuleBaselines = new SqlVulnerabilityAssessmentRuleBaselinesImpl(
+ clientObject.getSqlVulnerabilityAssessmentRuleBaselines(), this);
+ }
+ return sqlVulnerabilityAssessmentRuleBaselines;
+ }
+
+ /**
+ * Gets the resource collection API of SqlVulnerabilityAssessmentRuleBaselinesOperations.
+ *
+ * @return Resource collection API of SqlVulnerabilityAssessmentRuleBaselinesOperations.
+ */
+ public SqlVulnerabilityAssessmentRuleBaselinesOperations sqlVulnerabilityAssessmentRuleBaselinesOperations() {
+ if (this.sqlVulnerabilityAssessmentRuleBaselinesOperations == null) {
+ this.sqlVulnerabilityAssessmentRuleBaselinesOperations
+ = new SqlVulnerabilityAssessmentRuleBaselinesOperationsImpl(
+ clientObject.getSqlVulnerabilityAssessmentRuleBaselinesOperations(), this);
+ }
+ return sqlVulnerabilityAssessmentRuleBaselinesOperations;
+ }
+
+ /**
+ * Gets the resource collection API of SqlVulnerabilityAssessmentScanResultOperations.
+ *
+ * @return Resource collection API of SqlVulnerabilityAssessmentScanResultOperations.
+ */
+ public SqlVulnerabilityAssessmentScanResultOperations sqlVulnerabilityAssessmentScanResultOperations() {
+ if (this.sqlVulnerabilityAssessmentScanResultOperations == null) {
+ this.sqlVulnerabilityAssessmentScanResultOperations
+ = new SqlVulnerabilityAssessmentScanResultOperationsImpl(
+ clientObject.getSqlVulnerabilityAssessmentScanResultOperations(), this);
+ }
+ return sqlVulnerabilityAssessmentScanResultOperations;
+ }
+
+ /**
+ * Gets the resource collection API of SqlVulnerabilityAssessmentScans.
+ *
+ * @return Resource collection API of SqlVulnerabilityAssessmentScans.
+ */
+ public SqlVulnerabilityAssessmentScans sqlVulnerabilityAssessmentScans() {
+ if (this.sqlVulnerabilityAssessmentScans == null) {
+ this.sqlVulnerabilityAssessmentScans
+ = new SqlVulnerabilityAssessmentScansImpl(clientObject.getSqlVulnerabilityAssessmentScans(), this);
+ }
+ return sqlVulnerabilityAssessmentScans;
+ }
+
+ /**
+ * Gets the resource collection API of SqlVulnerabilityAssessmentsSettings. It manages SqlVulnerabilityAssessment.
+ *
+ * @return Resource collection API of SqlVulnerabilityAssessmentsSettings.
+ */
+ public SqlVulnerabilityAssessmentsSettings sqlVulnerabilityAssessmentsSettings() {
+ if (this.sqlVulnerabilityAssessmentsSettings == null) {
+ this.sqlVulnerabilityAssessmentsSettings = new SqlVulnerabilityAssessmentsSettingsImpl(
+ clientObject.getSqlVulnerabilityAssessmentsSettings(), this);
+ }
+ return sqlVulnerabilityAssessmentsSettings;
+ }
+
+ /**
+ * Gets the resource collection API of SqlVulnerabilityAssessments.
+ *
+ * @return Resource collection API of SqlVulnerabilityAssessments.
+ */
+ public SqlVulnerabilityAssessments sqlVulnerabilityAssessments() {
+ if (this.sqlVulnerabilityAssessments == null) {
+ this.sqlVulnerabilityAssessments
+ = new SqlVulnerabilityAssessmentsImpl(clientObject.getSqlVulnerabilityAssessments(), this);
+ }
+ return sqlVulnerabilityAssessments;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseSqlVulnerabilityAssessmentBaselines.
+ *
+ * @return Resource collection API of DatabaseSqlVulnerabilityAssessmentBaselines.
+ */
+ public DatabaseSqlVulnerabilityAssessmentBaselines databaseSqlVulnerabilityAssessmentBaselines() {
+ if (this.databaseSqlVulnerabilityAssessmentBaselines == null) {
+ this.databaseSqlVulnerabilityAssessmentBaselines = new DatabaseSqlVulnerabilityAssessmentBaselinesImpl(
+ clientObject.getDatabaseSqlVulnerabilityAssessmentBaselines(), this);
+ }
+ return databaseSqlVulnerabilityAssessmentBaselines;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseSqlVulnerabilityAssessmentExecuteScans.
+ *
+ * @return Resource collection API of DatabaseSqlVulnerabilityAssessmentExecuteScans.
+ */
+ public DatabaseSqlVulnerabilityAssessmentExecuteScans databaseSqlVulnerabilityAssessmentExecuteScans() {
+ if (this.databaseSqlVulnerabilityAssessmentExecuteScans == null) {
+ this.databaseSqlVulnerabilityAssessmentExecuteScans
+ = new DatabaseSqlVulnerabilityAssessmentExecuteScansImpl(
+ clientObject.getDatabaseSqlVulnerabilityAssessmentExecuteScans(), this);
+ }
+ return databaseSqlVulnerabilityAssessmentExecuteScans;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseSqlVulnerabilityAssessmentRuleBaselines.
+ *
+ * @return Resource collection API of DatabaseSqlVulnerabilityAssessmentRuleBaselines.
+ */
+ public DatabaseSqlVulnerabilityAssessmentRuleBaselines databaseSqlVulnerabilityAssessmentRuleBaselines() {
+ if (this.databaseSqlVulnerabilityAssessmentRuleBaselines == null) {
+ this.databaseSqlVulnerabilityAssessmentRuleBaselines
+ = new DatabaseSqlVulnerabilityAssessmentRuleBaselinesImpl(
+ clientObject.getDatabaseSqlVulnerabilityAssessmentRuleBaselines(), this);
+ }
+ return databaseSqlVulnerabilityAssessmentRuleBaselines;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseSqlVulnerabilityAssessmentScanResults.
+ *
+ * @return Resource collection API of DatabaseSqlVulnerabilityAssessmentScanResults.
+ */
+ public DatabaseSqlVulnerabilityAssessmentScanResults databaseSqlVulnerabilityAssessmentScanResults() {
+ if (this.databaseSqlVulnerabilityAssessmentScanResults == null) {
+ this.databaseSqlVulnerabilityAssessmentScanResults = new DatabaseSqlVulnerabilityAssessmentScanResultsImpl(
+ clientObject.getDatabaseSqlVulnerabilityAssessmentScanResults(), this);
+ }
+ return databaseSqlVulnerabilityAssessmentScanResults;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseSqlVulnerabilityAssessmentScans.
+ *
+ * @return Resource collection API of DatabaseSqlVulnerabilityAssessmentScans.
+ */
+ public DatabaseSqlVulnerabilityAssessmentScans databaseSqlVulnerabilityAssessmentScans() {
+ if (this.databaseSqlVulnerabilityAssessmentScans == null) {
+ this.databaseSqlVulnerabilityAssessmentScans = new DatabaseSqlVulnerabilityAssessmentScansImpl(
+ clientObject.getDatabaseSqlVulnerabilityAssessmentScans(), this);
+ }
+ return databaseSqlVulnerabilityAssessmentScans;
+ }
+
+ /**
+ * Gets the resource collection API of DatabaseSqlVulnerabilityAssessmentsSettings.
+ *
+ * @return Resource collection API of DatabaseSqlVulnerabilityAssessmentsSettings.
+ */
+ public DatabaseSqlVulnerabilityAssessmentsSettings databaseSqlVulnerabilityAssessmentsSettings() {
+ if (this.databaseSqlVulnerabilityAssessmentsSettings == null) {
+ this.databaseSqlVulnerabilityAssessmentsSettings = new DatabaseSqlVulnerabilityAssessmentsSettingsImpl(
+ clientObject.getDatabaseSqlVulnerabilityAssessmentsSettings(), this);
+ }
+ return databaseSqlVulnerabilityAssessmentsSettings;
+ }
+
+ /**
+ * Gets the resource collection API of FailoverGroups. It manages FailoverGroup.
+ *
+ * @return Resource collection API of FailoverGroups.
+ */
+ public FailoverGroups failoverGroups() {
+ if (this.failoverGroups == null) {
+ this.failoverGroups = new FailoverGroupsImpl(clientObject.getFailoverGroups(), this);
+ }
+ return failoverGroups;
+ }
+
+ /**
+ * Gets the resource collection API of InstancePools. It manages InstancePool.
+ *
+ * @return Resource collection API of InstancePools.
+ */
+ public InstancePools instancePools() {
+ if (this.instancePools == null) {
+ this.instancePools = new InstancePoolsImpl(clientObject.getInstancePools(), this);
+ }
+ return instancePools;
+ }
+
+ /**
+ * Gets the resource collection API of LongTermRetentionBackups.
+ *
+ * @return Resource collection API of LongTermRetentionBackups.
+ */
+ public LongTermRetentionBackups longTermRetentionBackups() {
+ if (this.longTermRetentionBackups == null) {
+ this.longTermRetentionBackups
+ = new LongTermRetentionBackupsImpl(clientObject.getLongTermRetentionBackups(), this);
+ }
+ return longTermRetentionBackups;
+ }
+
+ /**
+ * Gets the resource collection API of LongTermRetentionPolicies. It manages LongTermRetentionPolicy.
+ *
+ * @return Resource collection API of LongTermRetentionPolicies.
+ */
+ public LongTermRetentionPolicies longTermRetentionPolicies() {
+ if (this.longTermRetentionPolicies == null) {
+ this.longTermRetentionPolicies
+ = new LongTermRetentionPoliciesImpl(clientObject.getLongTermRetentionPolicies(), this);
+ }
+ return longTermRetentionPolicies;
+ }
+
+ /**
+ * Gets the resource collection API of Servers. It manages Server.
+ *
+ * @return Resource collection API of Servers.
+ */
+ public Servers servers() {
+ if (this.servers == null) {
+ this.servers = new ServersImpl(clientObject.getServers(), this);
+ }
+ return servers;
+ }
+
+ /**
+ * Gets the resource collection API of ReplicationLinks. It manages ReplicationLink.
+ *
+ * @return Resource collection API of ReplicationLinks.
+ */
+ public ReplicationLinks replicationLinks() {
+ if (this.replicationLinks == null) {
+ this.replicationLinks = new ReplicationLinksImpl(clientObject.getReplicationLinks(), this);
+ }
+ return replicationLinks;
+ }
+
+ /**
+ * Gets wrapped service client SqlManagementClient providing direct access to the underlying auto-generated API
+ * implementation, based on Azure REST API.
+ *
+ * @return Wrapped service client SqlManagementClient.
+ */
+ 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 000000000000..156ae23c7ff6
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/BackupShortTermRetentionPoliciesClient.java
@@ -0,0 +1,240 @@
+// 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".
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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 000000000000..bb4a4f4e412f
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/CapabilitiesClient.java
@@ -0,0 +1,44 @@
+// 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.
+ * @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);
+
+ /**
+ * 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);
+}
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 000000000000..25fc9204c7a5
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataMaskingPoliciesClient.java
@@ -0,0 +1,83 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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 000000000000..c326be1fad95
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataMaskingRulesClient.java
@@ -0,0 +1,87 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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);
+
+ /**
+ * 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 000000000000..27d20f9819ed
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DataWarehouseUserActivitiesOperationsClient.java
@@ -0,0 +1,88 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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);
+
+ /**
+ * 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/DatabaseAdvancedThreatProtectionSettingsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseAdvancedThreatProtectionSettingsClient.java
new file mode 100644
index 000000000000..c4e2d827b91f
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseAdvancedThreatProtectionSettingsClient.java
@@ -0,0 +1,126 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.DatabaseAdvancedThreatProtectionInner;
+import com.azure.resourcemanager.sql.generated.models.AdvancedThreatProtectionName;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DatabaseAdvancedThreatProtectionSettingsClient.
+ */
+public interface DatabaseAdvancedThreatProtectionSettingsClient {
+ /**
+ * Gets a list of database's Advanced Threat Protection states.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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's Advanced Threat Protection states as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(String resourceGroupName, String serverName,
+ String databaseName);
+
+ /**
+ * Gets a list of database's Advanced Threat Protection states.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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's Advanced Threat Protection states as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(String resourceGroupName, String serverName,
+ String databaseName, Context context);
+
+ /**
+ * Gets a database's Advanced Threat Protection state.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 advancedThreatProtectionName The name of the Advanced Threat Protection 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's Advanced Threat Protection state along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String serverName,
+ String databaseName, AdvancedThreatProtectionName advancedThreatProtectionName, Context context);
+
+ /**
+ * Gets a database's Advanced Threat Protection state.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 advancedThreatProtectionName The name of the Advanced Threat Protection 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's Advanced Threat Protection state.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAdvancedThreatProtectionInner get(String resourceGroupName, String serverName, String databaseName,
+ AdvancedThreatProtectionName advancedThreatProtectionName);
+
+ /**
+ * Creates or updates a database's Advanced Threat Protection state.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 advancedThreatProtectionName The name of the Advanced Threat Protection state.
+ * @param parameters The database Advanced Threat Protection 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 Advanced Threat Protection along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName,
+ String serverName, String databaseName, AdvancedThreatProtectionName advancedThreatProtectionName,
+ DatabaseAdvancedThreatProtectionInner parameters, Context context);
+
+ /**
+ * Creates or updates a database's Advanced Threat Protection state.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 advancedThreatProtectionName The name of the Advanced Threat Protection state.
+ * @param parameters The database Advanced Threat Protection 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 Advanced Threat Protection.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseAdvancedThreatProtectionInner createOrUpdate(String resourceGroupName, String serverName,
+ String databaseName, AdvancedThreatProtectionName advancedThreatProtectionName,
+ DatabaseAdvancedThreatProtectionInner parameters);
+}
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 000000000000..77572f6e1093
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseAdvisorsClient.java
@@ -0,0 +1,121 @@
+// 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.
+ * @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 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 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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 000000000000..7bacff005f8f
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseAutomaticTuningsClient.java
@@ -0,0 +1,83 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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 000000000000..a629eb120f6d
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseBlobAuditingPoliciesClient.java
@@ -0,0 +1,117 @@
+// 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 {
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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 000000000000..831ea5870317
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseColumnsClient.java
@@ -0,0 +1,133 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseEncryptionProtectorsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseEncryptionProtectorsClient.java
new file mode 100644
index 000000000000..ff952c572504
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseEncryptionProtectorsClient.java
@@ -0,0 +1,153 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.sql.generated.models.EncryptionProtectorName;
+
+/**
+ * An instance of this class provides access to all the operations defined in DatabaseEncryptionProtectorsClient.
+ */
+public interface DatabaseEncryptionProtectorsClient {
+ /**
+ * Revalidates an existing encryption protector for a particular 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 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, String databaseName,
+ EncryptionProtectorName encryptionProtectorName);
+
+ /**
+ * Revalidates an existing encryption protector for a particular 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 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, String databaseName,
+ EncryptionProtectorName encryptionProtectorName, Context context);
+
+ /**
+ * Revalidates an existing encryption protector for a particular 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 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, String databaseName,
+ EncryptionProtectorName encryptionProtectorName);
+
+ /**
+ * Revalidates an existing encryption protector for a particular 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 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, String databaseName,
+ EncryptionProtectorName encryptionProtectorName, Context context);
+
+ /**
+ * Reverts an existing encryption protector for a particular 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 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> beginRevert(String resourceGroupName, String serverName, String databaseName,
+ EncryptionProtectorName encryptionProtectorName);
+
+ /**
+ * Reverts an existing encryption protector for a particular 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 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> beginRevert(String resourceGroupName, String serverName, String databaseName,
+ EncryptionProtectorName encryptionProtectorName, Context context);
+
+ /**
+ * Reverts an existing encryption protector for a particular 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 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 revert(String resourceGroupName, String serverName, String databaseName,
+ EncryptionProtectorName encryptionProtectorName);
+
+ /**
+ * Reverts an existing encryption protector for a particular 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 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 revert(String resourceGroupName, String serverName, String databaseName,
+ EncryptionProtectorName encryptionProtectorName, 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 000000000000..41e2b2543c87
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseExtensionsOperationsClient.java
@@ -0,0 +1,162 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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 000000000000..7cb24efebfa9
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseOperationsClient.java
@@ -0,0 +1,84 @@
+// 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 {
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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 000000000000..7ac51921d59b
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseRecommendedActionsClient.java
@@ -0,0 +1,129 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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 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 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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 000000000000..60a6040aa0e3
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSchemasClient.java
@@ -0,0 +1,84 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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);
+}
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 000000000000..971c89f243c0
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSecurityAlertPoliciesClient.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.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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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/DatabaseSqlVulnerabilityAssessmentBaselinesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentBaselinesClient.java
new file mode 100644
index 000000000000..3a5f05eed26b
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentBaselinesClient.java
@@ -0,0 +1,139 @@
+// 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.DatabaseSqlVulnerabilityAssessmentBaselineSetInner;
+import com.azure.resourcemanager.sql.generated.models.BaselineName;
+import com.azure.resourcemanager.sql.generated.models.DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput;
+import com.azure.resourcemanager.sql.generated.models.VulnerabilityAssessmentName;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DatabaseSqlVulnerabilityAssessmentBaselinesClient.
+ */
+public interface DatabaseSqlVulnerabilityAssessmentBaselinesClient {
+ /**
+ * Gets a list of database's sql vulnerability assessment rule baselines.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 database's sql vulnerability assessment rule baselines as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySqlVulnerabilityAssessment(
+ String resourceGroupName, String serverName, String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName);
+
+ /**
+ * Gets a list of database's sql vulnerability assessment rule baselines.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 database's sql vulnerability assessment rule baselines as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listBySqlVulnerabilityAssessment(
+ String resourceGroupName, String serverName, String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName, Context context);
+
+ /**
+ * Gets a list of database's sql vulnerability assessment rule baselines.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 baselineName The baselineName 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 database's sql vulnerability assessment rule baselines along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName,
+ String serverName, String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ BaselineName baselineName, Context context);
+
+ /**
+ * Gets a list of database's sql vulnerability assessment rule baselines.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 baselineName The baselineName 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 database's sql vulnerability assessment rule baselines.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseSqlVulnerabilityAssessmentBaselineSetInner get(String resourceGroupName, String serverName,
+ String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName, BaselineName baselineName);
+
+ /**
+ * Add a database's vulnerability assessment rule baseline list.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 baselineName The baselineName parameter.
+ * @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 sql vulnerability assessment baseline set along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName,
+ String serverName, String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ BaselineName baselineName, DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput parameters, Context context);
+
+ /**
+ * Add a database's vulnerability assessment rule baseline list.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 baselineName The baselineName parameter.
+ * @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 sql vulnerability assessment baseline set.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseSqlVulnerabilityAssessmentBaselineSetInner createOrUpdate(String resourceGroupName, String serverName,
+ String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName, BaselineName baselineName,
+ DatabaseSqlVulnerabilityAssessmentRuleBaselineListInput parameters);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentExecuteScansClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentExecuteScansClient.java
new file mode 100644
index 000000000000..4d11970e2009
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentExecuteScansClient.java
@@ -0,0 +1,86 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.management.polling.PollResult;
+import com.azure.core.util.Context;
+import com.azure.core.util.polling.SyncPoller;
+import com.azure.resourcemanager.sql.generated.models.VulnerabilityAssessmentName;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DatabaseSqlVulnerabilityAssessmentExecuteScansClient.
+ */
+public interface DatabaseSqlVulnerabilityAssessmentExecuteScansClient {
+ /**
+ * 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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> beginExecute(String resourceGroupName, String serverName, String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName);
+
+ /**
+ * 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 context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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> beginExecute(String resourceGroupName, String serverName, String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName, 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 execute(String resourceGroupName, String serverName, String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName);
+
+ /**
+ * 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 context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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 execute(String resourceGroupName, String serverName, String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName, Context context);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentRuleBaselinesClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentRuleBaselinesClient.java
new file mode 100644
index 000000000000..84f1137eedb8
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentRuleBaselinesClient.java
@@ -0,0 +1,186 @@
+// 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.DatabaseSqlVulnerabilityAssessmentRuleBaselineInner;
+import com.azure.resourcemanager.sql.generated.models.BaselineName;
+import com.azure.resourcemanager.sql.generated.models.DatabaseSqlVulnerabilityAssessmentRuleBaselineInput;
+import com.azure.resourcemanager.sql.generated.models.VulnerabilityAssessmentName;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DatabaseSqlVulnerabilityAssessmentRuleBaselinesClient.
+ */
+public interface DatabaseSqlVulnerabilityAssessmentRuleBaselinesClient {
+ /**
+ * Gets a list of database's sql vulnerability assessment rule baselines.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 baselineName The baselineName 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 database's sql vulnerability assessment rule baselines as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByBaseline(String resourceGroupName,
+ String serverName, String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ BaselineName baselineName);
+
+ /**
+ * Gets a list of database's sql vulnerability assessment rule baselines.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 baselineName The baselineName 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 database's sql vulnerability assessment rule baselines as paginated response with
+ * {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByBaseline(String resourceGroupName,
+ String serverName, String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ BaselineName baselineName, Context context);
+
+ /**
+ * Gets a database's sql 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.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param baselineName The baselineName parameter.
+ * @param ruleId The vulnerability assessment rule 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's sql vulnerability assessment rule baseline along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName,
+ String serverName, String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ BaselineName baselineName, String ruleId, Context context);
+
+ /**
+ * Gets a database's sql 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.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param baselineName The baselineName parameter.
+ * @param ruleId The vulnerability assessment rule 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's sql vulnerability assessment rule baseline.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseSqlVulnerabilityAssessmentRuleBaselineInner get(String resourceGroupName, String serverName,
+ String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName, BaselineName baselineName,
+ String ruleId);
+
+ /**
+ * 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.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param baselineName The baselineName parameter.
+ * @param ruleId The vulnerability assessment rule ID.
+ * @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 sql vulnerability assessment rule baseline along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createOrUpdateWithResponse(String resourceGroupName,
+ String serverName, String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ BaselineName baselineName, String ruleId, DatabaseSqlVulnerabilityAssessmentRuleBaselineInput parameters,
+ 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.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param baselineName The baselineName parameter.
+ * @param ruleId The vulnerability assessment rule ID.
+ * @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 sql vulnerability assessment rule baseline.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ DatabaseSqlVulnerabilityAssessmentRuleBaselineInner createOrUpdate(String resourceGroupName, String serverName,
+ String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName, BaselineName baselineName,
+ String ruleId, DatabaseSqlVulnerabilityAssessmentRuleBaselineInput parameters);
+
+ /**
+ * 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.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param baselineName The baselineName parameter.
+ * @param ruleId The vulnerability assessment rule 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 the {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response deleteWithResponse(String resourceGroupName, String serverName, String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName, BaselineName baselineName, String ruleId,
+ 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.
+ * @param vulnerabilityAssessmentName The name of the vulnerability assessment.
+ * @param baselineName The baselineName parameter.
+ * @param ruleId The vulnerability assessment rule 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.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ void delete(String resourceGroupName, String serverName, String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName, BaselineName baselineName, String ruleId);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentScanResultsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentScanResultsClient.java
new file mode 100644
index 000000000000..6295b9de8d42
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentScanResultsClient.java
@@ -0,0 +1,97 @@
+// 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.SqlVulnerabilityAssessmentScanResultsInner;
+import com.azure.resourcemanager.sql.generated.models.SqlVulnerabilityAssessmentName;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DatabaseSqlVulnerabilityAssessmentScanResultsClient.
+ */
+public interface DatabaseSqlVulnerabilityAssessmentScanResultsClient {
+ /**
+ * 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 SQL Vulnerability Assessment.
+ * @param scanId The scan id of the SQL Vulnerability Assessment scan to retrieve result from.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByScan(String resourceGroupName, String serverName,
+ String databaseName, SqlVulnerabilityAssessmentName 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 SQL Vulnerability Assessment.
+ * @param scanId The scan id of the SQL Vulnerability Assessment scan to retrieve result from.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByScan(String resourceGroupName, String serverName,
+ String databaseName, SqlVulnerabilityAssessmentName vulnerabilityAssessmentName, String scanId,
+ 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 SQL Vulnerability Assessment.
+ * @param scanId The scan id of the SQL Vulnerability Assessment scan to retrieve result from.
+ * @param scanResultId The scan result id of the specific result 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, SqlVulnerabilityAssessmentName vulnerabilityAssessmentName, String scanId,
+ String scanResultId, 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 SQL Vulnerability Assessment.
+ * @param scanId The scan id of the SQL Vulnerability Assessment scan to retrieve result from.
+ * @param scanResultId The scan result id of the specific result 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)
+ SqlVulnerabilityAssessmentScanResultsInner get(String resourceGroupName, String serverName, String databaseName,
+ SqlVulnerabilityAssessmentName vulnerabilityAssessmentName, String scanId, String scanResultId);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentScansClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentScansClient.java
new file mode 100644
index 000000000000..29a2ce40c4a6
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentScansClient.java
@@ -0,0 +1,92 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.sql.generated.fluent;
+
+import com.azure.core.annotation.ReturnType;
+import com.azure.core.annotation.ServiceMethod;
+import com.azure.core.http.rest.PagedIterable;
+import com.azure.core.http.rest.Response;
+import com.azure.core.util.Context;
+import com.azure.resourcemanager.sql.generated.fluent.models.SqlVulnerabilityAssessmentScanRecordInner;
+import com.azure.resourcemanager.sql.generated.models.VulnerabilityAssessmentName;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DatabaseSqlVulnerabilityAssessmentScansClient.
+ */
+public interface DatabaseSqlVulnerabilityAssessmentScansClient {
+ /**
+ * 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 listBySqlVulnerabilityAssessments(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 listBySqlVulnerabilityAssessments(String resourceGroupName,
+ String serverName, String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName,
+ Context context);
+
+ /**
+ * Get a database vulnerability assessment scan result.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 database vulnerability assessment scan result along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String serverName,
+ String databaseName, VulnerabilityAssessmentName vulnerabilityAssessmentName, String scanId, Context context);
+
+ /**
+ * Get a database vulnerability assessment scan result.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this 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 database vulnerability assessment scan result.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SqlVulnerabilityAssessmentScanRecordInner get(String resourceGroupName, String serverName, String databaseName,
+ VulnerabilityAssessmentName vulnerabilityAssessmentName, String scanId);
+}
diff --git a/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentsSettingsClient.java b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentsSettingsClient.java
new file mode 100644
index 000000000000..f4834d9a37b8
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseSqlVulnerabilityAssessmentsSettingsClient.java
@@ -0,0 +1,87 @@
+// 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.SqlVulnerabilityAssessmentInner;
+import com.azure.resourcemanager.sql.generated.models.SqlVulnerabilityAssessmentName;
+
+/**
+ * An instance of this class provides access to all the operations defined in
+ * DatabaseSqlVulnerabilityAssessmentsSettingsClient.
+ */
+public interface DatabaseSqlVulnerabilityAssessmentsSettingsClient {
+ /**
+ * Lists SQL 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 SQL Vulnerability Assessments as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(String resourceGroupName, String serverName,
+ String databaseName);
+
+ /**
+ * Lists SQL 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 SQL Vulnerability Assessments as paginated response with {@link PagedIterable}.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ PagedIterable listByDatabase(String resourceGroupName, String serverName,
+ String databaseName, Context context);
+
+ /**
+ * Gets SQL Vulnerability Assessment policy for 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 SQL 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 sQL Vulnerability Assessment policy for database along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String serverName,
+ String databaseName, SqlVulnerabilityAssessmentName vulnerabilityAssessmentName, Context context);
+
+ /**
+ * Gets SQL Vulnerability Assessment policy for 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 SQL 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 sQL Vulnerability Assessment policy for database.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ SqlVulnerabilityAssessmentInner get(String resourceGroupName, String serverName, String databaseName,
+ SqlVulnerabilityAssessmentName vulnerabilityAssessmentName);
+}
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 000000000000..188fd037bc0c
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseTablesClient.java
@@ -0,0 +1,90 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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);
+}
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 000000000000..b01b7719c26f
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseUsagesClient.java
@@ -0,0 +1,48 @@
+// 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 000000000000..062e3f639eca
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentRuleBaselinesClient.java
@@ -0,0 +1,151 @@
+// 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).
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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 000000000000..773b2628c10d
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentScansClient.java
@@ -0,0 +1,204 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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 000000000000..384e985fb0c7
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabaseVulnerabilityAssessmentsClient.java
@@ -0,0 +1,159 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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 000000000000..8b7526013abc
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DatabasesClient.java
@@ -0,0 +1,852 @@
+// 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.
+ * @param expand The child resources to include in the response.
+ * @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 database along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response getWithResponse(String resourceGroupName, String serverName, String databaseName,
+ String expand, String filter, 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);
+
+ /**
+ * 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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);
+
+ /**
+ * 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 000000000000..08ec5eb6b4f7
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DeletedServersClient.java
@@ -0,0 +1,149 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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 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 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 000000000000..f026a12c2134
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/DistributedAvailabilityGroupsClient.java
@@ -0,0 +1,294 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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 000000000000..8e17760d84f5
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolActivitiesClient.java
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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 000000000000..aa34f754f687
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolDatabaseActivitiesClient.java
@@ -0,0 +1,51 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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 000000000000..e46db04f0716
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolOperationsClient.java
@@ -0,0 +1,84 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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);
+
+ /**
+ * 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 000000000000..1a36a064bd5a
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ElasticPoolsClient.java
@@ -0,0 +1,418 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.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);
+
+ /**
+ * 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);
+
+ /**
+ * 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 000000000000..bcb55f1968cd
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/EncryptionProtectorsClient.java
@@ -0,0 +1,217 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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 000000000000..9ae66b41e4d8
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/EndpointCertificatesClient.java
@@ -0,0 +1,79 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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);
+
+ /**
+ * 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);
+}
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 000000000000..44baac7e1078
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ExtendedDatabaseBlobAuditingPoliciesClient.java
@@ -0,0 +1,118 @@
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License.
+// Code generated by Microsoft (R) AutoRest Code Generator.
+
+package com.azure.resourcemanager.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 {
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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 000000000000..2e113ce52048
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/ExtendedServerBlobAuditingPoliciesClient.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.ExtendedServerBlobAuditingPolicyInner;
+
+/**
+ * An instance of this class provides access to all the operations defined in ExtendedServerBlobAuditingPoliciesClient.
+ */
+public interface ExtendedServerBlobAuditingPoliciesClient {
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+}
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 000000000000..49a2795f0d83
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/FailoverGroupsClient.java
@@ -0,0 +1,483 @@
+// 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 {
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * Fails over from the current primary server to this server. This operation tries planned before forced failover
+ * but might still 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.
+ * @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>
+ beginTryPlannedBeforeForcedFailover(String resourceGroupName, String serverName, String failoverGroupName);
+
+ /**
+ * Fails over from the current primary server to this server. This operation tries planned before forced failover
+ * but might still 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.
+ * @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> beginTryPlannedBeforeForcedFailover(
+ String resourceGroupName, String serverName, String failoverGroupName, Context context);
+
+ /**
+ * Fails over from the current primary server to this server. This operation tries planned before forced failover
+ * but might still 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.
+ * @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 tryPlannedBeforeForcedFailover(String resourceGroupName, String serverName,
+ String failoverGroupName);
+
+ /**
+ * Fails over from the current primary server to this server. This operation tries planned before forced failover
+ * but might still 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.
+ * @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 tryPlannedBeforeForcedFailover(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 000000000000..f15462f4db3e
--- /dev/null
+++ b/sdk/sql/azure-resourcemanager-sql-generated/src/main/java/com/azure/resourcemanager/sql/generated/fluent/FirewallRulesClient.java
@@ -0,0 +1,177 @@
+// 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.
+ * @param context The context to associate with this operation.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws com.azure.core.management.exception.ManagementException 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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);
+
+ /**
+ * 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