Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

virtual machine samples #821

Merged
merged 1 commit into from
Jun 15, 2016
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() {

}

}