package core.aws.task.ec2; import core.aws.client.AWS; import core.aws.env.Context; import core.aws.resource.ec2.Instance; import core.aws.util.ToStringHelper; import core.aws.workflow.Action; import core.aws.workflow.Task; import java.util.List; /** * @author neo */ @Action("stop-instance") public class StopInstanceTask extends Task<Instance> { public StopInstanceTask(Instance instance) { super(instance); } @Override public void execute(Context context) throws Exception { List<String> instanceIds = resource.runningInstanceIds(); AWS.ec2.stopInstances(instanceIds); context.output("instance/stopped", instanceIds); } @Override public String toString() { return new ToStringHelper(this) .add(resource) .add("remoteInstanceIds", resource.runningInstanceIds()) .toString(); } }