Esempio n. 1
0
        /// <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));
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
        /// <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);
        }