@Override public DescribeStacksResult describeStacks() { return describeStacks(new DescribeStacksRequest()); }
@Override public DescribeStacksResult describeStacks() { return describeStacks(new DescribeStacksRequest()); }
private Collection<Output> listOutputs() { if (isEmpty(stackId)) { return Collections.emptyList(); } String nextToken = null; final DescribeStacksRequest request = new DescribeStacksRequest().withStackName(stackId); List<Output> result = new ArrayList<>(); do { request.setNextToken(nextToken); final DescribeStacksResult response = getService().describeStacks(request); result.addAll(response.getStacks().stream().flatMap(stack -> stack.getOutputs().stream()).collect(Collectors.toList())); nextToken = response.getNextToken(); } while (null != nextToken); return result; } }
public static boolean waitForCloudFormationStackToReachStatus( AmazonCloudFormationClient client, String stackName, String status) { int count = 0; while (true) { if (count++ == 100) { System.out .println(stackName + " never reached state " + status); return false; } try { Thread.sleep(1000 * 30); } catch (InterruptedException e) { System.out.println(e.getMessage()); return false; } String stackStatus = client .describeStacks( new DescribeStacksRequest() .withStackName(stackName)).getStacks() .get(0).getStackStatus(); if (stackStatus.equals(status)) { return true; } else if (stackStatus.contains(FAILED)) { System.out.println("The process failed with status " + stackStatus); return false; } System.out.println(stackName + " is in status " + stackStatus); } } }
public Map<String, String> getStackParameters(String stackName) { DescribeStacksRequest describeStacksRequest = new DescribeStacksRequest(); describeStacksRequest.setStackName(stackName); DescribeStacksResult describeStacksResult = client .describeStacks(describeStacksRequest); List<Stack> stacks = describeStacksResult.getStacks(); Stack stack = stacks.get(0); List<Parameter> parameters = stack.getParameters(); Map<String, String> map = new LinkedHashMap<String, String>(); for (Parameter parameter : parameters) { map.put(parameter.getParameterKey(), parameter.getParameterValue()); } return map; }
public Optional<Stack> getStack(String stackName) { if (getProject().getGradle().getStartParameter().isOffline() == false) { try { DescribeStacksResult describeStacksResult = getClient().describeStacks(new DescribeStacksRequest() .withStackName(stackName)); List<Stack> stacks = describeStacksResult.getStacks(); if (stacks.isEmpty() == false) { return stacks.stream().findAny(); } } catch (AmazonCloudFormationException e) { if ("ValidationError".equals(e.getErrorCode())) { return Optional.empty(); } else { throw new GradleException(e.getMessage(), e); } } } return Optional.empty(); }
final DescribeStacksResult stacks = ctx.getClient().describeStacks(new DescribeStacksRequest().withStackName(ctx.getStackId()));
List<Stack> stacks = getCloudFormationClient().describeStacks(wait).getStacks(); if (stacks.isEmpty()) { completed = true;
public CloudFormationOutput getStackOutputs(AmazonCloudFormation stackbuilder, String stackName) { DescribeStacksRequest wait = new DescribeStacksRequest(); wait.setStackName(stackName); List<Stack> stacks = getCloudFormationClient().describeStacks(wait).getStacks(); CloudFormationOutput cloudFormationOutput = new CloudFormationOutput(); for (Stack stack : stacks) { if (stack.getStackName().equals(stackName)) { stack.getOutputs().forEach(output -> { if (output.getOutputKey().equals(LAMBDA_EXECUTION_IAM_RESOURCE_NAME)) { cloudFormationOutput.setLambdaExecutionRole(output.getOutputValue()); } if (output.getOutputKey().equals(LAMBDA_EXECUTION_NAME)) { cloudFormationOutput.setLambdaFunctionArn(output.getOutputValue()); } }); return cloudFormationOutput; } } throw new RuntimeException("Unknown Cloudformation error. Try deploying."); }
DescribeStacksResult result = client.describeStacks(describeStacksRequest); Stack stack = result.getStacks().get(0);