/** * Simplified method form for invoking the DescribeStacks operation. * * @see #describeStacksAsync(DescribeStacksRequest) */ @Override public java.util.concurrent.Future<DescribeStacksResult> describeStacksAsync() { return describeStacksAsync(new DescribeStacksRequest()); }
setStackName(stackName); return this;
/** * <p> * A string that identifies the next page of stacks that you want to retrieve. * </p> * * @param nextToken * A string that identifies the next page of stacks that you want to retrieve. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeStacksRequest withNextToken(String nextToken) { setNextToken(nextToken); return this; }
private List<Stack> describeStack(String stackName) { final DescribeStacksResult result = cloudFormation .describeStacks(new DescribeStacksRequest().withStackName(stackName)); return result.getStacks(); }
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; }
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; } }
AmazonCloudFormationClient cloudformation = new AmazonCloudFormationClient(); AWSCredentialsProvider creds = getMyCreds(); DescribeStacksRequest request = new DescribeStacksRequest(...); request.setRequestCredentials(creds); cloudformation.describestacks(request);
DescribeStacksResult describeResult ; do{ describeResult = cloudFormClient.describeStacks(new DescribeStacksRequest().withNextToken(nextToken)); stacksTemp.addAll(describeResult.getStacks()); nextToken = describeResult.getNextToken();
public static List<Stack> describeCloudFormationStack(final String stackName, final AmazonCloudFormation cloudFormationClient) { DescribeStacksRequest describeStacksRequest = new DescribeStacksRequest() .withStackName(stackName); return cloudFormationClient.describeStacks(describeStacksRequest).getStacks(); }
private Properties getCloudformationOutputs(AmazonCloudFormation cloudFormation, CreateStackResult stack) { DescribeStacksRequest describeStacksRequest = new DescribeStacksRequest(); describeStacksRequest.setStackName(stack.getStackId()); final DescribeStacksResult describeStacksResult = cloudFormation .describeStacks(describeStacksRequest); Properties outputProps = new Properties(); for (Stack st : describeStacksResult.getStacks()) { StringBuilder outputsStr = new StringBuilder("Infrastructure/Deployment outputs {\n"); for (Output output : st.getOutputs()) { outputProps.setProperty(output.getOutputKey(), output.getOutputValue()); outputsStr.append(output.getOutputKey()).append("=").append(output.getOutputValue()).append("\n"); } //Log cfn outputs logger.info(outputsStr.toString() + "\n}"); } return outputProps; }
public static String getStackOutput(String stackName, String key){ DescribeStacksRequest describeStacksRequest = new DescribeStacksRequest(); describeStacksRequest.withStackName(stackName); DescribeStacksResult describeStacksResult = client.describeStacks(describeStacksRequest); List<Output> outputs = describeStacksResult.getStacks().get(0).getOutputs(); Optional<Output> output = outputs.stream() .filter(index -> index.getOutputKey().equals(key)) .findFirst(); return output.map(Output::getOutputValue) .orElseThrow(() -> new RuntimeException("Did not find stack output.")); } }
/** * Simplified method form for invoking the DescribeStacks operation. * * @see #describeStacksAsync(DescribeStacksRequest) */ @Override public java.util.concurrent.Future<DescribeStacksResult> describeStacksAsync() { return describeStacksAsync(new DescribeStacksRequest()); }
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."); }
setStackName(stackName); return this;
/** * <p> * A string that identifies the next page of stacks that you want to retrieve. * </p> * * @param nextToken * A string that identifies the next page of stacks that you want to retrieve. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeStacksRequest withNextToken(String nextToken) { setNextToken(nextToken); return this; }
private void waitForStackCreationToComplete() throws InterruptedException { DescribeStacksRequest check = new DescribeStacksRequest().withStackName(getStackName()); boolean completed = false; while(!completed) { List<Stack> results = client.describeStacks(check).getStacks(); if(results.isEmpty()){ throw new RuntimeException("Stack Does Not Exist."); } else { if(results.stream().anyMatch(this::checkIfStackCreationFailed)) { throw new RuntimeException("Stack Creation or Update Failed"); } else if(results.stream().anyMatch(this::checkIfStackCreationSucceeded)) { System.out.println("Stack Creation Complete"); completed = true; } } if(!completed) Thread.sleep(5000); } }
/** * Simplified method form for invoking the DescribeStacks operation with an AsyncHandler. * * @see #describeStacksAsync(DescribeStacksRequest, com.amazonaws.handlers.AsyncHandler) */ @Override public java.util.concurrent.Future<DescribeStacksResult> describeStacksAsync( com.amazonaws.handlers.AsyncHandler<DescribeStacksRequest, DescribeStacksResult> asyncHandler) { return describeStacksAsync(new DescribeStacksRequest(), asyncHandler); }
public String waitForCompletion() throws Exception { DescribeStacksRequest wait = new DescribeStacksRequest(); wait.setStackName(deployment.getCloudFormationStackName()); Boolean completed = false; String stackStatus = "Unknown";
public Map<String, String> describeOutputs() { DescribeStacksResult result = this.client.describeStacks(new DescribeStacksRequest().withStackName(this.stack)); Stack cfnStack = result.getStacks().get(0); Map<String, String> map = new HashMap<>(); for (Output output : cfnStack.getOutputs()) { map.put(output.getOutputKey(), output.getOutputValue()); } return map; }
/** * Simplified method form for invoking the DescribeStacks operation with an AsyncHandler. * * @see #describeStacksAsync(DescribeStacksRequest, com.amazonaws.handlers.AsyncHandler) */ @Override public java.util.concurrent.Future<DescribeStacksResult> describeStacksAsync( com.amazonaws.handlers.AsyncHandler<DescribeStacksRequest, DescribeStacksResult> asyncHandler) { return describeStacksAsync(new DescribeStacksRequest(), asyncHandler); }