package tw.com; import java.util.List; import org.apache.commons.cli.MissingArgumentException; import com.amazonaws.services.cloudformation.model.CreateStackRequest; import com.amazonaws.services.cloudformation.model.UpdateStackRequest; import tw.com.entity.DeletionsPending; import tw.com.entity.StackNameAndId; import tw.com.exceptions.CfnAssistException; import tw.com.exceptions.NotReadyException; import tw.com.exceptions.WrongNumberOfStacksException; import tw.com.exceptions.WrongStackStatus; public interface MonitorStackEvents { String waitForCreateFinished(StackNameAndId id) throws WrongNumberOfStacksException, InterruptedException, NotReadyException, WrongStackStatus; String waitForDeleteFinished(StackNameAndId id) throws WrongNumberOfStacksException, InterruptedException, NotReadyException, WrongStackStatus; String waitForRollbackComplete(StackNameAndId id) throws NotReadyException, WrongNumberOfStacksException, WrongStackStatus, InterruptedException; String waitForUpdateFinished(StackNameAndId id) throws WrongNumberOfStacksException, InterruptedException, WrongStackStatus, NotReadyException; List<String> waitForDeleteFinished(DeletionsPending pending, SetsDeltaIndex setsDeltaIndex) throws CfnAssistException; void init() throws MissingArgumentException, CfnAssistException, InterruptedException; void addMonitoringTo(CreateStackRequest createStackRequest) throws NotReadyException; void addMonitoringTo(UpdateStackRequest updateStackRequest) throws NotReadyException; }