List of usage examples for com.amazonaws.services.cloudformation.model Tag Tag
Tag
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()); }