List of usage examples for com.amazonaws.services.cloudformation AmazonCloudFormationAsyncClient createStackAsync
@Override
public java.util.concurrent.Future<CreateStackResult> createStackAsync(CreateStackRequest request)
From source file:com.mweagle.tereus.aws.CloudFormation.java
License:Open Source License
public Optional<DescribeStacksResult> createStack(final CreateStackRequest request, final Region awsRegion, Logger logger) {// w ww . java 2 s . c o m DefaultAWSCredentialsProviderChain credentialProviderChain = new DefaultAWSCredentialsProviderChain(); final AmazonCloudFormationAsyncClient awsClient = new AmazonCloudFormationAsyncClient( credentialProviderChain.getCredentials()); awsClient.setRegion(awsRegion); logger.info("Creating stack: {}", request.getStackName()); Optional<DescribeStacksResult> completionResult = Optional.empty(); try { // There are no prior events for a creation request Future<CreateStackResult> createStackRequest = awsClient.createStackAsync(request); final CreateStackResult stackResult = createStackRequest.get(); logger.info("Stack ({}) creation in progress.", stackResult.getStackId()); completionResult = waitForStackComplete(awsClient, stackResult.getStackId(), Collections.emptyList(), logger); } catch (Exception ex) { logger.error(ex); } return completionResult; }