use of org.ovirt.engine.sdk4.services.ImageService in project ovirt-engine-sdk-java by oVirt.
the class ImportGlanceImage 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 root of the services tree:
SystemService systemService = connection.systemService();
// Find the Glance storage domain that is available for default in any oVirt installation:
StorageDomainsService sdsService = systemService.storageDomainsService();
StorageDomain sd = sdsService.list().search("name=ovirt-image-repository").send().storageDomains().get(0);
// Find the servie that manages the Glance storage domain:
StorageDomainService sdService = sdsService.storageDomainService(sd.id());
// Find the service that manages the images available in that storage domain:
ImagesService imagesService = sdService.imagesService();
// The images service doesn't support search, so in roder to find an image we need to retrieve all of them and
// do the filtering explicitly:
List<Image> images = imagesService.list().send().images();
Image image = null;
for (Image i : images) {
if (Objects.equals(i.name(), "CirrOS 0.3.4 for x86_64")) {
image = i;
break;
}
}
// Find the service that manages the image that we found in the previous step:
ImageService imageService = imagesService.imageService(image.id());
// Import the image:
imageService.import_().importAsTemplate(true).template(template().name("mytemplate")).cluster(cluster().name("mycluster")).storageDomain(storageDomain().name("mydata")).send();
// Close the connection to the server:
connection.close();
}
Aggregations