@SerializedNames({ "sourceVirtualMachine", "storageProfile", "provisioningState"}) public static ImageProperties create(final IdReference sourceVirtualMachine, final StorageProfile storageProfile, final String provisioningState) { return builder() .sourceVirtualMachine(sourceVirtualMachine) .storageProfile(storageProfile) .provisioningState(provisioningState) .build(); }
@SerializedNames({ "sourceVirtualMachine", "storageProfile", "provisioningState"}) public static ImageProperties create(final IdReference sourceVirtualMachine, final StorageProfile storageProfile, final String provisioningState) { return builder() .sourceVirtualMachine(sourceVirtualMachine) .storageProfile(storageProfile) .provisioningState(provisioningState) .build(); }
@Override public Image call() throws Exception { logger.debug(">> generalizing virtal machine %s...", vmName); api.getVirtualMachineApi(resourceGroupName).generalize(vmName); org.jclouds.azurecompute.arm.domain.Image imageFromVM = api.getVirtualMachineImageApi(resourceGroupName) .createOrUpdate(cloneTemplate.getName(), vm.location(), ImageProperties.builder().sourceVirtualMachine(vmIdRef).build()); checkState(imageAvailablePredicate.create(resourceGroupName).apply(imageFromVM.name()), "Image for node %s was not created within the configured time limit", cloneTemplate.getName()); return compose(vmImageToImage, customImagetoVmImage).apply(imageFromVM); } });
@Override public Image call() throws Exception { logger.debug(">> generalizing virtal machine %s...", vmName); api.getVirtualMachineApi(resourceGroupName).generalize(vmName); org.jclouds.azurecompute.arm.domain.Image imageFromVM = api.getVirtualMachineImageApi(resourceGroupName) .createOrUpdate(cloneTemplate.getName(), vm.location(), ImageProperties.builder().sourceVirtualMachine(vmIdRef).build()); checkState(imageAvailablePredicate.create(resourceGroupName).apply(imageFromVM.name()), "Image for node %s was not created within the configured time limit", cloneTemplate.getName()); return compose(vmImageToImage, customImagetoVmImage).apply(imageFromVM); } });
@Test public void testCreateImage() throws RunNodesException { NodeMetadata node = getOnlyElement(view.getComputeService().createNodesInGroup(group, 1, resourceGroup(group))); IdReference vmIdRef = IdReference.create(node.getProviderId()); view.getComputeService().suspendNode(node.getId()); api.getVirtualMachineApi(group).generalize(node.getName()); image = imageApi.createOrUpdate(imageName, location, ImageProperties.builder() .sourceVirtualMachine(vmIdRef).build()); assertNotNull(image); }
private Image newVirtualMachineImage() { return Image .builder() .name(imageName) .location(location) .properties( ImageProperties .builder() .sourceVirtualMachine(IdReference.create("vmId")) .storageProfile( StorageProfile.create(null, OSDisk.builder().osType("Linux").name("Ubuntu").build(), ImmutableList.<DataDisk> of())).provisioningState("Succeeded").build()).build(); } }