protected void createStack(Deployment deployment, String templateBody) throws Exception { String templateName = deployment.getCloudFormationStackName(); CreateStackRequest createRequest = new CreateStackRequest(); createRequest.setStackName(templateName); createRequest.setTemplateBody(templateBody); createRequest.setParameters(deployment.getCloudFormationParameters()); createRequest.withCapabilities(Capability.CAPABILITY_IAM); getCloudFormationClient().createStack(createRequest); log.info("Stack creation completed, the stack " + templateName + " completed with " + waitForCompletion()); }
public void execute() { checkParams(); AmazonCloudFormationClient client = getOrCreateClient(AmazonCloudFormationClient.class); CreateStackRequest createStackRequest = new CreateStackRequest() .withDisableRollback(disableRollback).withOnFailure(onFailure) .withStackName(stackName).withStackPolicyBody(stackPolicyBody) .withStackPolicyURL(stackPolicyURL) .withTemplateBody(templateBody).withTemplateURL(templateURL) .withTimeoutInMinutes(timeoutInMinutes); if (capabilities.size() > 0) { createStackRequest.setCapabilities(capabilities); } if (parameters.size() > 0) { createStackRequest.setParameters(parameters); } if (tags.size() > 0) { createStackRequest.setTags(tags); } try { client.createStack(createStackRequest); System.out.println("Create stack " + stackName + " request submitted."); if(waitForCreation) { WaitForStackToReachStateTask.waitForCloudFormationStackToReachStatus(client, stackName, CREATE_COMPLETE); } } catch (Exception e) { throw new BuildException( "Could not create stack " + e.getMessage(), e); } }
private CreateStackResult createStack() throws Exception { CreateStackRequest req = new CreateStackRequest().withStackName(stackName).withCapabilities(Capability.CAPABILITY_IAM); if (null != this.destinationS3Uri) { req.withTemplateURL(generateExternalUrl(this.destinationS3Uri)); } else { req.withTemplateBody(templateBody); } req.withNotificationARNs(notificationArns); req.withParameters(parameters); req.withResourceTypes(resourceTypes); req.withDisableRollback(disableRollback); req.withTags(tags); req.withTimeoutInMinutes(timeoutInMinutes); return getService().createStack(req); }