List of usage examples for com.amazonaws.services.cloudformation.model Stack getStackStatusReason
public String getStackStatusReason()
Success/failure message associated with the stack status.
From source file:CloudFormation.java
License:Open Source License
public static String waitForCompletion(AmazonCloudFormation stackbuilder, String stackName) throws Exception { DescribeStacksRequest wait = new DescribeStacksRequest(); wait.setStackName(stackName);/*from w ww . j av a2 s . co m*/ Boolean completed = false; String stackStatus = "Unknown"; String stackReason = ""; System.out.print("Waiting"); while (!completed) { List<Stack> stacks = stackbuilder.describeStacks(wait).getStacks(); if (stacks.isEmpty()) { completed = true; stackStatus = "NO_SUCH_STACK"; stackReason = "Stack has been deleted"; } else { for (Stack stack : stacks) { if (stack.getStackStatus().equals(StackStatus.CREATE_COMPLETE.toString()) || stack.getStackStatus().equals(StackStatus.CREATE_FAILED.toString()) || stack.getStackStatus().equals(StackStatus.ROLLBACK_FAILED.toString()) || stack.getStackStatus().equals(StackStatus.DELETE_FAILED.toString())) { completed = true; stackStatus = stack.getStackStatus(); stackReason = stack.getStackStatusReason(); } } } // Show we are waiting System.out.print("."); // Not done yet so sleep for 10 seconds. if (!completed) Thread.sleep(10000); } // Show we are done System.out.print("done\n"); return stackStatus + " (" + stackReason + ")"; }
From source file:com.haskins.cloudtrailviewer.dialog.resourcedetail.detailpanels.CfStackDetail.java
License:Open Source License
private void buildUI(DescribeStacksResult detail) { JTabbedPane tabs = new JTabbedPane(); tabs.add("Stack", primaryScrollPane); final JTable outputCheckTable = new JTable(outputTableModel); JScrollPane healthCheckScrollPane = new JScrollPane(outputCheckTable); tabs.add("Output", healthCheckScrollPane); final JTable paramsTable = new JTable(parametersTableModel); JScrollPane listenersScrollPane = new JScrollPane(paramsTable); tabs.add("Parameters", listenersScrollPane); this.add(tabs, BorderLayout.CENTER); if (!detail.getStacks().isEmpty()) { List<Stack> stacks = detail.getStacks(); Stack stack = stacks.get(0); if (stack.getCreationTime() != null) { primaryTableModel.addRow(new Object[] { "Created", getDateString(stack.getCreationTime()) }); }/*w ww . ja va 2 s .c o m*/ if (stack.getDescription() != null) { primaryTableModel.addRow(new Object[] { "Description", stack.getDescription() }); } if (stack.getDisableRollback() != null) { primaryTableModel.addRow(new Object[] { "Disable Rollback", stack.getDisableRollback() }); } if (stack.getLastUpdatedTime() != null) { primaryTableModel .addRow(new Object[] { "Last Updated", getDateString(stack.getLastUpdatedTime()) }); } if (stack.getNotificationARNs() != null) { primaryTableModel.addRow(new Object[] { "Notification Arns", stack.getNotificationARNs() }); } if (stack.getStackId() != null) { primaryTableModel.addRow(new Object[] { "Stacks Id", stack.getStackId() }); } if (stack.getStackName() != null) { primaryTableModel.addRow(new Object[] { "Stacks Name", stack.getStackName() }); } if (stack.getStackStatus() != null) { primaryTableModel.addRow(new Object[] { "Stacks Status", stack.getStackStatus() }); } if (stack.getStackStatusReason() != null) { primaryTableModel.addRow(new Object[] { "Stacks Status Reason", stack.getStackStatusReason() }); } if (stack.getTimeoutInMinutes() != null) { primaryTableModel.addRow(new Object[] { "Timeout (minutes)", stack.getTimeoutInMinutes() }); } /** * Tags */ List<Tag> tags = stack.getTags(); for (Tag tag : tags) { tagsTableModel.addRow(new Object[] { tag.getKey(), tag.getValue() }); } /** * Output */ outputTableModel.addColumn("Description"); outputTableModel.addColumn("Key"); outputTableModel.addColumn("Value"); List<Output> outputs = stack.getOutputs(); for (Output output : outputs) { tagsTableModel.addRow( new Object[] { output.getDescription(), output.getOutputKey(), output.getOutputValue() }); } /** * Parameters */ parametersTableModel.addColumn("Key"); parametersTableModel.addColumn("Value"); parametersTableModel.addColumn("User Previous Value"); List<Parameter> parameters = stack.getParameters(); for (Parameter parameter : parameters) { tagsTableModel.addRow(new Object[] { parameter.getParameterKey(), parameter.getParameterValue(), parameter.getUsePreviousValue() }); } } }
From source file:org.springframework.cloud.stream.app.aws.AwsIntegrationTestStackRule.java
License:Apache License
private void waitForCompletion() throws InterruptedException { DescribeStacksRequest wait = new DescribeStacksRequest(); wait.setStackName(this.stackName); Boolean completed = false;/*w ww. ja va 2s .c om*/ String stackStatus = "Unknown"; String stackReason = ""; while (!completed) { List<Stack> stacks = null; try { stacks = this.cloudFormation.describeStacks(wait).getStacks(); } catch (Exception e) { logger.error("cloudFormation.describeStacks() exception", e); } if (CollectionUtils.isEmpty(stacks)) { completed = true; stackStatus = StackStatus.DELETE_COMPLETE.toString(); stackReason = "Stack has been deleted"; } else { for (Stack stack : stacks) { if (stack.getStackStatus().equals(StackStatus.CREATE_COMPLETE.toString()) || stack.getStackStatus().equals(StackStatus.CREATE_FAILED.toString()) || stack.getStackStatus().equals(StackStatus.ROLLBACK_FAILED.toString()) || stack.getStackStatus().equals(StackStatus.DELETE_FAILED.toString())) { completed = true; stackStatus = stack.getStackStatus(); stackReason = stack.getStackStatusReason(); } } } // Not done yet so sleep for 2 seconds. if (!completed) { Thread.sleep(2000); } else { if (stackStatus.equals(StackStatus.CREATE_FAILED.toString())) { Assume.assumeTrue( "The test AWS stack [" + this.stackName + "] cannot be created. Reason: " + stackReason, true); } } } }
From source file:org.terracotta.TerracottaCloudFormationSample.java
License:Open Source License
public static String waitForCompletion(AmazonCloudFormation stackbuilder, String stackName) throws Exception { DescribeStacksRequest wait = new DescribeStacksRequest(); wait.setStackName(stackName);/*ww w . ja va 2 s . co m*/ Boolean completed = false; String stackStatus = "Unknown"; String stackReason = ""; System.out.print("Waiting"); while (!completed) { List<Stack> stacks = stackbuilder.describeStacks(wait).getStacks(); if (stacks.isEmpty()) { completed = true; stackStatus = "NO_SUCH_STACK"; stackReason = "Stack has been deleted"; } else { for (Stack stack : stacks) { if (stack.getStackStatus().equals(StackStatus.CREATE_COMPLETE.toString()) || stack.getStackStatus().equals(StackStatus.CREATE_FAILED.toString()) || stack.getStackStatus().equals(StackStatus.ROLLBACK_FAILED.toString()) || stack.getStackStatus().equals(StackStatus.DELETE_FAILED.toString())) { completed = true; stackStatus = stack.getStackStatus(); stackReason = stack.getStackStatusReason(); } } } // Show we are waiting System.out.print("."); // Not done yet so sleep for 30 seconds. if (!completed) Thread.sleep(30000); } // Show we are done System.out.print("done\n"); return stackStatus + " (" + stackReason + ")"; }
From source file:org.xmlsh.aws.cfnDescribeStacks.java
License:BSD License
private void writeStack(Stack stack) throws XMLStreamException { startElement("stack"); attribute("creation-time", stack.getCreationTime()); attribute("description", stack.getDescription()); attribute("disable-rollback", stack.getDisableRollback()); attribute("last-update-time", stack.getLastUpdatedTime()); attribute("stack-id", stack.getStackId()); attribute("stack-name", stack.getStackName()); attribute("stack-status", stack.getStackStatus()); attribute("stack-status-reason", stack.getStackStatusReason()); attribute("timeout", stack.getTimeoutInMinutes()); writeParameters(stack.getParameters()); writeOutputs(stack.getOutputs());/*from w ww . java 2 s .com*/ writeCapibilities(stack.getCapabilities()); writeNotifications(stack.getNotificationARNs()); writeTags(stack.getTags()); }