use of org.ovirt.engine.sdk4.types.Disk in project ovirt-engine-sdk-java by oVirt.
the class AddVmDisk method main.
public static void main(String[] args) throws Exception {
// Create the connection to the server:
Connection connection = connection().url("https://engine40.example.com/ovirt-engine/api").user("admin@internal").password("redhat123").trustStoreFile("truststore.jks").build();
// Locate the virtual machines service and use it to find the virtual machine:
VmsService vmsService = connection.systemService().vmsService();
Vm vm = vmsService.list().search("name=myvm").send().vms().get(0);
// Locate the service that manages the disk attachments of the virtual machine:
DiskAttachmentsService diskAttachmentsService = vmsService.vmService(vm.id()).diskAttachmentsService();
// Use the `add` method of the disk attachments service to add the disk. Note that the size of the disk,
// the `provionedSize` attribute, is specified in bytes, so to create a disk of 10 GiB the value should
// be 10 * 2^30.
DiskAttachment diskAttachment = diskAttachmentsService.add().attachment(diskAttachment().disk(disk().name("mydisk").description("My disk").format(DiskFormat.COW).provisionedSize(BigInteger.valueOf(10).multiply(BigInteger.valueOf(2).pow(30))).storageDomains(storageDomain().name("mydata"))).interface_(DiskInterface.VIRTIO).bootable(false).active(true)).send().attachment();
// Wait till the disk is OK:
DisksService disksService = connection.systemService().disksService();
DiskService diskService = disksService.diskService(diskAttachment.disk().id());
for (; ; ) {
Thread.sleep(5 * 1000);
Disk disk = diskService.get().send().disk();
if (disk.status() == DiskStatus.OK) {
break;
}
}
// Close the connection to the server:
connection.close();
}
use of org.ovirt.engine.sdk4.types.Disk in project ovirt-engine-sdk-java by oVirt.
the class AddVmFromTemplateVersion method main.
public static void main(String[] args) throws Exception {
// Create the connection to the server:
Connection connection = connection().url("https://engine40.example.com/ovirt-engine/api").user("admin@internal").password("redhat123").trustStoreFile("truststore.jks").build();
// Get the reference to the root of the tree of services:
SystemService systemService = connection.systemService();
// Get the reference to the service that manages the storage domains:
StorageDomainsService storageDomainsService = systemService.storageDomainsService();
// Find the storage domain we want to be used for virtual machine disks:
StorageDomain storageDomain = storageDomainsService.list().search("name=mydata").send().storageDomains().get(0);
// Get the reference to the service that manages the templates:
TemplatesService templatesService = systemService.templatesService();
// When a template has multiple versions they all have the same name, so we need to explicitly find the one that
// has the version name or version number that we want to use. In this case we want to use version 3 of the
// template.
List<Template> templates = templatesService.list().search("name=mytemplate").send().templates();
String templateId = null;
for (Template template : templates) {
if (template.version().versionNumber().equals(BigInteger.valueOf(3))) {
templateId = template.id();
break;
}
}
// Find the template disk we want be created on specific storage domain
// for our virtual machine:
TemplateService templateService = templatesService.templateService(templateId);
List<DiskAttachment> diskAttachments = connection.followLink(templateService.get().send().template().diskAttachments());
Disk disk = diskAttachments.get(0).disk();
// Get the reference to the service that manages the virtual machines:
VmsService vmsService = connection.systemService().vmsService();
// Add a new virtual machine explicitly indicating the identifier of the template version that we want to use:
vmsService.add().vm(vm().name("myvm").cluster(cluster().name("mycluster")).template(template().id(templateId)).diskAttachments(diskAttachment().disk(disk().id(disk.id()).format(DiskFormat.COW).storageDomains(storageDomain().id(storageDomain.id()))))).send();
// Close the connection to the server:
connection.close();
}
use of org.ovirt.engine.sdk4.types.Disk in project ovirt-engine-sdk-java by oVirt.
the class AddVmNic method main.
public static void main(String[] args) throws Exception {
// Create the connection to the server:
Connection connection = connection().url("https://engine40.example.com/ovirt-engine/api").user("admin@internal").password("redhat123").trustStoreFile("truststore.jks").build();
// Locate the virtual machines service and use it to find the virtual machine:
VmsService vmsService = connection.systemService().vmsService();
Vm vm = vmsService.list().search("name=myvm").send().vms().get(0);
// In order to specify the network that the new interface will be connected to, we need to specify the
// identifier of the virtual network interface profile, so we need to find it:
VnicProfilesService profilesService = connection.systemService().vnicProfilesService();
String profileId = null;
List<VnicProfile> profiles = profilesService.list().send().profiles();
for (VnicProfile profile : profiles) {
if (Objects.equals(profile.name(), "mynetwork")) {
profileId = profile.id();
break;
}
}
// Locate the service that manages the NICs of the virtual machine:
VmNicsService nicsService = vmsService.vmService(vm.id()).nicsService();
// Use the "add" method of the disks service to add the disk:
nicsService.add().nic(nic().name("mynic").description("My network interface card").vnicProfile(vnicProfile().id(profileId))).send();
// Close the connection to the server:
connection.close();
}
use of org.ovirt.engine.sdk4.types.Disk in project ovirt-engine-sdk-java by oVirt.
the class ChangeVmCd method main.
public static void main(String[] args) throws Exception {
// Create the connection to the server:
Connection connection = connection().url("https://engine40.example.com/ovirt-engine/api").user("admin@internal").password("redhat123").trustStoreFile("truststore.jks").build();
// Locate the service that manages the virtual machines:
VmsService vmsService = connection.systemService().vmsService();
// Find the virtual machine:
Vm vm = vmsService.list().search("name=myvm").send().vms().get(0);
// Locate the service that manages the virtual machine:
VmService vmService = vmsService.vmService(vm.id());
// Locate the service that manages the CDROM devices of the virtual machine:
VmCdromsService cdromsService = vmService.cdromsService();
// Get the first CDROM:
Cdrom cdrom = cdromsService.list().send().cdroms().get(0);
// Locate the service that manages the CDROM device found in the previous step:
VmCdromService cdromService = cdromsService.cdromService(cdrom.id());
// Change the CDROM disk of the virtual machine to 'my_iso_file.iso'. By default the below operation changes
// permanently the disk that will be visible to the virtual machine after the next boot, but it doesn't have
// any effect on the currently running virtual machine. If you want to change the disk that is visible to the
// current running virtual machine, change the value of the 'current' parameter to 'true'.
cdromService.update().cdrom(cdrom().file(file().id("my_iso_file.iso"))).current(false).send();
// Close the connection to the server:
connection.close();
}
use of org.ovirt.engine.sdk4.types.Disk in project ovirt-engine-sdk-java by oVirt.
the class ListVmDisks method main.
public static void main(String[] args) throws Exception {
// Create the connection to the server:
Connection connection = connection().url("https://engine40.example.com/ovirt-engine/api").user("admin@internal").password("redhat123").trustStoreFile("truststore.jks").build();
// Get the reference to the "vms" service:
VmsService vmsService = connection.systemService().vmsService();
// Find the virtual machine:
Vm vm = vmsService.list().search("name=myvm").send().vms().get(0);
// Locate the service that manages the virtual machine:
VmService vmService = vmsService.vmService(vm.id());
// Locate the service that manages the disk attachments of the virtual machine:
DiskAttachmentsService diskAttachmentsService = vmService.diskAttachmentsService();
// Retrieve the list of disks attachments, and print the disk details. Note that each attachment contains a link
// to the corresponding disk, but not the actual disk data. In order to retrieve the actual disk data we use the
// `follow_link` method.
List<DiskAttachment> diskAttachments = diskAttachmentsService.list().send().attachments();
for (DiskAttachment diskAttachment : diskAttachments) {
Disk disk = connection.followLink(diskAttachment.disk());
System.out.printf("name: %s\n", disk.name());
System.out.printf("id: %s\n", disk.id());
System.out.printf("status: %s\n", disk.status());
System.out.printf("provisioned_size: %s\n", disk.provisionedSize());
}
// Close the connection to the server:
connection.close();
}
Aggregations