/// <summary> /// Creates or updates an Azure Sql Database ElasticPool. /// </summary> /// <param name="resourceGroup">The name of the resource group</param> /// <param name="serverName">The name of the Azure Sql Database Server</param> /// <param name="model">The input parameters for the create/update operation</param> /// <returns>The upserted Azure Sql Database ElasticPool</returns> internal AzureSqlElasticPoolModel UpsertElasticPool(AzureSqlElasticPoolModel model) { var resp = Communicator.CreateOrUpdate(model.ResourceGroupName, model.ServerName, model.ElasticPoolName, Util.GenerateTracingId(), new ElasticPoolCreateOrUpdateParameters() { Location = model.Location, Properties = new ElasticPoolCreateOrUpdateProperties() { DatabaseDtuMax = model.DatabaseDtuMax, DatabaseDtuMin = model.DatabaseDtuMin, Edition = model.Edition.ToString(), Dtu = model.Dtu, StorageMB = model.StorageMB } }); return CreateElasticPoolModelFromResponse(model.ResourceGroupName, model.ServerName, resp); }
/// <summary> /// Converts the response from the service to a powershell database object /// </summary> /// <param name="resourceGroupName">The resource group the server is in</param> /// <param name="serverName">The name of the Azure Sql Database Server</param> /// <param name="pool">The service response</param> /// <returns>The converted model</returns> private AzureSqlElasticPoolModel CreateElasticPoolModelFromResponse(string resourceGroup, string serverName, Management.Sql.Models.ElasticPool pool) { AzureSqlElasticPoolModel model = new AzureSqlElasticPoolModel(); model.ResourceId = pool.Id; model.ResourceGroupName = resourceGroup; model.ServerName = serverName; model.ElasticPoolName = pool.Name; model.CreationDate = pool.Properties.CreationDate ?? DateTime.MinValue; model.DatabaseDtuMax = (int)pool.Properties.DatabaseDtuMax; model.DatabaseDtuMin = (int)pool.Properties.DatabaseDtuMin; model.Dtu = (int)pool.Properties.Dtu; model.State = pool.Properties.State; model.StorageMB = pool.Properties.StorageMB; model.Tags = pool.Tags as Dictionary<string, string>; model.Location = pool.Location; DatabaseEdition edition = DatabaseEdition.None; Enum.TryParse<DatabaseEdition>(pool.Properties.Edition, out edition); model.Edition = edition; return model; }