/// <summary> /// Creates a new import request /// </summary> /// <param name="importRequest">Import request parameters</param> /// <returns>Operation response including the OperationStatusLink to get the operation status</returns> public AzureSqlDatabaseImportExportBaseModel ImportNewDatabase(AzureSqlDatabaseImportModel importRequest) { Management.Sql.Models.ImportNewDatabaseDefinition parameters = new Management.Sql.Models.ImportNewDatabaseDefinition() { AdministratorLogin = importRequest.AdministratorLogin, AdministratorLoginPassword = AzureSqlServerAdapter.Decrypt(importRequest.AdministratorLoginPassword), StorageKey = importRequest.StorageKey, StorageKeyType = importRequest.StorageKeyType.ToString(), StorageUri = importRequest.StorageUri.ToString(), MaxSizeBytes = importRequest.DatabaseMaxSizeBytes.ToString(), Edition = importRequest.Edition != Database.Model.DatabaseEdition.None ? importRequest.Edition.ToString() : string.Empty, ServiceObjectiveName = importRequest.ServiceObjectiveName, DatabaseName = importRequest.DatabaseName, NetworkIsolation = new Management.Sql.Models.NetworkIsolationSettings() { SqlServerResourceId = importRequest.NetworkIsolationSettings.SqlServerResourceId, StorageAccountResourceId = importRequest.NetworkIsolationSettings.StorageAccountResourceId } }; if (importRequest.AuthenticationType != AuthenticationType.None) { parameters.AuthenticationType = importRequest.AuthenticationType.ToString().ToLowerInvariant(); } Uri azureAsyncOperation = null; ImportExportOperationResult response; response = Communicator.BeginImportNewDatabase(importRequest.ResourceGroupName, importRequest.ServerName, parameters, out azureAsyncOperation); return(CreateImportExportResponse(response, importRequest, azureAsyncOperation)); }
/// <summary> /// Creates a new import request /// </summary> /// <param name="entity">Import Request Model</param> /// <returns>Import Request Response</returns> protected override AzureSqlDatabaseImportExportBaseModel PersistChanges(AzureSqlDatabaseImportExportBaseModel entity) { AzureSqlDatabaseImportModel importModel = entity as AzureSqlDatabaseImportModel; if (importModel == null) { throw new ArgumentNullException("importModel"); } return(ModelAdapter.Import(importModel)); }
/// <summary> /// Updates the given model element with the cmdlet specific operation /// </summary> /// <param name="model">A model object</param> protected override AzureSqlDatabaseImportExportBaseModel ApplyUserInputToModel(AzureSqlDatabaseImportExportBaseModel model) { AzureSqlDatabaseImportModel exportRequest = new AzureSqlDatabaseImportModel() { ResourceGroupName = ResourceGroupName, AdministratorLogin = AdministratorLogin, AdministratorLoginPassword = AdministratorLoginPassword, AuthenticationType = AuthenticationType, DatabaseName = DatabaseName, ServerName = ServerName, StorageKey = StorageKey, StorageKeyType = StorageKeyType, StorageUri = StorageUri, Edition = Edition, ServiceObjectiveName = ServiceObjectiveName, DatabaseMaxSizeBytes = DatabaseMaxSizeBytes }; return(exportRequest); }
/// <summary> /// Creates a new import request /// </summary> /// <param name="importRequest">Import request parameters</param> /// <returns>Operation response including the OperationStatusLink to get the operation status</returns> public AzureSqlDatabaseImportExportBaseModel Import(AzureSqlDatabaseImportModel importRequest) { ImportRequestParameters parameters = new ImportRequestParameters() { AdministratorLogin = importRequest.AdministratorLogin, AdministratorLoginPassword = AzureSqlServerAdapter.Decrypt(importRequest.AdministratorLoginPassword), StorageKey = importRequest.StorageKey, StorageKeyType = importRequest.StorageKeyType.ToString(), StorageUri = importRequest.StorageUri, DatabaseMaxSize = importRequest.DatabaseMaxSizeBytes, Edition = importRequest.Edition != Database.Model.DatabaseEdition.None ? importRequest.Edition.ToString() : string.Empty, ServiceObjectiveName = importRequest.ServiceObjectiveName, DatabaseName = importRequest.DatabaseName }; if (importRequest.AuthenticationType != AuthenticationType.None) { parameters.AuthenticationType = importRequest.AuthenticationType.ToString().ToLowerInvariant(); } ImportExportResponse response = Communicator.Import(importRequest.ResourceGroupName, importRequest.ServerName, parameters, Util.GenerateTracingId()); return(CreateImportExportResponse(response, importRequest)); }