/// <summary> /// Sets the VM size of a role /// </summary> /// <param name="roleName">The role name</param> /// <param name="vmSize">The VM size</param> public void SetRoleVMSize(string roleName, string vmSize) { Validate.ValidateStringIsNullOrEmpty(roleName, Resources.RoleName); bool isDefined = Enum.GetNames(typeof(RoleSize)).Any(x => x.ToLower() == vmSize.ToLower()); if (!isDefined) { throw new ArgumentException(string.Format(Resources.InvalidVMSize, roleName)); } if (!RoleExists(roleName)) { throw new ArgumentException(string.Format(Resources.RoleNotFoundMessage, roleName)); } WebRole webRole = GetWebRole(roleName); RoleSize size = (RoleSize)Enum.Parse(typeof(RoleSize), vmSize, true); if (webRole != null) { webRole.vmsize = size; } else { WorkerRole workerRole = GetWorkerRole(roleName); workerRole.vmsize = size; } }
/// <summary> /// Gets the Xml tree for the custom serialiser /// </summary> /// <returns>An XElement </returns> public XElement GetXmlTree() { var namer = new RandomAccountName(); XElement element = null; if (RoleName != null) { element = new XElement(Namespaces.NsWindowsAzure + "Role", new XElement(Namespaces.NsWindowsAzure + "RoleName", RoleName), new XElement(Namespaces.NsWindowsAzure + "RoleType", RoleType)); } else { element = new XElement(Namespaces.NsWindowsAzure + "PersistentVMRole"); } XElement configurationSets = new XElement(Namespaces.NsWindowsAzure + "ConfigurationSets", NetworkConfigurationSet.GetXmlTree()); if (OperatingSystemConfigurationSet != null) { configurationSets.Add(OperatingSystemConfigurationSet.GetXmlTree()); } element.Add(configurationSets); if (HardDisks != null) { element.Add(HardDisks.GetXmlTree()); } if (RoleName != null) { element.Add(new XElement(Namespaces.NsWindowsAzure + "Label", Convert.ToBase64String(Encoding.UTF8.GetBytes(RoleName)))); } if (OSHardDisk != null) { element.Add(OSHardDisk.GetXmlTree()); } // TODO: Another hack the enum value is always present here so assume if we have no OS hard disk then we don't need a role size if (OSHardDisk != null) { element.Add(new XElement(Namespaces.NsWindowsAzure + "RoleSize", RoleSize.ToString())); } if (AvailabilityNameSet != null) { element.Add(new XElement(Namespaces.NsWindowsAzure + "AvailabilitySetName", AvailabilityNameSet)); } return(element); }
/// <summary> /// Gets the Xml tree for the custom serialiser /// </summary> /// <returns>An XElement </returns> public XElement GetXmlTree() { var namer = new RandomAccountName(); var element = new XElement(Namespaces.NsWindowsAzure + "Role", new XElement(Namespaces.NsWindowsAzure + "RoleName", RoleName), new XElement(Namespaces.NsWindowsAzure + "RoleType", RoleType)); var configurationSets = new XElement(Namespaces.NsWindowsAzure + "ConfigurationSets", OperatingSystemConfigurationSet.GetXmlTree(), NetworkConfigurationSet.GetXmlTree()); element.Add(configurationSets); element.Add(HardDisks.GetXmlTree()); element.Add(new XElement(Namespaces.NsWindowsAzure + "Label", Convert.ToBase64String(Encoding.UTF8.GetBytes(RoleName)))); element.Add(OSHardDisk.GetXmlTree()); element.Add(new XElement(Namespaces.NsWindowsAzure + "RoleSize", RoleSize.ToString())); if (AvailabilityNameSet != null) { element.Add(AvailabilityNameSet); } return(element); }
public WorkerRole() { this.enableNativeCodeExecutionField = true; this.vmsizeField = RoleSize.Small; }
public VirtualMachineRole() { this.vmsizeField = RoleSize.Small; }