Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@
package com.microsoft.azure.management.compute.samples;

import com.microsoft.azure.Azure;
import com.microsoft.azure.management.compute.DataDisk;
import com.microsoft.azure.management.compute.VirtualMachine;
import com.microsoft.azure.management.compute.KnownWindowsVirtualMachineImage;
import com.microsoft.azure.management.compute.implementation.api.CachingTypes;
import com.microsoft.azure.management.resources.fluentcore.arm.Region;
import com.microsoft.azure.management.samples.Utils;

import java.io.File;

/**
Expand All @@ -29,29 +30,30 @@
* - List virtual machines
* - Delete a virtual machine.
*/

public final class ManageVirtualMachine {

/**
* Main entry point.
* @param args the parameters
*/
public static void main(String[] args) {

try {

// Authenticate
//
final File credFile = new File("my.azureauth");

Azure azure = Azure.authenticate(credFile).withDefaultSubscription();

// Print selected subscription
//
System.out.println("Selected subscription: " + azure.subscriptionId());

final String vmName = Utils.createRandomName("vm");
final String userName = "tirekicker";
final String password = "12NewPA$$w0rd!";
final String dataDiskName = "disk2";

// Create a Windows virtual machine
//
VirtualMachine vm = azure.virtualMachines().define(vmName)
.withRegion(Region.US_EAST)
.withNewGroup()
Expand All @@ -64,45 +66,81 @@ public static void main(String[] args) {
.create();

// Print virtual machine details
//
Utils.print(vm);

// Start a virtual machine


// Stop a virtual machine


// Restart a virtual machine (start first, restart next)


// List virtual machines


// Update a virtual machine
// Update - Expand the OS drive


// Update - Tag a virtual machine
// Update - Tag the virtual machine
//
vm.update()
.withTag("who-rocks", "java")
.withTag("where", "in azure")
.apply();

// Update - Attach data disks


// Update - detach data disks


// List virtual machines


// Delete a virtual machine

//
vm.update()
.withNewDataDisk(10)
.defineNewDataDisk(dataDiskName)
.withSizeInGB(20)
.withCaching(CachingTypes.READ_WRITE)
.attach()
.apply();

// Update - detach data disk
//
vm.update()
.withoutDataDisk(dataDiskName)
.apply();

// Deallocate the virtual machine
//
vm.deallocate();

// Update - Resize (expand) the data disk
//
DataDisk dataDisk = vm.dataDisks().get(0);
vm.update()
.updateDataDisk(dataDisk.name())
.withSizeInGB(30)
.apply()
.apply();


// Update - Expand the OS drive size by 10 GB
//
int osDiskSizeInGb = vm.osDiskSize();
vm.update()
.withOsDiskSizeInGb(osDiskSizeInGb + 10)
.apply();

// Start the virtual machine
//
vm.start();

// Restart the virtual machine
//
vm.restart();

// Stop (powerOff) the virtual machine
//
vm.powerOff();

// List virtual machines in the resource group
//
String resourceGroupName = vm.resourceGroupName();
for (VirtualMachine virtualMachine : azure.virtualMachines().listByGroup(resourceGroupName)) {
Utils.print(virtualMachine);
}

// Delete the virtual machine
//
azure.virtualMachines().delete(vm.id());
} catch (Exception e) {
System.err.println(e.getMessage());
}

}

private ManageVirtualMachine() {

}

}