diff --git a/sql/resource-manager/v2017_03_01_preview/pom.xml b/sql/resource-manager/v2017_03_01_preview/pom.xml
index 30cff3767809..d345667442f0 100644
--- a/sql/resource-manager/v2017_03_01_preview/pom.xml
+++ b/sql/resource-manager/v2017_03_01_preview/pom.xml
@@ -11,8 +11,8 @@
com.microsoft.azure
azure-arm-parent
- 1.1.0
- ../../../pom.management.xml
+ 0.0.3-beta
+ ../../../pom.xml
azure-mgmt-sql
1.0.0-beta
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy.java
new file mode 100644
index 000000000000..a8ccb62d2956
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy.java
@@ -0,0 +1,118 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.ManagedBackupShortTermRetentionPolicyInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SqlManager;
+
+/**
+ * Type representing DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy.
+ */
+public interface DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the retentionDays value.
+ */
+ Integer retentionDays();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithDatabasis, DefinitionStages.WithRetentionDays, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy definition.
+ */
+ interface Blank extends WithDatabasis {
+ }
+
+ /**
+ * The stage of the databasismanagedinstancemanagedbackupshorttermretentionpolicy definition allowing to specify Databasis.
+ */
+ interface WithDatabasis {
+ /**
+ * Specifies resourceGroupName, managedInstanceName, databaseName.
+ * @param resourceGroupName The 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 databaseName The name of the database
+ * @return the next definition stage
+ */
+ WithRetentionDays withExistingDatabasis(String resourceGroupName, String managedInstanceName, String databaseName);
+ }
+
+ /**
+ * The stage of the databasismanagedinstancemanagedbackupshorttermretentionpolicy definition allowing to specify RetentionDays.
+ */
+ interface WithRetentionDays {
+ /**
+ * Specifies retentionDays.
+ * @param retentionDays The backup retention period in days. This is how many days Point-in-Time Restore will be supported
+ * @return the next definition stage
+ */
+ WithCreate withRetentionDays(Integer retentionDays);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithRetentionDays {
+ }
+
+ /**
+ * Grouping of DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the databasismanagedinstancemanagedbackupshorttermretentionpolicy update allowing to specify RetentionDays.
+ */
+ interface WithRetentionDays {
+ /**
+ * Specifies retentionDays.
+ * @param retentionDays The backup retention period in days. This is how many days Point-in-Time Restore will be supported
+ * @return the next update stage
+ */
+ Update withRetentionDays(Integer retentionDays);
+ }
+
+ }
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/DatabasisServerSensitivityLabel.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/DatabasisServerSensitivityLabel.java
new file mode 100644
index 000000000000..21c1e23aca52
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/DatabasisServerSensitivityLabel.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SensitivityLabelInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SqlManager;
+
+/**
+ * Type representing DatabasisServerSensitivityLabel.
+ */
+public interface DatabasisServerSensitivityLabel extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the informationType value.
+ */
+ String informationType();
+
+ /**
+ * @return the informationTypeId value.
+ */
+ String informationTypeId();
+
+ /**
+ * @return the isDisabled value.
+ */
+ Boolean isDisabled();
+
+ /**
+ * @return the labelId value.
+ */
+ String labelId();
+
+ /**
+ * @return the labelName value.
+ */
+ String labelName();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/DatabasisServerSensitivityLabelModel.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/DatabasisServerSensitivityLabelModel.java
new file mode 100644
index 000000000000..9d49d9cfc18d
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/DatabasisServerSensitivityLabelModel.java
@@ -0,0 +1,60 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SensitivityLabelInner;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SqlManager;
+
+/**
+ * Type representing DatabasisServerSensitivityLabelModel.
+ */
+public interface DatabasisServerSensitivityLabelModel extends HasInner, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the informationType value.
+ */
+ String informationType();
+
+ /**
+ * @return the informationTypeId value.
+ */
+ String informationTypeId();
+
+ /**
+ * @return the isDisabled value.
+ */
+ Boolean isDisabled();
+
+ /**
+ * @return the labelId value.
+ */
+ String labelId();
+
+ /**
+ * @return the labelName value.
+ */
+ String labelName();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/JobSchedule.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/JobSchedule.java
index 788a7ecb607d..28da5d250b08 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/JobSchedule.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/JobSchedule.java
@@ -40,7 +40,7 @@ public class JobSchedule {
private Boolean enabled;
/**
- * Value of the schedule's recurring interval, if the scheduletype is
+ * Value of the schedule's recurring interval, if the schedule type is
* recurring. ISO8601 duration format.
*/
@JsonProperty(value = "interval")
@@ -127,7 +127,7 @@ public JobSchedule withEnabled(Boolean enabled) {
}
/**
- * Get value of the schedule's recurring interval, if the scheduletype is recurring. ISO8601 duration format.
+ * Get value of the schedule's recurring interval, if the schedule type is recurring. ISO8601 duration format.
*
* @return the interval value
*/
@@ -136,7 +136,7 @@ public String interval() {
}
/**
- * Set value of the schedule's recurring interval, if the scheduletype is recurring. ISO8601 duration format.
+ * Set value of the schedule's recurring interval, if the schedule type is recurring. ISO8601 duration format.
*
* @param interval the interval value to set
* @return the JobSchedule object itself.
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/JobStepExecutions.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/JobStepExecutions.java
index ca9d5c77d55b..d096a4ddb832 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/JobStepExecutions.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/JobStepExecutions.java
@@ -9,8 +9,7 @@
package com.microsoft.azure.management.sql.v2017_03_01_preview;
import rx.Observable;
-
-import java.util.UUID;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.ExecutionJobJobAgentServerJobExecution;
/**
* Type representing JobStepExecutions.
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/LongTermRetentionBackups.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/LongTermRetentionBackups.java
index 8a63b778727a..5ecd51c6a511 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/LongTermRetentionBackups.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/LongTermRetentionBackups.java
@@ -20,55 +20,114 @@ public interface LongTermRetentionBackups extends HasInner listByLocationAsync(final String locationName);
+ Observable listByResourceGroupLocationAsync(final String resourceGroupName, final String locationName);
/**
* Lists the long term retention backups for a given server.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
+ * @param longTermRetentionServerName The name of the server
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable for the request
*/
- Observable listByServerAsync(final String locationName, final String longTermRetentionServerName);
+ Observable listByResourceGroupServerAsync(final String resourceGroupName, final String locationName, final String longTermRetentionServerName);
/**
* Gets a long term retention backup.
*
* @param locationName The location of the database.
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable for the request
*/
Observable getAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName);
+ /**
+ * Deletes a long term retention backup.
+ *
+ * @param locationName The location of the database
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName);
+
/**
* Lists all long term retention backups for a database.
*
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable for the request
*/
Observable listByDatabaseAsync(final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName);
+ /**
+ * Lists the long term retention backups for a given location.
+ *
+ * @param locationName The location of the database
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByLocationAsync(final String locationName);
+
+ /**
+ * Lists the long term retention backups for a given server.
+ *
+ * @param locationName The location of the database
+ * @param longTermRetentionServerName The name of the server
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByServerAsync(final String locationName, final String longTermRetentionServerName);
+
+ /**
+ * Gets a long term retention backup.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database.
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
+ * @param backupName The backup name.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getByResourceGroupAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName);
+
+ /**
+ * Lists all long term retention backups for a database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param locationName The location of the database
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByResourceGroupDatabaseAsync(final String resourceGroupName, final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName);
+
/**
* Deletes a long term retention backup.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable for the request
*/
- Completable deleteAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName);
+ Completable deleteByResourceGroupAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName);
}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedBackupShortTermRetentionPolicies.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedBackupShortTermRetentionPolicies.java
index 03caf7827e71..d688cbdf5c32 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedBackupShortTermRetentionPolicies.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedBackupShortTermRetentionPolicies.java
@@ -16,7 +16,7 @@
/**
* Type representing ManagedBackupShortTermRetentionPolicies.
*/
-public interface ManagedBackupShortTermRetentionPolicies extends SupportsCreating, HasInner {
+public interface ManagedBackupShortTermRetentionPolicies extends SupportsCreating, HasInner {
/**
* Gets a managed database's short term retention policy.
*
@@ -26,7 +26,7 @@ public interface ManagedBackupShortTermRetentionPolicies extends SupportsCreatin
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable for the request
*/
- Observable getAsync(String resourceGroupName, String managedInstanceName, String databaseName);
+ Observable getAsync(String resourceGroupName, String managedInstanceName, String databaseName);
/**
* Gets a managed database's short term retention policy list.
@@ -37,6 +37,6 @@ public interface ManagedBackupShortTermRetentionPolicies extends SupportsCreatin
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable for the request
*/
- Observable listByDatabaseAsync(final String resourceGroupName, final String managedInstanceName, final String databaseName);
+ Observable listByDatabaseAsync(final String resourceGroupName, final String managedInstanceName, final String databaseName);
}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabase.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabase.java
index 555f5588dd34..c41adf6979a4 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabase.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabase.java
@@ -74,6 +74,16 @@ public interface ManagedDatabase extends HasInner, Indexab
*/
String name();
+ /**
+ * @return the recoverableDatabaseId value.
+ */
+ String recoverableDatabaseId();
+
+ /**
+ * @return the restorableDroppedDatabaseId value.
+ */
+ String restorableDroppedDatabaseId();
+
/**
* @return the restorePointInTime value.
*/
@@ -180,12 +190,36 @@ interface WithCollation {
interface WithCreateMode {
/**
* Specifies createMode.
- * @param createMode Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Possible values include: 'Default', 'RestoreExternalBackup', 'PointInTimeRestore'
+ * @param createMode Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. Possible values include: 'Default', 'RestoreExternalBackup', 'PointInTimeRestore', 'Recovery'
* @return the next definition stage
*/
WithCreate withCreateMode(ManagedDatabaseCreateMode createMode);
}
+ /**
+ * The stage of the manageddatabase definition allowing to specify RecoverableDatabaseId.
+ */
+ interface WithRecoverableDatabaseId {
+ /**
+ * Specifies recoverableDatabaseId.
+ * @param recoverableDatabaseId The resource identifier of the recoverable database associated with create operation of this database
+ * @return the next definition stage
+ */
+ WithCreate withRecoverableDatabaseId(String recoverableDatabaseId);
+ }
+
+ /**
+ * The stage of the manageddatabase definition allowing to specify RestorableDroppedDatabaseId.
+ */
+ interface WithRestorableDroppedDatabaseId {
+ /**
+ * Specifies restorableDroppedDatabaseId.
+ * @param restorableDroppedDatabaseId The restorable dropped database resource id to restore when creating this database
+ * @return the next definition stage
+ */
+ WithCreate withRestorableDroppedDatabaseId(String restorableDroppedDatabaseId);
+ }
+
/**
* The stage of the manageddatabase definition allowing to specify RestorePointInTime.
*/
@@ -251,13 +285,13 @@ interface WithTags {
* the resource to be created (via {@link WithCreate#create()}), but also allows
* for any other optional settings to be specified.
*/
- interface WithCreate extends Creatable, DefinitionStages.WithCatalogCollation, DefinitionStages.WithCollation, DefinitionStages.WithCreateMode, DefinitionStages.WithRestorePointInTime, DefinitionStages.WithSourceDatabaseId, DefinitionStages.WithStorageContainerSasToken, DefinitionStages.WithStorageContainerUri, DefinitionStages.WithTags {
+ interface WithCreate extends Creatable, DefinitionStages.WithCatalogCollation, DefinitionStages.WithCollation, DefinitionStages.WithCreateMode, DefinitionStages.WithRecoverableDatabaseId, DefinitionStages.WithRestorableDroppedDatabaseId, DefinitionStages.WithRestorePointInTime, DefinitionStages.WithSourceDatabaseId, DefinitionStages.WithStorageContainerSasToken, DefinitionStages.WithStorageContainerUri, DefinitionStages.WithTags {
}
}
/**
* The template for a ManagedDatabase update operation, containing all the settings that can be modified.
*/
- interface Update extends Appliable, UpdateStages.WithCatalogCollation, UpdateStages.WithCollation, UpdateStages.WithCreateMode, UpdateStages.WithRestorePointInTime, UpdateStages.WithSourceDatabaseId, UpdateStages.WithStorageContainerSasToken, UpdateStages.WithStorageContainerUri, UpdateStages.WithTags {
+ interface Update extends Appliable, UpdateStages.WithCatalogCollation, UpdateStages.WithCollation, UpdateStages.WithCreateMode, UpdateStages.WithRecoverableDatabaseId, UpdateStages.WithRestorableDroppedDatabaseId, UpdateStages.WithRestorePointInTime, UpdateStages.WithSourceDatabaseId, UpdateStages.WithStorageContainerSasToken, UpdateStages.WithStorageContainerUri, UpdateStages.WithTags {
}
/**
@@ -294,12 +328,36 @@ interface WithCollation {
interface WithCreateMode {
/**
* Specifies createMode.
- * @param createMode Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Possible values include: 'Default', 'RestoreExternalBackup', 'PointInTimeRestore'
+ * @param createMode Managed database create mode. PointInTimeRestore: Create a database by restoring a point in time backup of an existing database. SourceDatabaseName, SourceManagedInstanceName and PointInTime must be specified. RestoreExternalBackup: Create a database by restoring from external backup files. Collation, StorageContainerUri and StorageContainerSasToken must be specified. Recovery: Creates a database by restoring a geo-replicated backup. RecoverableDatabaseId must be specified as the recoverable database resource ID to restore. Possible values include: 'Default', 'RestoreExternalBackup', 'PointInTimeRestore', 'Recovery'
* @return the next update stage
*/
Update withCreateMode(ManagedDatabaseCreateMode createMode);
}
+ /**
+ * The stage of the manageddatabase update allowing to specify RecoverableDatabaseId.
+ */
+ interface WithRecoverableDatabaseId {
+ /**
+ * Specifies recoverableDatabaseId.
+ * @param recoverableDatabaseId The resource identifier of the recoverable database associated with create operation of this database
+ * @return the next update stage
+ */
+ Update withRecoverableDatabaseId(String recoverableDatabaseId);
+ }
+
+ /**
+ * The stage of the manageddatabase update allowing to specify RestorableDroppedDatabaseId.
+ */
+ interface WithRestorableDroppedDatabaseId {
+ /**
+ * Specifies restorableDroppedDatabaseId.
+ * @param restorableDroppedDatabaseId The restorable dropped database resource id to restore when creating this database
+ * @return the next update stage
+ */
+ Update withRestorableDroppedDatabaseId(String restorableDroppedDatabaseId);
+ }
+
/**
* The stage of the manageddatabase update allowing to specify RestorePointInTime.
*/
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseCreateMode.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseCreateMode.java
index 401fce50ffa2..f54d0ace4220 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseCreateMode.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseCreateMode.java
@@ -25,6 +25,9 @@ public final class ManagedDatabaseCreateMode extends ExpandableStringEnum, HasInner {
+ /**
+ * Gets a managed 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 managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database for which the security alert policy is defined.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String managedInstanceName, String databaseName);
+
+ /**
+ * Gets a list of managed 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 managedInstanceName The name of the managed instance.
+ * @param databaseName The name of the managed database for which the security alert policies are defined.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByDatabaseAsync(final String resourceGroupName, final String managedInstanceName, final String databaseName);
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseSecurityAlertPolicy.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseSecurityAlertPolicy.java
new file mode 100644
index 000000000000..12884a222ed9
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseSecurityAlertPolicy.java
@@ -0,0 +1,287 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.ManagedDatabaseSecurityAlertPolicyInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SqlManager;
+import java.util.List;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing ManagedDatabaseSecurityAlertPolicy.
+ */
+public interface ManagedDatabaseSecurityAlertPolicy extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the creationTime value.
+ */
+ DateTime creationTime();
+
+ /**
+ * @return the disabledAlerts value.
+ */
+ List disabledAlerts();
+
+ /**
+ * @return the emailAccountAdmins value.
+ */
+ Boolean emailAccountAdmins();
+
+ /**
+ * @return the emailAddresses value.
+ */
+ List emailAddresses();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the retentionDays value.
+ */
+ Integer retentionDays();
+
+ /**
+ * @return the state value.
+ */
+ SecurityAlertPolicyState state();
+
+ /**
+ * @return the storageAccountAccessKey value.
+ */
+ String storageAccountAccessKey();
+
+ /**
+ * @return the storageEndpoint value.
+ */
+ String storageEndpoint();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the ManagedDatabaseSecurityAlertPolicy definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithDatabasis, DefinitionStages.WithState, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of ManagedDatabaseSecurityAlertPolicy definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a ManagedDatabaseSecurityAlertPolicy definition.
+ */
+ interface Blank extends WithDatabasis {
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy definition allowing to specify Databasis.
+ */
+ interface WithDatabasis {
+ /**
+ * Specifies resourceGroupName, managedInstanceName, databaseName.
+ * @param resourceGroupName The 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 databaseName The name of the managed database for which the security alert policy is defined
+ * @return the next definition stage
+ */
+ WithState withExistingDatabasis(String resourceGroupName, String managedInstanceName, String databaseName);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy definition allowing to specify State.
+ */
+ interface WithState {
+ /**
+ * Specifies state.
+ * @param state Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database. Possible values include: 'New', 'Enabled', 'Disabled'
+ * @return the next definition stage
+ */
+ WithCreate withState(SecurityAlertPolicyState state);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy definition allowing to specify DisabledAlerts.
+ */
+ interface WithDisabledAlerts {
+ /**
+ * Specifies disabledAlerts.
+ * @param disabledAlerts Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action
+ * @return the next definition stage
+ */
+ WithCreate withDisabledAlerts(List disabledAlerts);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy definition allowing to specify EmailAccountAdmins.
+ */
+ interface WithEmailAccountAdmins {
+ /**
+ * Specifies emailAccountAdmins.
+ * @param emailAccountAdmins Specifies that the alert is sent to the account administrators
+ * @return the next definition stage
+ */
+ WithCreate withEmailAccountAdmins(Boolean emailAccountAdmins);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy definition allowing to specify EmailAddresses.
+ */
+ interface WithEmailAddresses {
+ /**
+ * Specifies emailAddresses.
+ * @param emailAddresses Specifies an array of e-mail addresses to which the alert is sent
+ * @return the next definition stage
+ */
+ WithCreate withEmailAddresses(List emailAddresses);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy definition allowing to specify RetentionDays.
+ */
+ interface WithRetentionDays {
+ /**
+ * Specifies retentionDays.
+ * @param retentionDays Specifies the number of days to keep in the Threat Detection audit logs
+ * @return the next definition stage
+ */
+ WithCreate withRetentionDays(Integer retentionDays);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy definition allowing to specify StorageAccountAccessKey.
+ */
+ interface WithStorageAccountAccessKey {
+ /**
+ * Specifies storageAccountAccessKey.
+ * @param storageAccountAccessKey Specifies the identifier key of the Threat Detection audit storage account
+ * @return the next definition stage
+ */
+ WithCreate withStorageAccountAccessKey(String storageAccountAccessKey);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy definition allowing to specify StorageEndpoint.
+ */
+ interface WithStorageEndpoint {
+ /**
+ * Specifies storageEndpoint.
+ * @param storageEndpoint Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs
+ * @return the next definition stage
+ */
+ WithCreate withStorageEndpoint(String storageEndpoint);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithDisabledAlerts, DefinitionStages.WithEmailAccountAdmins, DefinitionStages.WithEmailAddresses, DefinitionStages.WithRetentionDays, DefinitionStages.WithStorageAccountAccessKey, DefinitionStages.WithStorageEndpoint {
+ }
+ }
+ /**
+ * The template for a ManagedDatabaseSecurityAlertPolicy update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithDisabledAlerts, UpdateStages.WithEmailAccountAdmins, UpdateStages.WithEmailAddresses, UpdateStages.WithRetentionDays, UpdateStages.WithStorageAccountAccessKey, UpdateStages.WithStorageEndpoint {
+ }
+
+ /**
+ * Grouping of ManagedDatabaseSecurityAlertPolicy update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy update allowing to specify DisabledAlerts.
+ */
+ interface WithDisabledAlerts {
+ /**
+ * Specifies disabledAlerts.
+ * @param disabledAlerts Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action
+ * @return the next update stage
+ */
+ Update withDisabledAlerts(List disabledAlerts);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy update allowing to specify EmailAccountAdmins.
+ */
+ interface WithEmailAccountAdmins {
+ /**
+ * Specifies emailAccountAdmins.
+ * @param emailAccountAdmins Specifies that the alert is sent to the account administrators
+ * @return the next update stage
+ */
+ Update withEmailAccountAdmins(Boolean emailAccountAdmins);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy update allowing to specify EmailAddresses.
+ */
+ interface WithEmailAddresses {
+ /**
+ * Specifies emailAddresses.
+ * @param emailAddresses Specifies an array of e-mail addresses to which the alert is sent
+ * @return the next update stage
+ */
+ Update withEmailAddresses(List emailAddresses);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy update allowing to specify RetentionDays.
+ */
+ interface WithRetentionDays {
+ /**
+ * Specifies retentionDays.
+ * @param retentionDays Specifies the number of days to keep in the Threat Detection audit logs
+ * @return the next update stage
+ */
+ Update withRetentionDays(Integer retentionDays);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy update allowing to specify StorageAccountAccessKey.
+ */
+ interface WithStorageAccountAccessKey {
+ /**
+ * Specifies storageAccountAccessKey.
+ * @param storageAccountAccessKey Specifies the identifier key of the Threat Detection audit storage account
+ * @return the next update stage
+ */
+ Update withStorageAccountAccessKey(String storageAccountAccessKey);
+ }
+
+ /**
+ * The stage of the manageddatabasesecurityalertpolicy update allowing to specify StorageEndpoint.
+ */
+ interface WithStorageEndpoint {
+ /**
+ * Specifies storageEndpoint.
+ * @param storageEndpoint Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs
+ * @return the next update stage
+ */
+ Update withStorageEndpoint(String storageEndpoint);
+ }
+
+ }
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseStatus.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseStatus.java
index 6c1711fbaa13..e6d092993e91 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseStatus.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedDatabaseStatus.java
@@ -31,6 +31,9 @@ public final class ManagedDatabaseStatus extends ExpandableStringEnum listByInstanceAsync(final String resourceGroupName, final String managedInstanceName);
/**
- * Deletes the managed database.
+ * Deletes a managed database.
*
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param managedInstanceName The name of the managed instance.
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.java
new file mode 100644
index 000000000000..00b172538fad
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.java
@@ -0,0 +1,42 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Observable;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.ManagedRestorableDroppedDatabaseBackupShortTermRetentionPoliciesInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies.
+ */
+public interface ManagedRestorableDroppedDatabaseBackupShortTermRetentionPolicies extends SupportsCreating, HasInner {
+ /**
+ * Gets a dropped 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 managedInstanceName The name of the managed instance.
+ * @param restorableDroppedDatabaseId the String value
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String managedInstanceName, String restorableDroppedDatabaseId);
+
+ /**
+ * Gets a dropped database's short term retention policy 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 managedInstanceName The name of the managed instance.
+ * @param restorableDroppedDatabaseId the String value
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByRestorableDroppedDatabaseAsync(final String resourceGroupName, final String managedInstanceName, final String restorableDroppedDatabaseId);
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedServerSecurityAlertPolicies.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedServerSecurityAlertPolicies.java
new file mode 100644
index 000000000000..6e512daa8892
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedServerSecurityAlertPolicies.java
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.ManagedServerSecurityAlertPolicy;
+
+/**
+ * Type representing ManagedServerSecurityAlertPolicies.
+ */
+public interface ManagedServerSecurityAlertPolicies {
+ /**
+ * Begins definition for a new SecurityAlertPolicy resource.
+ * @param name resource name.
+ * @return the first stage of the new SecurityAlertPolicy definition.
+ */
+ ManagedServerSecurityAlertPolicy.DefinitionStages.Blank defineSecurityAlertPolicy(String name);
+
+ /**
+ * Get a managed server's threat detection policy.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param managedInstanceName The name of the managed instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String managedInstanceName);
+
+ /**
+ * Get the managed server's threat detection 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 managedInstanceName The name of the managed instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByInstanceAsync(final String resourceGroupName, final String managedInstanceName);
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedServerSecurityAlertPolicy.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedServerSecurityAlertPolicy.java
new file mode 100644
index 000000000000..fafb3fd720f2
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ManagedServerSecurityAlertPolicy.java
@@ -0,0 +1,286 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.ManagedServerSecurityAlertPolicyInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SqlManager;
+import java.util.List;
+import org.joda.time.DateTime;
+
+/**
+ * Type representing ManagedServerSecurityAlertPolicy.
+ */
+public interface ManagedServerSecurityAlertPolicy extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the creationTime value.
+ */
+ DateTime creationTime();
+
+ /**
+ * @return the disabledAlerts value.
+ */
+ List disabledAlerts();
+
+ /**
+ * @return the emailAccountAdmins value.
+ */
+ Boolean emailAccountAdmins();
+
+ /**
+ * @return the emailAddresses value.
+ */
+ List emailAddresses();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the retentionDays value.
+ */
+ Integer retentionDays();
+
+ /**
+ * @return the state value.
+ */
+ SecurityAlertPolicyState state();
+
+ /**
+ * @return the storageAccountAccessKey value.
+ */
+ String storageAccountAccessKey();
+
+ /**
+ * @return the storageEndpoint value.
+ */
+ String storageEndpoint();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the ManagedServerSecurityAlertPolicy definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithManagedInstance, DefinitionStages.WithState, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of ManagedServerSecurityAlertPolicy definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a ManagedServerSecurityAlertPolicy definition.
+ */
+ interface Blank extends WithManagedInstance {
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy definition allowing to specify ManagedInstance.
+ */
+ interface WithManagedInstance {
+ /**
+ * Specifies resourceGroupName, managedInstanceName.
+ * @param resourceGroupName The 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
+ * @return the next definition stage
+ */
+ WithState withExistingManagedInstance(String resourceGroupName, String managedInstanceName);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy definition allowing to specify State.
+ */
+ interface WithState {
+ /**
+ * Specifies state.
+ * @param state Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database. Possible values include: 'New', 'Enabled', 'Disabled'
+ * @return the next definition stage
+ */
+ WithCreate withState(SecurityAlertPolicyState state);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy definition allowing to specify DisabledAlerts.
+ */
+ interface WithDisabledAlerts {
+ /**
+ * Specifies disabledAlerts.
+ * @param disabledAlerts Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action
+ * @return the next definition stage
+ */
+ WithCreate withDisabledAlerts(List disabledAlerts);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy definition allowing to specify EmailAccountAdmins.
+ */
+ interface WithEmailAccountAdmins {
+ /**
+ * Specifies emailAccountAdmins.
+ * @param emailAccountAdmins Specifies that the alert is sent to the account administrators
+ * @return the next definition stage
+ */
+ WithCreate withEmailAccountAdmins(Boolean emailAccountAdmins);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy definition allowing to specify EmailAddresses.
+ */
+ interface WithEmailAddresses {
+ /**
+ * Specifies emailAddresses.
+ * @param emailAddresses Specifies an array of e-mail addresses to which the alert is sent
+ * @return the next definition stage
+ */
+ WithCreate withEmailAddresses(List emailAddresses);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy definition allowing to specify RetentionDays.
+ */
+ interface WithRetentionDays {
+ /**
+ * Specifies retentionDays.
+ * @param retentionDays Specifies the number of days to keep in the Threat Detection audit logs
+ * @return the next definition stage
+ */
+ WithCreate withRetentionDays(Integer retentionDays);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy definition allowing to specify StorageAccountAccessKey.
+ */
+ interface WithStorageAccountAccessKey {
+ /**
+ * Specifies storageAccountAccessKey.
+ * @param storageAccountAccessKey Specifies the identifier key of the Threat Detection audit storage account
+ * @return the next definition stage
+ */
+ WithCreate withStorageAccountAccessKey(String storageAccountAccessKey);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy definition allowing to specify StorageEndpoint.
+ */
+ interface WithStorageEndpoint {
+ /**
+ * Specifies storageEndpoint.
+ * @param storageEndpoint Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs
+ * @return the next definition stage
+ */
+ WithCreate withStorageEndpoint(String storageEndpoint);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithDisabledAlerts, DefinitionStages.WithEmailAccountAdmins, DefinitionStages.WithEmailAddresses, DefinitionStages.WithRetentionDays, DefinitionStages.WithStorageAccountAccessKey, DefinitionStages.WithStorageEndpoint {
+ }
+ }
+ /**
+ * The template for a ManagedServerSecurityAlertPolicy update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithDisabledAlerts, UpdateStages.WithEmailAccountAdmins, UpdateStages.WithEmailAddresses, UpdateStages.WithRetentionDays, UpdateStages.WithStorageAccountAccessKey, UpdateStages.WithStorageEndpoint {
+ }
+
+ /**
+ * Grouping of ManagedServerSecurityAlertPolicy update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the managedserversecurityalertpolicy update allowing to specify DisabledAlerts.
+ */
+ interface WithDisabledAlerts {
+ /**
+ * Specifies disabledAlerts.
+ * @param disabledAlerts Specifies an array of alerts that are disabled. Allowed values are: Sql_Injection, Sql_Injection_Vulnerability, Access_Anomaly, Data_Exfiltration, Unsafe_Action
+ * @return the next update stage
+ */
+ Update withDisabledAlerts(List disabledAlerts);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy update allowing to specify EmailAccountAdmins.
+ */
+ interface WithEmailAccountAdmins {
+ /**
+ * Specifies emailAccountAdmins.
+ * @param emailAccountAdmins Specifies that the alert is sent to the account administrators
+ * @return the next update stage
+ */
+ Update withEmailAccountAdmins(Boolean emailAccountAdmins);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy update allowing to specify EmailAddresses.
+ */
+ interface WithEmailAddresses {
+ /**
+ * Specifies emailAddresses.
+ * @param emailAddresses Specifies an array of e-mail addresses to which the alert is sent
+ * @return the next update stage
+ */
+ Update withEmailAddresses(List emailAddresses);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy update allowing to specify RetentionDays.
+ */
+ interface WithRetentionDays {
+ /**
+ * Specifies retentionDays.
+ * @param retentionDays Specifies the number of days to keep in the Threat Detection audit logs
+ * @return the next update stage
+ */
+ Update withRetentionDays(Integer retentionDays);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy update allowing to specify StorageAccountAccessKey.
+ */
+ interface WithStorageAccountAccessKey {
+ /**
+ * Specifies storageAccountAccessKey.
+ * @param storageAccountAccessKey Specifies the identifier key of the Threat Detection audit storage account
+ * @return the next update stage
+ */
+ Update withStorageAccountAccessKey(String storageAccountAccessKey);
+ }
+
+ /**
+ * The stage of the managedserversecurityalertpolicy update allowing to specify StorageEndpoint.
+ */
+ interface WithStorageEndpoint {
+ /**
+ * Specifies storageEndpoint.
+ * @param storageEndpoint Specifies the blob storage endpoint (e.g. https://MyAccount.blob.core.windows.net). This blob storage will hold all Threat Detection audit logs
+ * @return the next update stage
+ */
+ Update withStorageEndpoint(String storageEndpoint);
+ }
+
+ }
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RecommendedSensitivityLabels.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RecommendedSensitivityLabels.java
new file mode 100644
index 000000000000..8781026c7a22
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RecommendedSensitivityLabels.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.RecommendedSensitivityLabelsInner;
+import com.microsoft.azure.arm.model.HasInner;
+
+/**
+ * Type representing RecommendedSensitivityLabels.
+ */
+public interface RecommendedSensitivityLabels extends HasInner {
+ /**
+ * Gets the sensitivity labels of a given 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
+ * @return the observable for the request
+ */
+ Observable listByDatabaseAsync(final String resourceGroupName, final String serverName, final String databaseName);
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RestorableDroppedDatabasisManagedInstanceManagedBackupShortTermRetentionPolicy.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RestorableDroppedDatabasisManagedInstanceManagedBackupShortTermRetentionPolicy.java
new file mode 100644
index 000000000000..92c0e2d721d7
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RestorableDroppedDatabasisManagedInstanceManagedBackupShortTermRetentionPolicy.java
@@ -0,0 +1,118 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.ManagedBackupShortTermRetentionPolicyInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SqlManager;
+
+/**
+ * Type representing RestorableDroppedDatabasisManagedInstanceManagedBackupShortTermRetentionPolicy.
+ */
+public interface RestorableDroppedDatabasisManagedInstanceManagedBackupShortTermRetentionPolicy extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the retentionDays value.
+ */
+ Integer retentionDays();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the RestorableDroppedDatabasisManagedInstanceManagedBackupShortTermRetentionPolicy definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithRestorableDroppedDatabasis, DefinitionStages.WithRetentionDays, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of RestorableDroppedDatabasisManagedInstanceManagedBackupShortTermRetentionPolicy definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a RestorableDroppedDatabasisManagedInstanceManagedBackupShortTermRetentionPolicy definition.
+ */
+ interface Blank extends WithRestorableDroppedDatabasis {
+ }
+
+ /**
+ * The stage of the restorabledroppeddatabasismanagedinstancemanagedbackupshorttermretentionpolicy definition allowing to specify RestorableDroppedDatabasis.
+ */
+ interface WithRestorableDroppedDatabasis {
+ /**
+ * Specifies resourceGroupName, managedInstanceName, restorableDroppedDatabaseId.
+ * @param resourceGroupName The 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 restorableDroppedDatabaseId the restorableDroppedDatabaseId parameter value
+ * @return the next definition stage
+ */
+ WithRetentionDays withExistingRestorableDroppedDatabasis(String resourceGroupName, String managedInstanceName, String restorableDroppedDatabaseId);
+ }
+
+ /**
+ * The stage of the restorabledroppeddatabasismanagedinstancemanagedbackupshorttermretentionpolicy definition allowing to specify RetentionDays.
+ */
+ interface WithRetentionDays {
+ /**
+ * Specifies retentionDays.
+ * @param retentionDays The backup retention period in days. This is how many days Point-in-Time Restore will be supported
+ * @return the next definition stage
+ */
+ WithCreate withRetentionDays(Integer retentionDays);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable {
+ }
+ }
+ /**
+ * The template for a RestorableDroppedDatabasisManagedInstanceManagedBackupShortTermRetentionPolicy update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithRetentionDays {
+ }
+
+ /**
+ * Grouping of RestorableDroppedDatabasisManagedInstanceManagedBackupShortTermRetentionPolicy update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the restorabledroppeddatabasismanagedinstancemanagedbackupshorttermretentionpolicy update allowing to specify RetentionDays.
+ */
+ interface WithRetentionDays {
+ /**
+ * Specifies retentionDays.
+ * @param retentionDays The backup retention period in days. This is how many days Point-in-Time Restore will be supported
+ * @return the next update stage
+ */
+ Update withRetentionDays(Integer retentionDays);
+ }
+
+ }
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RestorableDroppedManagedDatabase.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RestorableDroppedManagedDatabase.java
new file mode 100644
index 000000000000..d08e30ec738c
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RestorableDroppedManagedDatabase.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.RestorableDroppedManagedDatabaseInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SqlManager;
+import org.joda.time.DateTime;
+import java.util.Map;
+
+/**
+ * Type representing RestorableDroppedManagedDatabase.
+ */
+public interface RestorableDroppedManagedDatabase extends HasInner, Indexable, Refreshable, HasManager {
+ /**
+ * @return the creationDate value.
+ */
+ DateTime creationDate();
+
+ /**
+ * @return the databaseName value.
+ */
+ String databaseName();
+
+ /**
+ * @return the deletionDate value.
+ */
+ DateTime deletionDate();
+
+ /**
+ * @return the earliestRestoreDate value.
+ */
+ DateTime earliestRestoreDate();
+
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the location value.
+ */
+ String location();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the tags value.
+ */
+ Map tags();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RestorableDroppedManagedDatabases.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RestorableDroppedManagedDatabases.java
new file mode 100644
index 000000000000..0926d20816de
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/RestorableDroppedManagedDatabases.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import rx.Observable;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.RestorableDroppedManagedDatabase;
+
+/**
+ * Type representing RestorableDroppedManagedDatabases.
+ */
+public interface RestorableDroppedManagedDatabases {
+ /**
+ * Gets a restorable dropped managed database.
+ *
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
+ * @param managedInstanceName The name of the managed instance.
+ * @param restorableDroppedDatabaseId the String value
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String managedInstanceName, String restorableDroppedDatabaseId);
+
+ /**
+ * Gets a list of restorable dropped managed 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 managedInstanceName The name of the managed instance.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByInstanceAsync(final String resourceGroupName, final String managedInstanceName);
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/SensitivityLabel.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/SensitivityLabel.java
new file mode 100644
index 000000000000..39f1024e1557
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/SensitivityLabel.java
@@ -0,0 +1,213 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SensitivityLabelInner;
+import com.microsoft.azure.arm.model.Indexable;
+import com.microsoft.azure.arm.model.Refreshable;
+import com.microsoft.azure.arm.model.Updatable;
+import com.microsoft.azure.arm.model.Appliable;
+import com.microsoft.azure.arm.model.Creatable;
+import com.microsoft.azure.arm.resources.models.HasManager;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SqlManager;
+
+/**
+ * Type representing SensitivityLabel.
+ */
+public interface SensitivityLabel extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the id value.
+ */
+ String id();
+
+ /**
+ * @return the informationType value.
+ */
+ String informationType();
+
+ /**
+ * @return the informationTypeId value.
+ */
+ String informationTypeId();
+
+ /**
+ * @return the isDisabled value.
+ */
+ Boolean isDisabled();
+
+ /**
+ * @return the labelId value.
+ */
+ String labelId();
+
+ /**
+ * @return the labelName value.
+ */
+ String labelName();
+
+ /**
+ * @return the name value.
+ */
+ String name();
+
+ /**
+ * @return the type value.
+ */
+ String type();
+
+ /**
+ * The entirety of the SensitivityLabel definition.
+ */
+ interface Definition extends DefinitionStages.Blank, DefinitionStages.WithColumn, DefinitionStages.WithCreate {
+ }
+
+ /**
+ * Grouping of SensitivityLabel definition stages.
+ */
+ interface DefinitionStages {
+ /**
+ * The first stage of a SensitivityLabel definition.
+ */
+ interface Blank extends WithColumn {
+ }
+
+ /**
+ * The stage of the sensitivitylabel definition allowing to specify Column.
+ */
+ interface WithColumn {
+ /**
+ * Specifies resourceGroupName, serverName, databaseName, schemaName, tableName, columnName.
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value 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
+ * @return the next definition stage
+ */
+ WithCreate withExistingColumn(String resourceGroupName, String serverName, String databaseName, String schemaName, String tableName, String columnName);
+ }
+
+ /**
+ * The stage of the sensitivitylabel definition allowing to specify InformationType.
+ */
+ interface WithInformationType {
+ /**
+ * Specifies informationType.
+ * @param informationType The information type
+ * @return the next definition stage
+ */
+ WithCreate withInformationType(String informationType);
+ }
+
+ /**
+ * The stage of the sensitivitylabel definition allowing to specify InformationTypeId.
+ */
+ interface WithInformationTypeId {
+ /**
+ * Specifies informationTypeId.
+ * @param informationTypeId The information type ID
+ * @return the next definition stage
+ */
+ WithCreate withInformationTypeId(String informationTypeId);
+ }
+
+ /**
+ * The stage of the sensitivitylabel definition allowing to specify LabelId.
+ */
+ interface WithLabelId {
+ /**
+ * Specifies labelId.
+ * @param labelId The label ID
+ * @return the next definition stage
+ */
+ WithCreate withLabelId(String labelId);
+ }
+
+ /**
+ * The stage of the sensitivitylabel definition allowing to specify LabelName.
+ */
+ interface WithLabelName {
+ /**
+ * Specifies labelName.
+ * @param labelName The label name
+ * @return the next definition stage
+ */
+ WithCreate withLabelName(String labelName);
+ }
+
+ /**
+ * The stage of the definition which contains all the minimum required inputs for
+ * the resource to be created (via {@link WithCreate#create()}), but also allows
+ * for any other optional settings to be specified.
+ */
+ interface WithCreate extends Creatable, DefinitionStages.WithInformationType, DefinitionStages.WithInformationTypeId, DefinitionStages.WithLabelId, DefinitionStages.WithLabelName {
+ }
+ }
+ /**
+ * The template for a SensitivityLabel update operation, containing all the settings that can be modified.
+ */
+ interface Update extends Appliable, UpdateStages.WithInformationType, UpdateStages.WithInformationTypeId, UpdateStages.WithLabelId, UpdateStages.WithLabelName {
+ }
+
+ /**
+ * Grouping of SensitivityLabel update stages.
+ */
+ interface UpdateStages {
+ /**
+ * The stage of the sensitivitylabel update allowing to specify InformationType.
+ */
+ interface WithInformationType {
+ /**
+ * Specifies informationType.
+ * @param informationType The information type
+ * @return the next update stage
+ */
+ Update withInformationType(String informationType);
+ }
+
+ /**
+ * The stage of the sensitivitylabel update allowing to specify InformationTypeId.
+ */
+ interface WithInformationTypeId {
+ /**
+ * Specifies informationTypeId.
+ * @param informationTypeId The information type ID
+ * @return the next update stage
+ */
+ Update withInformationTypeId(String informationTypeId);
+ }
+
+ /**
+ * The stage of the sensitivitylabel update allowing to specify LabelId.
+ */
+ interface WithLabelId {
+ /**
+ * Specifies labelId.
+ * @param labelId The label ID
+ * @return the next update stage
+ */
+ Update withLabelId(String labelId);
+ }
+
+ /**
+ * The stage of the sensitivitylabel update allowing to specify LabelName.
+ */
+ interface WithLabelName {
+ /**
+ * Specifies labelName.
+ * @param labelName The label name
+ * @return the next update stage
+ */
+ Update withLabelName(String labelName);
+ }
+
+ }
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/SensitivityLabelSource.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/SensitivityLabelSource.java
new file mode 100644
index 000000000000..436333e89dae
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/SensitivityLabelSource.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonValue;
+
+/**
+ * Defines values for SensitivityLabelSource.
+ */
+public enum SensitivityLabelSource {
+ /** Enum value current. */
+ CURRENT("current"),
+
+ /** Enum value recommended. */
+ RECOMMENDED("recommended");
+
+ /** The actual serialized value for a SensitivityLabelSource instance. */
+ private String value;
+
+ SensitivityLabelSource(String value) {
+ this.value = value;
+ }
+
+ /**
+ * Parses a serialized value to a SensitivityLabelSource instance.
+ *
+ * @param value the serialized value to parse.
+ * @return the parsed SensitivityLabelSource object, or null if unable to parse.
+ */
+ @JsonCreator
+ public static SensitivityLabelSource fromString(String value) {
+ SensitivityLabelSource[] items = SensitivityLabelSource.values();
+ for (SensitivityLabelSource item : items) {
+ if (item.toString().equalsIgnoreCase(value)) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+ @JsonValue
+ @Override
+ public String toString() {
+ return this.value;
+ }
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/SensitivityLabels.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/SensitivityLabels.java
new file mode 100644
index 000000000000..c22a0cc12b3c
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/SensitivityLabels.java
@@ -0,0 +1,90 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview;
+
+import com.microsoft.azure.arm.collection.SupportsCreating;
+import rx.Completable;
+import rx.Observable;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SensitivityLabelsInner;
+import com.microsoft.azure.arm.model.HasInner;
+import com.microsoft.azure.management.sql.v2017_03_01_preview.DatabasisServerSensitivityLabel;
+
+/**
+ * Type representing SensitivityLabels.
+ */
+public interface SensitivityLabels extends SupportsCreating, HasInner {
+ /**
+ * Enables sensitivity recommendations on a given column (recommendations are enabled by default on all 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 columnName The name of the column.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Completable enableRecommendationAsync(String resourceGroupName, String serverName, String databaseName, String schemaName, String tableName, String columnName);
+
+ /**
+ * Disables sensitivity recommendations on a given 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
+ * @return the observable for the request
+ */
+ Completable disableRecommendationAsync(String resourceGroupName, String serverName, String databaseName, String schemaName, String tableName, String columnName);
+
+ /**
+ * Gets the sensitivity label of a given 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 sensitivityLabelSource The source of the sensitivity label. Possible values include: 'current', 'recommended'
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable getAsync(String resourceGroupName, String serverName, String databaseName, String schemaName, String tableName, String columnName, SensitivityLabelSource sensitivityLabelSource);
+
+ /**
+ * Deletes the sensitivity label of a given 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
+ * @return the observable for the request
+ */
+ Completable deleteAsync(String resourceGroupName, String serverName, String databaseName, String schemaName, String tableName, String columnName);
+
+ /**
+ * Gets the sensitivity labels of a given 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
+ * @return the observable for the request
+ */
+ Observable listCurrentByDatabaseAsync(final String resourceGroupName, final String serverName, final String databaseName);
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ServerSecurityAlertPolicies.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ServerSecurityAlertPolicies.java
index f27795c42361..301726190861 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ServerSecurityAlertPolicies.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ServerSecurityAlertPolicies.java
@@ -27,4 +27,14 @@ public interface ServerSecurityAlertPolicies extends SupportsCreating getAsync(String resourceGroupName, String serverName);
+ /**
+ * Get the server's threat detection 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.
+ * @throws IllegalArgumentException thrown if parameters fail the validation
+ * @return the observable for the request
+ */
+ Observable listByServerAsync(final String resourceGroupName, final String serverName);
+
}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ServerSecurityAlertPolicy.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ServerSecurityAlertPolicy.java
index 7d819c8d9594..a8dceeb2adf8 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ServerSecurityAlertPolicy.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/ServerSecurityAlertPolicy.java
@@ -18,11 +18,17 @@
import com.microsoft.azure.arm.resources.models.HasManager;
import com.microsoft.azure.management.sql.v2017_03_01_preview.implementation.SqlManager;
import java.util.List;
+import org.joda.time.DateTime;
/**
* Type representing ServerSecurityAlertPolicy.
*/
public interface ServerSecurityAlertPolicy extends HasInner, Indexable, Refreshable, Updatable, HasManager {
+ /**
+ * @return the creationTime value.
+ */
+ DateTime creationTime();
+
/**
* @return the disabledAlerts value.
*/
@@ -108,7 +114,7 @@ interface WithServer {
interface WithState {
/**
* Specifies state.
- * @param state Specifies the state of the policy, whether it is enabled or disabled. Possible values include: 'New', 'Enabled', 'Disabled'
+ * @param state Specifies the state of the policy, whether it is enabled or disabled or a policy has not been applied yet on the specific database. Possible values include: 'New', 'Enabled', 'Disabled'
* @return the next definition stage
*/
WithCreate withState(SecurityAlertPolicyState state);
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabaseVulnerabilityAssessmentRuleBaselineImpl.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabaseVulnerabilityAssessmentRuleBaselineImpl.java
index 6e65b17864b3..023610ad1fa2 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabaseVulnerabilityAssessmentRuleBaselineImpl.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabaseVulnerabilityAssessmentRuleBaselineImpl.java
@@ -29,7 +29,7 @@ class DatabaseVulnerabilityAssessmentRuleBaselineImpl extends CreatableUpdatable
super(name, new DatabaseVulnerabilityAssessmentRuleBaselineInner());
this.manager = manager;
// Set resource name
- this.baselineName = VulnerabilityAssessmentPolicyBaselineName.fromString(name);
+ this.baselineName = name;
//
}
@@ -37,7 +37,7 @@ class DatabaseVulnerabilityAssessmentRuleBaselineImpl extends CreatableUpdatable
super(inner.name(), inner);
this.manager = manager;
// Set resource name
- this.baselineName = VulnerabilityAssessmentPolicyBaselineName.fromString(inner.name());
+ this.baselineName = inner.name();
// set resource ancestor and positional variables
this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourceGroups");
this.serverName = IdParsingUtils.getValueFromIdByName(inner.id(), "servers");
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabaseVulnerabilityAssessmentRuleBaselinesImpl.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabaseVulnerabilityAssessmentRuleBaselinesImpl.java
index 09c6ce15a1d1..468a1f0c9002 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabaseVulnerabilityAssessmentRuleBaselinesImpl.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabaseVulnerabilityAssessmentRuleBaselinesImpl.java
@@ -11,7 +11,6 @@
import com.microsoft.azure.arm.model.implementation.WrapperImpl;
import com.microsoft.azure.management.sql.v2017_03_01_preview.DatabaseVulnerabilityAssessmentRuleBaselines;
-import com.microsoft.azure.management.sql.v2017_03_01_preview.VulnerabilityAssessmentPolicyBaselineName;
import rx.Observable;
import rx.functions.Func1;
import com.microsoft.azure.management.sql.v2017_03_01_preview.DatabaseVulnerabilityAssessmentRuleBaseline;
@@ -47,7 +46,7 @@ private Observable getDatabase
String serverName = IdParsingUtils.getValueFromIdByName(id, "servers");
String databaseName = IdParsingUtils.getValueFromIdByName(id, "databases");
String ruleId = IdParsingUtils.getValueFromIdByName(id, "rules");
- VulnerabilityAssessmentPolicyBaselineName baselineName = VulnerabilityAssessmentPolicyBaselineName.valueOf(IdParsingUtils.getValueFromIdByName(id, "baselines"));
+ String baselineName = VulnerabilityAssessmentPolicyBaselineName.valueOf(IdParsingUtils.getValueFromIdByName(id, "baselines"));
DatabaseVulnerabilityAssessmentRuleBaselinesInner client = this.inner();
return client.getAsync(resourceGroupName, serverName, databaseName, ruleId, baselineName);
}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabasisManagedInstanceManagedBackupShortTermRetentionPolicyImpl.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabasisManagedInstanceManagedBackupShortTermRetentionPolicyImpl.java
new file mode 100644
index 000000000000..45af884ced1d
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabasisManagedInstanceManagedBackupShortTermRetentionPolicyImpl.java
@@ -0,0 +1,112 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview.implementation;
+
+import com.microsoft.azure.management.sql.v2017_03_01_preview.DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy;
+import com.microsoft.azure.arm.model.implementation.CreatableUpdatableImpl;
+import rx.Observable;
+
+class DatabasisManagedInstanceManagedBackupShortTermRetentionPolicyImpl extends CreatableUpdatableImpl implements DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy, DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy.Definition, DatabasisManagedInstanceManagedBackupShortTermRetentionPolicy.Update {
+ private final SqlManager manager;
+ private String resourceGroupName;
+ private String managedInstanceName;
+ private String databaseName;
+ private Integer cretentionDays;
+ private Integer uretentionDays;
+
+ DatabasisManagedInstanceManagedBackupShortTermRetentionPolicyImpl(String name, SqlManager manager) {
+ super(name, new ManagedBackupShortTermRetentionPolicyInner());
+ this.manager = manager;
+ // Set resource name
+ this.databaseName = name;
+ //
+ }
+
+ DatabasisManagedInstanceManagedBackupShortTermRetentionPolicyImpl(ManagedBackupShortTermRetentionPolicyInner inner, SqlManager manager) {
+ super(inner.name(), inner);
+ this.manager = manager;
+ // Set resource name
+ this.databaseName = inner.name();
+ // set resource ancestor and positional variables
+ this.resourceGroupName = IdParsingUtils.getValueFromIdByName(inner.id(), "resourceGroups");
+ this.managedInstanceName = IdParsingUtils.getValueFromIdByName(inner.id(), "managedInstances");
+ this.databaseName = IdParsingUtils.getValueFromIdByName(inner.id(), "databases");
+ //
+ }
+
+ @Override
+ public SqlManager manager() {
+ return this.manager;
+ }
+
+ @Override
+ public Observable createResourceAsync() {
+ ManagedBackupShortTermRetentionPoliciesInner client = this.manager().inner().managedBackupShortTermRetentionPolicies();
+ return client.createOrUpdateAsync(this.resourceGroupName, this.managedInstanceName, this.databaseName, this.cretentionDays)
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ public Observable updateResourceAsync() {
+ ManagedBackupShortTermRetentionPoliciesInner client = this.manager().inner().managedBackupShortTermRetentionPolicies();
+ return client.updateAsync(this.resourceGroupName, this.managedInstanceName, this.databaseName, this.uretentionDays)
+ .map(innerToFluentMap(this));
+ }
+
+ @Override
+ protected Observable getInnerAsync() {
+ ManagedBackupShortTermRetentionPoliciesInner client = this.manager().inner().managedBackupShortTermRetentionPolicies();
+ return client.getAsync(this.resourceGroupName, this.managedInstanceName, this.databaseName);
+ }
+
+ @Override
+ public boolean isInCreateMode() {
+ return this.inner().id() == null;
+ }
+
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public Integer retentionDays() {
+ return this.inner().retentionDays();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+ @Override
+ public DatabasisManagedInstanceManagedBackupShortTermRetentionPolicyImpl withExistingDatabasis(String resourceGroupName, String managedInstanceName, String databaseName) {
+ this.resourceGroupName = resourceGroupName;
+ this.managedInstanceName = managedInstanceName;
+ this.databaseName = databaseName;
+ return this;
+ }
+
+ @Override
+ public DatabasisManagedInstanceManagedBackupShortTermRetentionPolicyImpl withRetentionDays(Integer retentionDays) {
+ if (isInCreateMode()) {
+ this.cretentionDays = retentionDays;
+ } else {
+ this.uretentionDays = retentionDays;
+ }
+ return this;
+ }
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabasisServerSensitivityLabelImpl.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabasisServerSensitivityLabelImpl.java
new file mode 100644
index 000000000000..e2c221572a2d
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabasisServerSensitivityLabelImpl.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview.implementation;
+
+import com.microsoft.azure.management.sql.v2017_03_01_preview.DatabasisServerSensitivityLabel;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import rx.Observable;
+
+class DatabasisServerSensitivityLabelImpl extends WrapperImpl implements DatabasisServerSensitivityLabel {
+ private final SqlManager manager;
+
+ DatabasisServerSensitivityLabelImpl(SensitivityLabelInner inner, SqlManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public SqlManager manager() {
+ return this.manager;
+ }
+
+
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String informationType() {
+ return this.inner().informationType();
+ }
+
+ @Override
+ public String informationTypeId() {
+ return this.inner().informationTypeId();
+ }
+
+ @Override
+ public Boolean isDisabled() {
+ return this.inner().isDisabled();
+ }
+
+ @Override
+ public String labelId() {
+ return this.inner().labelId();
+ }
+
+ @Override
+ public String labelName() {
+ return this.inner().labelName();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabasisServerSensitivityLabelModelImpl.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabasisServerSensitivityLabelModelImpl.java
new file mode 100644
index 000000000000..6757d22ea454
--- /dev/null
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/DatabasisServerSensitivityLabelModelImpl.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for
+ * license information.
+ *
+ * Code generated by Microsoft (R) AutoRest Code Generator.
+ */
+
+package com.microsoft.azure.management.sql.v2017_03_01_preview.implementation;
+
+import com.microsoft.azure.management.sql.v2017_03_01_preview.DatabasisServerSensitivityLabelModel;
+import com.microsoft.azure.arm.model.implementation.WrapperImpl;
+import rx.Observable;
+
+class DatabasisServerSensitivityLabelModelImpl extends WrapperImpl implements DatabasisServerSensitivityLabelModel {
+ private final SqlManager manager;
+
+ DatabasisServerSensitivityLabelModelImpl(SensitivityLabelInner inner, SqlManager manager) {
+ super(inner);
+ this.manager = manager;
+ }
+
+ @Override
+ public SqlManager manager() {
+ return this.manager;
+ }
+
+
+
+ @Override
+ public String id() {
+ return this.inner().id();
+ }
+
+ @Override
+ public String informationType() {
+ return this.inner().informationType();
+ }
+
+ @Override
+ public String informationTypeId() {
+ return this.inner().informationTypeId();
+ }
+
+ @Override
+ public Boolean isDisabled() {
+ return this.inner().isDisabled();
+ }
+
+ @Override
+ public String labelId() {
+ return this.inner().labelId();
+ }
+
+ @Override
+ public String labelName() {
+ return this.inner().labelName();
+ }
+
+ @Override
+ public String name() {
+ return this.inner().name();
+ }
+
+ @Override
+ public String type() {
+ return this.inner().type();
+ }
+
+}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobAgentServerJobExecutionImpl.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobAgentServerJobExecutionImpl.java
index 4e0e2e0cdc69..e6525639104e 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobAgentServerJobExecutionImpl.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobAgentServerJobExecutionImpl.java
@@ -29,7 +29,7 @@ class JobAgentServerJobExecutionImpl extends CreatableUpdatableImpl getDelegate(Response re
}
/**
- * Creates or updatess a job execution.
+ * Creates or updates a job execution.
*
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param serverName The name of the server.
@@ -1128,7 +1128,7 @@ public JobExecutionInner createOrUpdate(String resourceGroupName, String serverN
}
/**
- * Creates or updatess a job execution.
+ * Creates or updates a job execution.
*
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param serverName The name of the server.
@@ -1144,7 +1144,7 @@ public ServiceFuture createOrUpdateAsync(String resourceGroup
}
/**
- * Creates or updatess a job execution.
+ * Creates or updates a job execution.
*
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param serverName The name of the server.
@@ -1164,7 +1164,7 @@ public JobExecutionInner call(ServiceResponse response) {
}
/**
- * Creates or updatess a job execution.
+ * Creates or updates a job execution.
*
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param serverName The name of the server.
@@ -1201,7 +1201,7 @@ public Observable> createOrUpdateWithServiceR
}
/**
- * Creates or updatess a job execution.
+ * Creates or updates a job execution.
*
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param serverName The name of the server.
@@ -1218,7 +1218,7 @@ public JobExecutionInner beginCreateOrUpdate(String resourceGroupName, String se
}
/**
- * Creates or updatess a job execution.
+ * Creates or updates a job execution.
*
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param serverName The name of the server.
@@ -1234,7 +1234,7 @@ public ServiceFuture beginCreateOrUpdateAsync(String resource
}
/**
- * Creates or updatess a job execution.
+ * Creates or updates a job execution.
*
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param serverName The name of the server.
@@ -1254,7 +1254,7 @@ public JobExecutionInner call(ServiceResponse response) {
}
/**
- * Creates or updatess a job execution.
+ * Creates or updates a job execution.
*
* @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param serverName The name of the server.
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobStepExecutionsImpl.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobStepExecutionsImpl.java
index 7c63052aaa15..8719fbbd0eb9 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobStepExecutionsImpl.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobStepExecutionsImpl.java
@@ -16,8 +16,6 @@
import com.microsoft.azure.management.sql.v2017_03_01_preview.ExecutionJobJobAgentServerJobExecution;
import com.microsoft.azure.Page;
-import java.util.UUID;
-
class JobStepExecutionsImpl extends WrapperImpl implements JobStepExecutions {
private final SqlManager manager;
@@ -39,7 +37,7 @@ private Observable getJobExecutionInnerUsingJobStepExecutions
String serverName = IdParsingUtils.getValueFromIdByName(id, "servers");
String jobAgentName = IdParsingUtils.getValueFromIdByName(id, "jobAgents");
String jobName = IdParsingUtils.getValueFromIdByName(id, "jobs");
- UUID jobExecutionId = UUID.fromString(IdParsingUtils.getValueFromIdByName(id, "executions"));
+ String jobExecutionId = UUID.fromString(IdParsingUtils.getValueFromIdByName(id, "executions"));
String stepName = IdParsingUtils.getValueFromIdByName(id, "steps");
JobStepExecutionsInner client = this.inner();
return client.getAsync(resourceGroupName, serverName, jobAgentName, jobName, jobExecutionId, stepName);
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobStepImpl.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobStepImpl.java
index 4c57c31d99fb..324af6f0ef57 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobStepImpl.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/JobStepImpl.java
@@ -67,7 +67,7 @@ public Observable updateResourceAsync() {
@Override
protected Observable getInnerAsync() {
JobStepsInner client = this.manager().inner().jobSteps();
- return client.getAsync(this.resourceGroupName, this.serverName, this.jobAgentName, this.jobName, this.stepName);
+ return client.getByVersionAsync(this.resourceGroupName, this.serverName, this.jobAgentName, this.jobName, this.stepName);
}
@Override
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupImpl.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupImpl.java
index 868999b12a5b..53f2b600d2e6 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupImpl.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupImpl.java
@@ -15,6 +15,7 @@
class LongTermRetentionBackupImpl extends IndexableRefreshableWrapperImpl implements LongTermRetentionBackup {
private final SqlManager manager;
+ private String resourceGroupName;
private String locationName;
private String longTermRetentionServerName;
private String longTermRetentionDatabaseName;
@@ -24,6 +25,7 @@ class LongTermRetentionBackupImpl extends IndexableRefreshableWrapperImpl getInnerAsync() {
LongTermRetentionBackupsInner client = this.manager().inner().longTermRetentionBackups();
- return client.getAsync(this.locationName, this.longTermRetentionServerName, this.longTermRetentionDatabaseName, this.backupName);
+ return client.getByResourceGroupAsync(this.resourceGroupName, this.locationName, this.longTermRetentionServerName, this.longTermRetentionDatabaseName, this.backupName);
}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupsImpl.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupsImpl.java
index b005c4aec91b..7bf157f4cfd0 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupsImpl.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupsImpl.java
@@ -33,6 +33,78 @@ private LongTermRetentionBackupImpl wrapModel(LongTermRetentionBackupInner inner
return new LongTermRetentionBackupImpl(inner, manager());
}
+ @Override
+ public Observable listByResourceGroupLocationAsync(final String resourceGroupName, final String locationName) {
+ LongTermRetentionBackupsInner client = this.inner();
+ return client.listByResourceGroupLocationAsync(resourceGroupName, locationName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public LongTermRetentionBackup call(LongTermRetentionBackupInner inner) {
+ return new LongTermRetentionBackupImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable listByResourceGroupServerAsync(final String resourceGroupName, final String locationName, final String longTermRetentionServerName) {
+ LongTermRetentionBackupsInner client = this.inner();
+ return client.listByResourceGroupServerAsync(resourceGroupName, locationName, longTermRetentionServerName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public LongTermRetentionBackup call(LongTermRetentionBackupInner inner) {
+ return new LongTermRetentionBackupImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Observable getAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ LongTermRetentionBackupsInner client = this.inner();
+ return client.getAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName)
+ .map(new Func1() {
+ @Override
+ public LongTermRetentionBackup call(LongTermRetentionBackupInner inner) {
+ return new LongTermRetentionBackupImpl(inner, manager());
+ }
+ });
+ }
+
+ @Override
+ public Completable deleteAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ LongTermRetentionBackupsInner client = this.inner();
+ return client.deleteAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).toCompletable();
+ }
+
+ @Override
+ public Observable listByDatabaseAsync(final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName) {
+ LongTermRetentionBackupsInner client = this.inner();
+ return client.listByDatabaseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName)
+ .flatMapIterable(new Func1, Iterable>() {
+ @Override
+ public Iterable call(Page page) {
+ return page.items();
+ }
+ })
+ .map(new Func1() {
+ @Override
+ public LongTermRetentionBackup call(LongTermRetentionBackupInner inner) {
+ return new LongTermRetentionBackupImpl(inner, manager());
+ }
+ });
+ }
+
@Override
public Observable listByLocationAsync(final String locationName) {
LongTermRetentionBackupsInner client = this.inner();
@@ -70,9 +142,9 @@ public LongTermRetentionBackup call(LongTermRetentionBackupInner inner) {
}
@Override
- public Observable listByDatabaseAsync(final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName) {
+ public Observable listByResourceGroupDatabaseAsync(final String resourceGroupName, final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName) {
LongTermRetentionBackupsInner client = this.inner();
- return client.listByDatabaseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName)
+ return client.listByResourceGroupDatabaseAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName)
.flatMapIterable(new Func1, Iterable>() {
@Override
public Iterable call(Page page) {
@@ -88,9 +160,9 @@ public LongTermRetentionBackup call(LongTermRetentionBackupInner inner) {
}
@Override
- public Observable getAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ public Observable getByResourceGroupAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
LongTermRetentionBackupsInner client = this.inner();
- return client.getAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName)
+ return client.getByResourceGroupAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName)
.map(new Func1() {
@Override
public LongTermRetentionBackup call(LongTermRetentionBackupInner inner) {
@@ -100,9 +172,9 @@ public LongTermRetentionBackup call(LongTermRetentionBackupInner inner) {
}
@Override
- public Completable deleteAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ public Completable deleteByResourceGroupAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
LongTermRetentionBackupsInner client = this.inner();
- return client.deleteAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).toCompletable();
+ return client.deleteByResourceGroupAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).toCompletable();
}
}
diff --git a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupsInner.java b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupsInner.java
index b4318cbee543..777798a3c7f7 100644
--- a/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupsInner.java
+++ b/sql/resource-manager/v2017_03_01_preview/src/main/java/com/microsoft/azure/management/sql/v2017_03_01_preview/implementation/LongTermRetentionBackupsInner.java
@@ -59,6 +59,30 @@ public LongTermRetentionBackupsInner(Retrofit retrofit, SqlManagementClientImpl
* used by Retrofit to perform actually REST calls.
*/
interface LongTermRetentionBackupsService {
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups getByResourceGroup" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}")
+ Observable> getByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("locationName") String locationName, @Path("longTermRetentionServerName") String longTermRetentionServerName, @Path("longTermRetentionDatabaseName") String longTermRetentionDatabaseName, @Path("backupName") String backupName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups deleteByResourceGroup" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", method = "DELETE", hasBody = true)
+ Observable> deleteByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("locationName") String locationName, @Path("longTermRetentionServerName") String longTermRetentionServerName, @Path("longTermRetentionDatabaseName") String longTermRetentionDatabaseName, @Path("backupName") String backupName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups beginDeleteByResourceGroup" })
+ @HTTP(path = "subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}", method = "DELETE", hasBody = true)
+ Observable> beginDeleteByResourceGroup(@Path("resourceGroupName") String resourceGroupName, @Path("locationName") String locationName, @Path("longTermRetentionServerName") String longTermRetentionServerName, @Path("longTermRetentionDatabaseName") String longTermRetentionDatabaseName, @Path("backupName") String backupName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups listByResourceGroupDatabase" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups")
+ Observable> listByResourceGroupDatabase(@Path("resourceGroupName") String resourceGroupName, @Path("locationName") String locationName, @Path("longTermRetentionServerName") String longTermRetentionServerName, @Path("longTermRetentionDatabaseName") String longTermRetentionDatabaseName, @Path("subscriptionId") String subscriptionId, @Query("onlyLatestPerDatabase") Boolean onlyLatestPerDatabase, @Query("databaseState") LongTermRetentionDatabaseState databaseState, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups listByResourceGroupLocation" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionBackups")
+ Observable> listByResourceGroupLocation(@Path("resourceGroupName") String resourceGroupName, @Path("locationName") String locationName, @Path("subscriptionId") String subscriptionId, @Query("onlyLatestPerDatabase") Boolean onlyLatestPerDatabase, @Query("databaseState") LongTermRetentionDatabaseState databaseState, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups listByResourceGroupServer" })
+ @GET("subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups")
+ Observable> listByResourceGroupServer(@Path("resourceGroupName") String resourceGroupName, @Path("locationName") String locationName, @Path("longTermRetentionServerName") String longTermRetentionServerName, @Path("subscriptionId") String subscriptionId, @Query("onlyLatestPerDatabase") Boolean onlyLatestPerDatabase, @Query("databaseState") LongTermRetentionDatabaseState databaseState, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups get" })
@GET("subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionDatabases/{longTermRetentionDatabaseName}/longTermRetentionBackups/{backupName}")
Observable> get(@Path("locationName") String locationName, @Path("longTermRetentionServerName") String longTermRetentionServerName, @Path("longTermRetentionDatabaseName") String longTermRetentionDatabaseName, @Path("backupName") String backupName, @Path("subscriptionId") String subscriptionId, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@@ -83,6 +107,18 @@ interface LongTermRetentionBackupsService {
@GET("subscriptions/{subscriptionId}/providers/Microsoft.Sql/locations/{locationName}/longTermRetentionServers/{longTermRetentionServerName}/longTermRetentionBackups")
Observable> listByServer(@Path("locationName") String locationName, @Path("longTermRetentionServerName") String longTermRetentionServerName, @Path("subscriptionId") String subscriptionId, @Query("onlyLatestPerDatabase") Boolean onlyLatestPerDatabase, @Query("databaseState") LongTermRetentionDatabaseState databaseState, @Query("api-version") String apiVersion, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups listByResourceGroupDatabaseNext" })
+ @GET
+ Observable> listByResourceGroupDatabaseNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups listByResourceGroupLocationNext" })
+ @GET
+ Observable> listByResourceGroupLocationNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
+ @Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups listByResourceGroupServerNext" })
+ @GET
+ Observable> listByResourceGroupServerNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
+
@Headers({ "Content-Type: application/json; charset=utf-8", "x-ms-logging-context: com.microsoft.azure.management.sql.v2017_03_01_preview.LongTermRetentionBackups listByDatabaseNext" })
@GET
Observable> listByDatabaseNext(@Url String nextUrl, @Header("accept-language") String acceptLanguage, @Header("User-Agent") String userAgent);
@@ -100,46 +136,49 @@ interface LongTermRetentionBackupsService {
/**
* Gets a long term retention backup.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database.
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @throws CloudException thrown if the request is rejected by server
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
* @return the LongTermRetentionBackupInner object if successful.
*/
- public LongTermRetentionBackupInner get(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
- return getWithServiceResponseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).toBlocking().single().body();
+ public LongTermRetentionBackupInner getByResourceGroup(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ return getByResourceGroupWithServiceResponseAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).toBlocking().single().body();
}
/**
* Gets a long term retention backup.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database.
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @param serviceCallback the async ServiceCallback to handle successful and failed responses.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the {@link ServiceFuture} object
*/
- public ServiceFuture getAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName, final ServiceCallback serviceCallback) {
- return ServiceFuture.fromResponse(getWithServiceResponseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName), serviceCallback);
+ public ServiceFuture getByResourceGroupAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(getByResourceGroupWithServiceResponseAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName), serviceCallback);
}
/**
* Gets a long term retention backup.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database.
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable to the LongTermRetentionBackupInner object
*/
- public Observable getAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
- return getWithServiceResponseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).map(new Func1, LongTermRetentionBackupInner>() {
+ public Observable getByResourceGroupAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ return getByResourceGroupWithServiceResponseAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).map(new Func1, LongTermRetentionBackupInner>() {
@Override
public LongTermRetentionBackupInner call(ServiceResponse response) {
return response.body();
@@ -150,14 +189,18 @@ public LongTermRetentionBackupInner call(ServiceResponse> getWithServiceResponseAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ public Observable> getByResourceGroupWithServiceResponseAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
if (locationName == null) {
throw new IllegalArgumentException("Parameter locationName is required and cannot be null.");
}
@@ -176,12 +219,12 @@ public Observable> getWithServiceR
if (this.client.apiVersion() == null) {
throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
}
- return service.get(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ return service.getByResourceGroup(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
try {
- ServiceResponse clientResponse = getDelegate(response);
+ ServiceResponse clientResponse = getByResourceGroupDelegate(response);
return Observable.just(clientResponse);
} catch (Throwable t) {
return Observable.error(t);
@@ -190,7 +233,7 @@ public Observable> call(Response getDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ private ServiceResponse getByResourceGroupDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
.register(200, new TypeToken() { }.getType())
.registerError(CloudException.class)
@@ -200,45 +243,48 @@ private ServiceResponse getDelegate(Response deleteAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName, final ServiceCallback serviceCallback) {
- return ServiceFuture.fromResponse(deleteWithServiceResponseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName), serviceCallback);
+ public ServiceFuture deleteByResourceGroupAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(deleteByResourceGroupWithServiceResponseAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName), serviceCallback);
}
/**
* Deletes a long term retention backup.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable for the request
*/
- public Observable deleteAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
- return deleteWithServiceResponseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).map(new Func1, Void>() {
+ public Observable deleteByResourceGroupAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ return deleteByResourceGroupWithServiceResponseAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).map(new Func1, Void>() {
@Override
public Void call(ServiceResponse response) {
return response.body();
@@ -249,14 +295,18 @@ public Void call(ServiceResponse response) {
/**
* Deletes a long term retention backup.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable for the request
*/
- public Observable> deleteWithServiceResponseAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ public Observable> deleteByResourceGroupWithServiceResponseAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
if (locationName == null) {
throw new IllegalArgumentException("Parameter locationName is required and cannot be null.");
}
@@ -275,52 +325,55 @@ public Observable> deleteWithServiceResponseAsync(String l
if (this.client.apiVersion() == null) {
throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
}
- Observable> observable = service.delete(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent());
+ Observable> observable = service.deleteByResourceGroup(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent());
return client.getAzureClient().getPostOrDeleteResultAsync(observable, new TypeToken() { }.getType());
}
/**
* Deletes a long term retention backup.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @throws CloudException thrown if the request is rejected by server
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
*/
- public void beginDelete(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
- beginDeleteWithServiceResponseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).toBlocking().single().body();
+ public void beginDeleteByResourceGroup(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ beginDeleteByResourceGroupWithServiceResponseAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).toBlocking().single().body();
}
/**
* Deletes a long term retention backup.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @param serviceCallback the async ServiceCallback to handle successful and failed responses.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the {@link ServiceFuture} object
*/
- public ServiceFuture beginDeleteAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName, final ServiceCallback serviceCallback) {
- return ServiceFuture.fromResponse(beginDeleteWithServiceResponseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName), serviceCallback);
+ public ServiceFuture beginDeleteByResourceGroupAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName, final ServiceCallback serviceCallback) {
+ return ServiceFuture.fromResponse(beginDeleteByResourceGroupWithServiceResponseAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName), serviceCallback);
}
/**
* Deletes a long term retention backup.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the {@link ServiceResponse} object if successful.
*/
- public Observable beginDeleteAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
- return beginDeleteWithServiceResponseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).map(new Func1, Void>() {
+ public Observable beginDeleteByResourceGroupAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ return beginDeleteByResourceGroupWithServiceResponseAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName).map(new Func1, Void>() {
@Override
public Void call(ServiceResponse response) {
return response.body();
@@ -331,14 +384,18 @@ public Void call(ServiceResponse response) {
/**
* Deletes a long term retention backup.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param backupName The backup name.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the {@link ServiceResponse} object if successful.
*/
- public Observable> beginDeleteWithServiceResponseAsync(String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ public Observable> beginDeleteByResourceGroupWithServiceResponseAsync(String resourceGroupName, String locationName, String longTermRetentionServerName, String longTermRetentionDatabaseName, String backupName) {
+ if (resourceGroupName == null) {
+ throw new IllegalArgumentException("Parameter resourceGroupName is required and cannot be null.");
+ }
if (locationName == null) {
throw new IllegalArgumentException("Parameter locationName is required and cannot be null.");
}
@@ -357,12 +414,12 @@ public Observable> beginDeleteWithServiceResponseAsync(Str
if (this.client.apiVersion() == null) {
throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
}
- return service.beginDelete(locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
+ return service.beginDeleteByResourceGroup(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName, backupName, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
.flatMap(new Func1, Observable>>() {
@Override
public Observable> call(Response response) {
try {
- ServiceResponse clientResponse = beginDeleteDelegate(response);
+ ServiceResponse clientResponse = beginDeleteByResourceGroupDelegate(response);
return Observable.just(clientResponse);
} catch (Throwable t) {
return Observable.error(t);
@@ -371,7 +428,7 @@ public Observable> call(Response response) {
});
}
- private ServiceResponse beginDeleteDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
+ private ServiceResponse beginDeleteByResourceGroupDelegate(Response response) throws CloudException, IOException, IllegalArgumentException {
return this.client.restClient().responseBuilderFactory().newInstance(this.client.serializerAdapter())
.register(200, new TypeToken() { }.getType())
.register(202, new TypeToken() { }.getType())
@@ -382,20 +439,21 @@ private ServiceResponse beginDeleteDelegate(Response respons
/**
* Lists all long term retention backups for a database.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @throws IllegalArgumentException thrown if parameters fail the validation
* @throws CloudException thrown if the request is rejected by server
* @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent
* @return the PagedList<LongTermRetentionBackupInner> object if successful.
*/
- public PagedList listByDatabase(final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName) {
- ServiceResponse> response = listByDatabaseSinglePageAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName).toBlocking().single();
+ public PagedList listByResourceGroupDatabase(final String resourceGroupName, final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName) {
+ ServiceResponse> response = listByResourceGroupDatabaseSinglePageAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName).toBlocking().single();
return new PagedList(response.body()) {
@Override
public Page nextPage(String nextPageLink) {
- return listByDatabaseNextSinglePageAsync(nextPageLink).toBlocking().single().body();
+ return listByResourceGroupDatabaseNextSinglePageAsync(nextPageLink).toBlocking().single().body();
}
};
}
@@ -403,20 +461,21 @@ public Page nextPage(String nextPageLink) {
/**
* Lists all long term retention backups for a database.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @param serviceCallback the async ServiceCallback to handle successful and failed responses.
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the {@link ServiceFuture} object
*/
- public ServiceFuture> listByDatabaseAsync(final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName, final ListOperationCallback serviceCallback) {
+ public ServiceFuture> listByResourceGroupDatabaseAsync(final String resourceGroupName, final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName, final ListOperationCallback serviceCallback) {
return AzureServiceFuture.fromPageResponse(
- listByDatabaseSinglePageAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName),
+ listByResourceGroupDatabaseSinglePageAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName),
new Func1>>>() {
@Override
public Observable>> call(String nextPageLink) {
- return listByDatabaseNextSinglePageAsync(nextPageLink);
+ return listByResourceGroupDatabaseNextSinglePageAsync(nextPageLink);
}
},
serviceCallback);
@@ -425,14 +484,15 @@ public Observable>> call(Stri
/**
* Lists all long term retention backups for a database.
*
+ * @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
* @param locationName The location of the database
- * @param longTermRetentionServerName the String value
- * @param longTermRetentionDatabaseName the String value
+ * @param longTermRetentionServerName The name of the server
+ * @param longTermRetentionDatabaseName The name of the database
* @throws IllegalArgumentException thrown if parameters fail the validation
* @return the observable to the PagedList<LongTermRetentionBackupInner> object
*/
- public Observable> listByDatabaseAsync(final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName) {
- return listByDatabaseWithServiceResponseAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName)
+ public Observable> listByResourceGroupDatabaseAsync(final String resourceGroupName, final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName) {
+ return listByResourceGroupDatabaseWithServiceResponseAsync(resourceGroupName, locationName, longTermRetentionServerName, longTermRetentionDatabaseName)
.map(new Func1>, Page>() {
@Override
public Page call(ServiceResponse> response) {
@@ -444,14 +504,15 @@ public Page call(ServiceResponse>> listByDatabaseWithServiceResponseAsync(final String locationName, final String longTermRetentionServerName, final String longTermRetentionDatabaseName) {
- return listByDatabaseSinglePageAsync(locationName, longTermRetentionServerName, longTermRetentionDatabaseName)
+ public Observable