Example usage for com.amazonaws.services.cloudformation.model Tag Tag

List of usage examples for com.amazonaws.services.cloudformation.model Tag Tag

Introduction

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

Prototype

Tag

Source Link

Usage

From source file:br.com.ingenieux.mojo.cloudformation.PushStackMojo.java

License:Apache License

public void setTags(String tags) {
    List<String> nvPairs = asList(tags.split(","));

    this.tags = nvPairs.stream().map(this::extractNVPair)
            .map(mapEntry -> new Tag().withKey(mapEntry.getKey()).withValue(mapEntry.getValue()))
            .collect(Collectors.toList());
}

From source file:com.deploymentio.cfnstacker.CloudFormationClient.java

License:Apache License

/**
 * Initiates creation of a new CloudFormation stack with the given options
 * and template//from ww  w  .ja v  a  2s  . c o  m
 * 
 * @param templateBody ClouadFormation JSON template to create the stack
 *        from
 * @return ID of the new stack
 */
public String createStack(JsonNode templateBody, boolean disableRollback) throws Exception {
    List<Tag> tags = new ArrayList<>();
    for (String key : config.getTags().keySet()) {
        tags.add(new Tag().withKey(key).withValue(config.getTags().get(key)));
    }
    return client.createStack(new CreateStackRequest().withStackName(config.getName())
            .withTemplateURL(uploadCfnTemplateToS3(config.getName(), "create", templateBody))
            .withNotificationARNs(config.getSnsTopic()).withCapabilities("CAPABILITY_IAM").withTags(tags)
            .withDisableRollback(disableRollback)
            .withParameters(templateParameters.getApplicableParameters(templateBody))).getStackId();
}

From source file:com.mweagle.tereus.commands.CreateCommand.java

License:Open Source License

protected List<Tag> toTagList(final Map<String, Object> values) {
    List<Tag> creationTags = values.entrySet().stream().map(eachEntry -> {
        Tag awsTag = new Tag();
        awsTag.setKey(eachEntry.getKey());
        awsTag.setValue(eachEntry.getValue().toString());
        return awsTag;
    }).collect(Collectors.toList());

    // Add the version tag
    // TODO - semver enforcement on updates
    final Tag versionTag = new Tag().withKey(String.format("%s:version", CONSTANTS.TEREUS_TAG_NAMESPACE))
            .withValue(CONSTANTS.TEREUS_VERSION);
    creationTags.add(versionTag);/*from ww  w.  j a  v a  2 s .c  om*/
    return creationTags;
}

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

License:Apache License

