package core.aws.task.ec2;
import core.aws.client.AWS;
import core.aws.env.Context;
import core.aws.resource.image.Image;
import core.aws.util.Strings;
import core.aws.util.ToStringHelper;
import core.aws.workflow.Action;
/**
* @author neo
*/
@Action("del-img")
public class DeleteImageTask extends core.aws.workflow.Task<Image> {
public final com.amazonaws.services.ec2.model.Image deletedImage;
public DeleteImageTask(Image image, com.amazonaws.services.ec2.model.Image deletedImage) {
super(image);
this.deletedImage = deletedImage;
}
@Override
public void execute(Context context) throws Exception {
AWS.ec2.deleteImage(deletedImage);
context.output("ami/" + resource.id, Strings.format("deletedImageId={}, deletedImageName={}, deletedSnapshotId={}", deletedImage.getImageId(), deletedImage.getName()));
}
@Override
public String toString() {
return new ToStringHelper(this)
.add(resource.id)
.add("deletedImageId", deletedImage.getImageId())
.add("deletedImageName", deletedImage.getName())
.toString();
}
}