Example usage for com.amazonaws.services.cloudformation.model CreateChangeSetRequest setCapabilities

List of usage examples for com.amazonaws.services.cloudformation.model CreateChangeSetRequest setCapabilities

Introduction

In this page you can find the example usage for com.amazonaws.services.cloudformation.model CreateChangeSetRequest setCapabilities.

Prototype


public void setCapabilities(java.util.Collection<String> capabilities) 

Source Link

Document

In some cases, you must explicitly acknowledge that your stack template contains certain capabilities in order for AWS CloudFormation to create the stack.

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 {/*w ww.j  a  va 2 s  . 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());
}