1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package br.com.ingenieux.mojo.beanstalk.config;
18
19 import com.amazonaws.services.elasticbeanstalk.model.DeleteConfigurationTemplateRequest;
20
21 import org.apache.commons.lang.StringUtils;
22 import org.apache.maven.plugin.MojoExecutionException;
23 import org.apache.maven.plugin.MojoFailureException;
24 import org.apache.maven.plugins.annotations.Mojo;
25 import org.apache.maven.plugins.annotations.Parameter;
26
27 import br.com.ingenieux.mojo.beanstalk.AbstractBeanstalkMojo;
28 import br.com.ingenieux.mojo.beanstalk.ConfigurationTemplate;
29
30
31
32
33
34
35
36 @Mojo(name = "delete-configuration-template")
37 public class DeleteConfigurationTemplateMojo extends AbstractBeanstalkMojo {
38
39
40
41
42 @Parameter(property = "beanstalk.applicationName", defaultValue = "${project.artifactId}", required = true)
43 String applicationName;
44
45
46
47
48 @Parameter(property = "beanstalk.configurationTemplate")
49 String configurationTemplate;
50
51
52
53
54 @Parameter ConfigurationTemplate[] configurationTemplates;
55
56 @Override
57 protected Object executeInternal() throws MojoExecutionException, MojoFailureException {
58
59 boolean bConfigurationTemplateDefined = StringUtils.isNotBlank(configurationTemplate);
60
61 if (bConfigurationTemplateDefined) {
62 deleteConfiguration(configurationTemplate);
63 } else {
64 for (ConfigurationTemplate template : configurationTemplates) {
65 deleteConfiguration(template.getId());
66 }
67 }
68
69 return null;
70 }
71
72 void deleteConfiguration(String templateName) {
73
74 DeleteConfigurationTemplateRequest req = new DeleteConfigurationTemplateRequest(applicationName, templateName);
75
76 getService().deleteConfigurationTemplate(req);
77 }
78 }