@Override public void destroyNode(String id) { // We have to wait here, as the api does not properly populate the state // but fails if there is a pending event int dropletId = Integer.parseInt(id); api.dropletApi().delete(dropletId); checkState(nodeTerminatedPredicate.apply(dropletId), "node was not destroyed in the configured timeout"); }
@Override public boolean apply(Integer input) { checkNotNull(input, "droplet id"); Droplet droplet = api.dropletApi().get(input); return droplet == null; } }
@Override protected IterableWithMarker<Droplet> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) { return api.dropletApi().list(options); } }
final Droplet droplet = api.dropletApi().get(dropletId); if (droplet.status() != Status.ACTIVE) { api.dropletApi().powerOn(dropletId); checkState(nodeRunningPredicate.apply(dropletId), "node was not powered on in the configured timeout"); final Action snapshotEvent = api.dropletApi().snapshot(Integer.parseInt(cloneTemplate.getSourceNodeId()), cloneTemplate.getName());
@Override protected IterableWithMarker<Backup> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) { return api.dropletApi().listBackups((Integer) arg0.get(), options); } }
@Override protected IterableWithMarker<Action> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) { return api.dropletApi().listActions((Integer) arg0.get(), options); } }
@Override protected IterableWithMarker<Kernel> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) { return api.dropletApi().listKernels((Integer) arg0.get(), options); } }
@Override protected IterableWithMarker<Snapshot> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) { return api.dropletApi().listSnapshots((Integer) arg0.get(), options); } }
@Test(groups = "live", dependsOnMethods = "testPowerOn") public void testSnapshots() { Action action = api().snapshot(dropletId, prefix + dropletId + "-snapshot"); assertActionCompleted(action.id()); List<Snapshot> snapshots = api().listSnapshots(dropletId).concat().toList(); assertEquals(snapshots.size(), 1, "Must contain 1 snapshot"); for (Snapshot snapshot : snapshots) { try { api.imageApi().delete(snapshot.id()); } catch (Exception ex) { getAnonymousLogger().warning("Could not delete snapshot: " + snapshot.id()); } } }
@Override public void suspendNode(String id) { // We have to wait here, as the api does not properly populate the state // but fails if there is a pending event int dropletId = Integer.parseInt(id); api.dropletApi().powerOff(dropletId); checkState(nodeStoppedPredicate.apply(dropletId), "node did not stop in the configured timeout"); }
@Override public void resumeNode(String id) { // We have to wait here, as the api does not properly populate the state // but fails if there is a pending event int dropletId = Integer.parseInt(id); api.dropletApi().powerOn(dropletId); checkState(nodeRunningPredicate.apply(dropletId), "node did not started in the configured timeout"); }
public void testCreateDroplet() throws InterruptedException { server.enqueue(jsonResponse("/droplet-create-res.json")); DropletCreate droplet = api.dropletApi().create("digitalocean2-s-d5e", "sfo1", "512mb", "6374124", CreateDropletOptions.builder().addSshKeyId(421192).build()); assertEquals(droplet, objectFromResource("/droplet-create-res.json", DropletCreate.class)); assertEquals(server.getRequestCount(), 1); assertSent(server, "POST", "/droplets", stringFromResource("/droplet-create-req.json")); }
final Droplet droplet = api.dropletApi().get(dropletId); if (droplet.status() != Status.ACTIVE) { api.dropletApi().powerOn(dropletId); checkState(nodeRunningPredicate.apply(dropletId), "node was not powered on in the configured timeout"); final Action snapshotEvent = api.dropletApi().snapshot(Integer.parseInt(cloneTemplate.getSourceNodeId()), cloneTemplate.getName());
@Override protected IterableWithMarker<Backup> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) { return api.dropletApi().listBackups((Integer) arg0.get(), options); } }
@Override protected IterableWithMarker<Action> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) { return api.dropletApi().listActions((Integer) arg0.get(), options); } }
@Override protected IterableWithMarker<Kernel> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) { return api.dropletApi().listKernels((Integer) arg0.get(), options); } }
@Override protected IterableWithMarker<Snapshot> fetchPageUsingOptions(ListOptions options, Optional<Object> arg0) { return api.dropletApi().listSnapshots((Integer) arg0.get(), options); } }