Example usage for com.amazonaws.services.cloudformation AmazonCloudFormation createChangeSet

List of usage examples for com.amazonaws.services.cloudformation AmazonCloudFormation createChangeSet

Introduction

In this page you can find the example usage for com.amazonaws.services.cloudformation AmazonCloudFormation createChangeSet.

Prototype

CreateChangeSetResult createChangeSet(CreateChangeSetRequest createChangeSetRequest);

Source Link

Document

Creates a list of changes that will be applied to a stack so that you can review the changes before executing them.

Usage

From source file:jp.classmethod.aws.gradle.cloudformation.AmazonCloudFormationCreateChangeSetTask.java

License:Apache License

private void createChangeSet(AmazonCloudFormation cfn) throws IOException {
    // to enable conventionMappings feature
    String stackName = getStackName();
    String cfnTemplateUrl = getCfnTemplateUrl();
    List<Parameter> cfnStackParams = getCfnStackParams();
    List<Tag> cfnStackTags = getCfnStackTags();
    File cfnTemplateFile = getCfnTemplateFile();

    String changeSetName = changeSetName(stackName);
    getLogger().info("Create change set '{}' for stack '{}'", changeSetName, stackName);
    CreateChangeSetRequest req = new CreateChangeSetRequest().withChangeSetName(changeSetName)
            .withStackName(stackName).withParameters(cfnStackParams).withTags(cfnStackTags);

    // If template URL is specified, then use it
    if (Strings.isNullOrEmpty(cfnTemplateUrl) == false) {
        req.setTemplateURL(cfnTemplateUrl);
        // Else, use the template file body
    } else {/*from   w w  w.j  a  v a2s . c o m*/
        req.setTemplateBody(FileUtils.readFileToString(cfnTemplateFile));
    }

    if (isCapabilityIam()) {
        Capability selectedCapability = (getUseCapabilityIam() == null) ? Capability.CAPABILITY_IAM
                : getUseCapabilityIam();
        getLogger().info("Using IAM capability: " + selectedCapability);
        req.setCapabilities(Arrays.asList(selectedCapability.toString()));
    }
    CreateChangeSetResult createChangeSetResult = cfn.createChangeSet(req);
    getLogger().info("Create change set requested: {}", createChangeSetResult.getId());
}