/** * Construct a synchronous implementation of AmazonCloudFormation using the current builder configuration. * * @param params * Current builder configuration represented as a parameter object. * @return Fully configured implementation of AmazonCloudFormation. */ @Override protected AmazonCloudFormation build(AwsSyncClientParams params) { return new AmazonCloudFormationClient(params); }
@Override public DescribeStacksResult describeStacks() { return describeStacks(new DescribeStacksRequest()); }
@Override public ListStacksResult listStacks() { return listStacks(new ListStacksRequest()); }
private List<StackSummary> getAllRunningStacks() { client = new AmazonCloudFormationClient(new AWSCredentials() { public String getAWSAccessKeyId() { return awsAccessKey; } public String getAWSSecretKey() { return awsSecretKey; } }); List<String> stackStatusFilters = new ArrayList<String>(); stackStatusFilters.add("UPDATE_COMPLETE"); stackStatusFilters.add("CREATE_COMPLETE"); stackStatusFilters.add("ROLLBACK_COMPLETE"); ListStacksRequest listStacksRequest = new ListStacksRequest(); listStacksRequest.setStackStatusFilters(stackStatusFilters); ListStacksResult result = client.listStacks(listStacksRequest); List<StackSummary> stackSummaries = result.getStackSummaries(); return stackSummaries; }
AmazonCloudFormationClient client = new AmazonCloudFormationClient(); ValidateTemplateRequest request = new ValidateTemplateRequest(); request.setTemplateBody(contents); if (validate) { ValidateTemplateResult result=client.validateTemplate(request);
AmazonCloudFormationClient client = new AmazonCloudFormationClient(); DeleteStackRequest deleteStackRequest = new DeleteStackRequest().withStackName(""); client.deleteStack(deleteStackRequest);
AmazonCloudFormationClient cloudformation = new AmazonCloudFormationClient(); AWSCredentialsProvider creds = getMyCreds(); DescribeStacksRequest request = new DescribeStacksRequest(...); request.setRequestCredentials(creds); cloudformation.describestacks(request);
protected AmazonCloudFormationClient getCloudFormationClient() { if (null != cloudformationClient) { return cloudformationClient; } return cloudformationClient = new AmazonCloudFormationClient(getAWSCredentialsProvideChain()).withRegion(Region.getRegion(Regions.fromName(deployment.getRegion()))); }
public boolean isValidTemplateUrl(String templateUrl) { try { ValidateTemplateRequest validateTemplateRequest = new ValidateTemplateRequest().withTemplateURL(templateUrl); getClient().validateTemplate(validateTemplateRequest); return true; } catch (AmazonClientException e) { logger.error("validateTemplateUrl failed: {}", e.getMessage()); return false; } }
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()); }
protected void updateStack(Deployment deployment, String templateBody) throws Exception { String templateName = deployment.getCloudFormationStackName(); UpdateStackRequest updateStackRequest = new UpdateStackRequest(); updateStackRequest.setStackName(templateName); updateStackRequest.setTemplateBody(templateBody); updateStackRequest.setParameters(deployment.getCloudFormationParameters()); updateStackRequest.withCapabilities(Capability.CAPABILITY_IAM); getCloudFormationClient().updateStack(updateStackRequest); log.info("Stack update completed, the stack " + templateName + " completed with " + waitForCompletion()); }
@Override protected Object executeInternal() throws Exception { shouldFailIfMissingStack(failIfMissing); getService().deleteStack(new DeleteStackRequest().withStackName(this.stackName).withRetainResources(retainResources)); WaitForStackCommand.WaitForStackContext ctx = new WaitForStackCommand.WaitForStackContext(this.stackName, getService(), this, 30, asList(StackStatus.DELETE_COMPLETE)); new WaitForStackCommand(ctx).execute(); return null; } }
public boolean isValidTemplateBody(String templateBody) { try { ValidateTemplateRequest validateTemplateRequest = new ValidateTemplateRequest().withTemplateBody(templateBody); getClient().validateTemplate(validateTemplateRequest); return true; } catch (AmazonClientException e) { logger.error("validateTemplateBody failed: {}", e.getMessage()); return false; } }
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); } }
public void execute() { checkParams(); AmazonCloudFormationClient client = getOrCreateClient(AmazonCloudFormationClient.class); UpdateStackRequest request = new UpdateStackRequest() .withStackName(stackName).withStackPolicyBody(stackPolicyBody) .withStackPolicyURL(stackPolicyURL) .withTemplateBody(templateBody).withTemplateURL(templateURL) .withStackPolicyDuringUpdateBody(stackPolicyDuringUpdateBody) .withStackPolicyDuringUpdateURL(stackPolicyDuringUpdateURL) .withUsePreviousTemplate(usePreviousTemplate); if (capabilities.size() > 0) { request.setCapabilities(capabilities); } if (parameters.size() > 0) { request.setParameters(parameters); } if (notificationArns.size() > 0) { request.setNotificationARNs(notificationArns); } try { client.updateStack(request); System.out.println("Update stack " + stackName + " request submitted."); } catch (Exception e) { throw new BuildException("Could not update stack: " + e.getMessage(), e); } }
public void execute() { checkParams(); AmazonEC2Client ec2Client = getOrCreateClient(AmazonEC2Client.class); ec2Client .deleteKeyPair(new DeleteKeyPairRequest().withKeyName(keyName)); AmazonCloudFormationClient cloudFormationClient = getOrCreateClient(AmazonCloudFormationClient.class); cloudFormationClient.deleteStack(new DeleteStackRequest() .withStackName(stackName)); } }
@Override public DescribeStacksResult describeStacks() { return describeStacks(new DescribeStacksRequest()); }
/** * Construct a synchronous implementation of AmazonCloudFormation using the current builder configuration. * * @param params * Current builder configuration represented as a parameter object. * @return Fully configured implementation of AmazonCloudFormation. */ @Override protected AmazonCloudFormation build(AwsSyncClientParams params) { return new AmazonCloudFormationClient(params); }
@Override public ListStacksResult listStacks() { return listStacks(new ListStacksRequest()); }
private ValidateTemplateResult validateTemplate() throws Exception { final ValidateTemplateRequest req = new ValidateTemplateRequest(); if (null != destinationS3Uri) { req.withTemplateURL(generateExternalUrl(this.destinationS3Uri)); } else { req.withTemplateBody(templateBody); } final ValidateTemplateResult result = getService().validateTemplate(req); getLog().info("Validation Result: " + result); return result; }