private void applyTasks(Project project) { // NOPMD
    AmazonCloudFormationPluginExtension cfnExt = project.getExtensions()
            .findByType(AmazonCloudFormationPluginExtension.class);

    AmazonS3FileUploadTask awsCfnUploadTemplate = project.getTasks().create("awsCfnUploadTemplate",
            AmazonS3FileUploadTask.class, task -> {
                task.setDescription("Upload cfn template file to the Amazon S3 bucket.");
                task.conventionMapping("file", () -> cfnExt.getTemplateFile());
                task.conventionMapping("bucketName", () -> cfnExt.getTemplateBucket());
                task.conventionMapping("key", () -> {
                    String name = cfnExt.getTemplateFile().getName();
                    return createKey(name, project.getVersion(), cfnExt.getTemplateKeyPrefix());
                });/*  w  w w .  ja  v  a2s . c o  m*/
                task.doLast(t -> {
                    cfnExt.setTemplateURL(((AmazonS3FileUploadTask) t).getResourceUrl());
                });
            });

    AmazonS3FileUploadTask awsCfnUploadPolicy = project.getTasks().create("awsCfnUploadStackPolicy",
            AmazonS3FileUploadTask.class, task -> {
                task.setDescription("Upload cfn stack policy file to the Amazon S3 bucket.");
                task.conventionMapping("file", () -> cfnExt.getStackPolicyFile());
                task.conventionMapping("bucketName", () -> cfnExt.getStackPolicyBucket());
                task.conventionMapping("key", () -> {
                    String name = cfnExt.getStackPolicyFile().getName();
                    return createKey(name, project.getVersion(), cfnExt.getStackPolicyKeyPrefix());
                });
                task.doLast(t -> {
                    cfnExt.setStackPolicyURL(((AmazonS3FileUploadTask) t).getResourceUrl());
                });
            });

    AmazonCloudFormationMigrateStackTask awsCfnMigrateStack = project.getTasks().create("awsCfnMigrateStack",
            AmazonCloudFormationMigrateStackTask.class, task -> {
                task.setDescription("Create/Migrate cfn stack.");
                task.mustRunAfter(awsCfnUploadTemplate);
                task.mustRunAfter(awsCfnUploadPolicy);
                task.conventionMapping("stackName", () -> cfnExt.getStackName());
                task.conventionMapping("capabilityIam", () -> cfnExt.isCapabilityIam());
                task.conventionMapping("useCapabilityIam", () -> cfnExt.getUseCapabilityIam());
                task.conventionMapping("cfnStackParams",
                        () -> cfnExt.getStackParams().entrySet().stream()
                                .map(it -> new Parameter().withParameterKey(it.getKey().toString())
                                        .withParameterValue(it.getValue().toString()))
                                .collect(Collectors.toList()));
                task.conventionMapping("cfnStackTags", () -> cfnExt.getStackTags().entrySet().stream().map(
                        it -> new Tag().withKey(it.getKey().toString()).withValue(it.getValue().toString()))
                        .collect(Collectors.toList()));
                task.conventionMapping("cfnTemplateUrl", () -> cfnExt.getTemplateURL());
                task.conventionMapping("cfnTemplateFile", () -> cfnExt.getTemplateFile());
                task.conventionMapping("cfnStackPolicyUrl", () -> cfnExt.getStackPolicyURL());
                task.conventionMapping("cfnStackPolicyFile", () -> cfnExt.getStackPolicyFile());
                task.conventionMapping("cfnOnFailure", () -> cfnExt.getOnFailure());
            });

    project.getTasks().create("awsCfnValidateTemplateUrl", AmazonCloudFormationValidateTemplateUrlTask.class,
            task -> {
                task.setDescription("Validate template URL.");
                task.conventionMapping("cfnTemplateUrl", () -> cfnExt.getTemplateURL());
                task.dependsOn(awsCfnUploadTemplate);
            });

    project.getTasks().create("awsCfnCreateChangeSet", AmazonCloudFormationCreateChangeSetTask.class, task -> {
        task.setDescription("Create cfn change set.");
        task.mustRunAfter(awsCfnUploadTemplate);
        task.conventionMapping("stackName", () -> cfnExt.getStackName());
        task.conventionMapping("capabilityIam", () -> cfnExt.isCapabilityIam());
        task.conventionMapping("useCapabilityIam", () -> cfnExt.getUseCapabilityIam());
        task.conventionMapping("cfnStackParams",
                () -> cfnExt.getStackParams().entrySet().stream().map(it -> new Parameter()
                        .withParameterKey(it.getKey().toString()).withParameterValue(it.getValue().toString()))
                        .collect(Collectors.toList()));
        task.conventionMapping("cfnStackTags",
                () -> cfnExt.getStackTags().entrySet().stream().map(
                        it -> new Tag().withKey(it.getKey().toString()).withValue(it.getValue().toString()))
                        .collect(Collectors.toList()));
        task.conventionMapping("cfnTemplateUrl", () -> cfnExt.getTemplateURL());
        task.conventionMapping("cfnTemplateFile", () -> cfnExt.getTemplateFile());
    });

    project.getTasks().create("awsCfnExecuteChangeSet", AmazonCloudFormationExecuteChangeSetTask.class,
            task -> {
                task.setDescription("execute latest cfn change set.");
                task.conventionMapping("stackName", () -> cfnExt.getStackName());
            });

    project.getTasks().create("awsCfnWaitStackReady", AmazonCloudFormationWaitStackStatusTask.class, task -> {
        task.setDescription("Wait cfn stack for *_COMPLETE status.");
        task.mustRunAfter(awsCfnMigrateStack);
        task.conventionMapping("stackName", () -> cfnExt.getStackName());
    });

    AmazonCloudFormationWaitStackStatusTask awsCfnWaitStackComplete = project.getTasks()
            .create("awsCfnWaitStackComplete", AmazonCloudFormationWaitStackStatusTask.class, task -> {
                task.setDescription("Wait cfn stack for CREATE_COMPLETE or UPDATE_COMPLETE status.");
                task.mustRunAfter(awsCfnMigrateStack);
                task.setSuccessStatuses(Arrays.asList("CREATE_COMPLETE", "UPDATE_COMPLETE"));
                task.conventionMapping("stackName", () -> cfnExt.getStackName());
            });

    project.getTasks().create("awsCfnMigrateStackAndWaitCompleted")
            .dependsOn(awsCfnMigrateStack, awsCfnWaitStackComplete).setDescription(
                    "Create/Migrate cfn stack, and wait stack for CREATE_COMPLETE or UPDATE_COMPLETE status.");

    AmazonCloudFormationDeleteStackTask awsCfnDeleteStack = project.getTasks().create("awsCfnDeleteStack",
            AmazonCloudFormationDeleteStackTask.class, task -> {
                task.setDescription("Delete cfn stack.");
                task.conventionMapping("stackName", () -> cfnExt.getStackName());
            });

    AmazonCloudFormationWaitStackStatusTask awsCfnWaitStackDeleted = project.getTasks()
            .create("awsCfnWaitStackDeleted", AmazonCloudFormationWaitStackStatusTask.class, task -> {
                task.setDescription("Wait cfn stack for DELETE_COMPLETE status.");
                task.mustRunAfter(awsCfnDeleteStack);
                task.setSuccessStatuses(Arrays.asList("DELETE_COMPLETE"));
                task.conventionMapping("stackName", () -> cfnExt.getStackName());
            });

    project.getTasks().create("awsCfnDeleteStackAndWaitCompleted")
            .dependsOn(awsCfnDeleteStack, awsCfnWaitStackDeleted)
            .setDescription("Delete cfn stack, and wait stack for DELETE_COMPLETE status.");
}

From source file:org.xmlsh.aws.cfnCreateStack.java

License:BSD License

private Tag parseTag(XValue v) {
    StringPair pair = new StringPair(v.toString(), '=');
    return new Tag().withKey(pair.getLeft()).withValue(pair.getRight());

}