private void removeTags(final String imageId) throws Exception { final ImageInfo image = Images.lookupImage(imageId); final String imageOwnerId = image.getOwnerUserId(); DeleteTagsTask task = new DeleteTagsTask( imageOwnerId, Lists.newArrayList(image.getDisplayName()), Lists.newArrayList(TAG_KEY_STATE, TAG_KEY_MESSAGE)); CheckedListenableFuture<Boolean> result = task.dispatch(); if (result.get()) {; } final List<VmInstance> instances = this.lookupInstances(imageId); for (final VmInstance instance : instances) { final String instanceId = instance.getInstanceId(); final String instanceOwnerId = instance.getOwnerUserId(); try { task = new DeleteTagsTask( instanceOwnerId, Lists.newArrayList(instanceId), Lists.newArrayList(TAG_KEY_STATE, TAG_KEY_MESSAGE)); result = task.dispatch(); if (result.get()) {; } } catch (final Exception ex) {; } } }
private void tagResources(final String imageId, final String state, String statusMessage) throws Exception { final ImageInfo image = Images.lookupImage(imageId); final String imageOwnerId = image.getOwnerUserId(); final List<VmInstance> instances = this.lookupInstances(imageId); if (tagState.containsKey(imageId) && state.equals(tagState.get(imageId))) {; } else { resetTag(imageOwnerId, imageId, TAG_KEY_STATE, state); tagState.put(imageId, state); } for (final VmInstance instance : instances) { final String instanceId = instance.getInstanceId(); final String instanceOwnerId = instance.getOwnerUserId(); if (tagState.containsKey(instanceId) && state.equals(tagState.get(instanceId))) {; } else { resetTag(instanceOwnerId, instanceId, TAG_KEY_STATE, state); tagState.put(instanceId, state); } } if (statusMessage == null) statusMessage = ""; if (tagMessage.containsKey(imageId) && statusMessage.equals(tagMessage.get(imageId))) {; } else { resetTag(imageOwnerId, imageId, TAG_KEY_MESSAGE, statusMessage); tagMessage.put(imageId, statusMessage); } for (final VmInstance instance : instances) { final String instanceId = instance.getInstanceId(); final String instanceOwnerId = instance.getOwnerUserId(); if (tagMessage.containsKey(instanceId) && statusMessage.equals(tagMessage.get(instanceId))) {; } else { resetTag(instanceOwnerId, instanceId, TAG_KEY_MESSAGE, statusMessage); tagMessage.put(instanceId, statusMessage); } } }