//********************************************************************* /// /// <summary> /// This method is used to check whether a disk can be added to a VM /// </summary> /// <param name="cmpRequestId"></param> /// <param name="addDiskCount"></param> /// <returns>boolean</returns> /// //********************************************************************* private bool CanAddDisks(int cmpRequestId, int addDiskCount) { try { string roleSizeName; //*** Fetch disk count from Azure *** var cmpi = new VMServiceRepository(_eventLog); var count = cmpi.FetchDiskCount(cmpRequestId, out roleSizeName); //*** fetch role size disc capacity info *** var cwdb = new CmpWapDb(); var roleSizeInfo = cwdb.FetchVmSizeInfo(roleSizeName); if (null == roleSizeInfo) { throw new Exception(string.Format( "Could not locate given VM role size: '{0}' in server Role Size table", roleSizeName)); } //*** Check capacity *** return(count + addDiskCount <= roleSizeInfo.MaxDataDiskCount); } catch (Exception ex) { LogThis(ex, EventLogEntryType.Error, "CmpWapExtension.VmsController.CanAddDisks()", 100, 1); throw; } }