Пример #1
0
        private static void CreateSingleVmExample()
        {
            AzureResourceGroup   resourceGroup;
            AzureAvailabilitySet aset;
            AzureSubnet          subnet;

            SetupVmHost(out resourceGroup, out aset, out subnet);

            AzureNic nic = CreateNic(resourceGroup, subnet, 1000);

            // Create VM
            Console.WriteLine("--------Start create VM--------");
            var vm = resourceGroup.ConstructVm(vmName, "admin-user", "!@#$%asdfA", nic, aset);

            vm = resourceGroup.Vms().CreateOrUpdateVm(vmName, vm);

            Console.WriteLine("VM ID: " + vm.Id);
            Console.WriteLine("--------Done create VM--------");
        }
Пример #2
0
        private static AzureResourceGroup CreateMultipleVms()
        {
            AzureResourceGroup   resourceGroup;
            AzureAvailabilitySet aset;
            AzureSubnet          subnet;

            SetupVmHost(out resourceGroup, out aset, out subnet);

            for (int i = 0; i < 10; i++)
            {
                AzureNic nic = CreateNic(resourceGroup, subnet, i);

                // Create VM
                string name = String.Format("{0}-{1}-z", vmName, i);
                Console.WriteLine("--------Start create VM {0}--------", i);
                var vm = resourceGroup.ConstructVm(name, "admin-user", "!@#$%asdfA", nic, aset);
                vm = resourceGroup.Vms().CreateOrUpdateVm(name, vm);
            }

            return(resourceGroup);
        }
        public static AzureVm ConstructVm(this AzureResourceGroupBase resourceGroup, string vmName, string adminUser, string adminPw, AzureNic nic, AzureAvailabilitySet aset)
        {
            var vm = new VirtualMachine(resourceGroup.Location)
            {
                NetworkProfile = new NetworkProfile {
                    NetworkInterfaces = new[] { new NetworkInterfaceReference()
                                                {
                                                    Id = nic.Id
                                                } }
                },
                OsProfile = new OSProfile
                {
                    ComputerName       = vmName,
                    AdminUsername      = adminUser,
                    AdminPassword      = adminPw,
                    LinuxConfiguration = new LinuxConfiguration {
                        DisablePasswordAuthentication = false, ProvisionVMAgent = true
                    }
                },
                StorageProfile = new StorageProfile()
                {
                    ImageReference = new ImageReference()
                    {
                        Offer     = "UbuntuServer",
                        Publisher = "Canonical",
                        Sku       = "18.04-LTS",
                        Version   = "latest"
                    },
                    DataDisks = new List <DataDisk>()
                },
                HardwareProfile = new HardwareProfile()
                {
                    VmSize = VirtualMachineSizeTypes.StandardB1Ms
                },
                AvailabilitySet = new SubResource()
                {
                    Id = aset.Id
                }
            };

            return(new AzureVm(resourceGroup, new PhVirtualMachine(vm)));
        }