1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package br.com.ingenieux.mojo.beanstalk.env;
18
19 import com.amazonaws.services.elasticbeanstalk.model.ConfigurationOptionSetting;
20 import com.amazonaws.services.elasticbeanstalk.model.UpdateEnvironmentRequest;
21 import com.amazonaws.services.elasticbeanstalk.model.UpdateEnvironmentResult;
22
23 import org.apache.maven.plugins.annotations.Mojo;
24 import org.apache.maven.plugins.annotations.Parameter;
25
26 import java.util.Arrays;
27
28 import br.com.ingenieux.mojo.beanstalk.AbstractNeedsEnvironmentMojo;
29
30
31
32
33
34
35 @Mojo(name = "set-property", requiresDirectInvocation = true)
36 public class SetPropertyMojo extends AbstractNeedsEnvironmentMojo {
37
38
39
40
41 @Parameter(property = "beanstalk.envName", required = true)
42 String envName;
43
44
45
46
47 @Parameter(property = "beanstalk.envValue", required = true)
48 String envValue;
49
50 protected Object executeInternal() throws Exception {
51 waitForNotUpdating();
52
53 UpdateEnvironmentRequest req = new UpdateEnvironmentRequest().withEnvironmentId(curEnv.getEnvironmentId());
54
55 req.setOptionSettings(
56 Arrays.asList(
57 new ConfigurationOptionSetting().withNamespace("aws:elasticbeanstalk:application:environment").withOptionName(envName).withValue(envValue)));
58
59 UpdateEnvironmentResult result = getService().updateEnvironment(req);
60
61 return result;
62 }
63 }