/// <summary> /// Upserts a sql virtual machine group /// </summary> /// <param name="model">The sql virtual machine group to upsert</param> /// <returns>The updated sql virtual machine group model</returns> public AzureSqlVMGroupModel UpsertSqlVirtualMachineGroup(AzureSqlVMGroupModel model) { var resp = Communicator.CreateOrUpdate(model.ResourceGroupName, model.Name, new SqlVirtualMachineGroup() { Location = model.Location, SqlImageOffer = model.Offer, SqlImageSku = model.Sku, WsfcDomainProfile = model.WsfcDomainProfile, Tags = model.Tags }); return(CreateSqlVirtualMachineGroupModelFromResponse(resp)); }
/// <summary> /// Apply user input to the retrieved sql virtual machine group /// </summary> /// <param name="model">The sql virtual machine group that will be updated<param> /// <returns>The model to send to the update</returns> protected override IEnumerable <AzureSqlVMGroupModel> ApplyUserInputToModel(IEnumerable <AzureSqlVMGroupModel> model) { List <AzureSqlVMGroupModel> updateData = new List <AzureSqlVMGroupModel>(); AzureSqlVMGroupModel group = model.FirstOrDefault(); group.WsfcDomainProfile = updateWsfcDomainProfile(group.WsfcDomainProfile); if (Tag != null) { group.Tag = TagsConversionHelper.CreateTagDictionary(Tag, validate: true); } updateData.Add(group); return(updateData); }
/// <summary> /// Convert a Management.SqlVirtualMachine.Models.SqlVirtualMachineGroupModel to AzureSqlVirtualMachineGroupModel /// </summary> /// <param name="resourceGroupName">The resource group the sql virtual machine group is in</param> /// <param name="resp">The management client sql virtual machine group response to convert</param> /// <returns>The converted sql virtual machine group model</returns> private static AzureSqlVMGroupModel CreateSqlVirtualMachineGroupModelFromResponse(SqlVirtualMachineGroup resp) { // Extract the resource group name from the ID. string[] segments = resp.Id.Split('/'); AzureSqlVMGroupModel model = new AzureSqlVMGroupModel(segments[4]) { Name = resp.Name, Location = resp.Location, Sku = resp.SqlImageSku, Offer = resp.SqlImageOffer, WsfcDomainProfile = resp.WsfcDomainProfile, Tags = TagsConversionHelper.CreateTagDictionary(TagsConversionHelper.CreateTagHashtable(resp.Tags), true), ResourceId = resp.Id }; return(model); }