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