List of usage examples for com.amazonaws.services.elasticbeanstalk.model DescribeConfigurationSettingsRequest DescribeConfigurationSettingsRequest
public DescribeConfigurationSettingsRequest()
From source file:br.com.ingenieux.mojo.beanstalk.cmd.dns.BindDomainsCommand.java
License:Apache License
protected boolean isSingleInstance(EnvironmentDescription env) { Validate.isTrue("WebServer".equals(env.getTier().getName()), "Not a Web Server environment!"); final DescribeConfigurationSettingsResult describeConfigurationSettingsResult = parentMojo.getService() .describeConfigurationSettings( new DescribeConfigurationSettingsRequest().withApplicationName(env.getApplicationName()) .withEnvironmentName(env.getEnvironmentName())); Validate.isTrue(1 == describeConfigurationSettingsResult.getConfigurationSettings().size(), "There should be one environment"); final List<ConfigurationOptionSetting> optionSettings = describeConfigurationSettingsResult .getConfigurationSettings().get(0).getOptionSettings(); for (ConfigurationOptionSetting optionSetting : optionSettings) { if (ConfigUtil.optionSettingMatchesP(optionSetting, "aws:elasticbeanstalk:environment", "EnvironmentType")) { return "SingleInstance".equals(optionSetting.getValue()); }/* w w w .j a v a2 s .c o m*/ } throw new IllegalStateException("Unreachable code!"); }
From source file:br.com.ingenieux.mojo.beanstalk.config.DescribeConfigurationSettingsMojo.java
License:Apache License
protected Object executeInternal() throws MojoExecutionException, MojoFailureException { boolean bTemplateNameDefined = isNotBlank(templateName) && !GlobUtil.hasWildcards(templateName); DescribeConfigurationSettingsRequest req = new DescribeConfigurationSettingsRequest() .withApplicationName(applicationName); if (bTemplateNameDefined) { req.withTemplateName(templateName); } else if (null != curEnv) { req.withEnvironmentName(curEnv.getEnvironmentName()); } else {/*w w w .j a v a 2s . co m*/ getLog().warn("You must supply a templateName or environmentName. Ignoring"); return null; } getLog().info("Request: " + req); return getService().describeConfigurationSettings(req); }
From source file:br.com.ingenieux.mojo.beanstalk.config.DescribeConfigurationTemplatesMojo.java
License:Apache License
void describeConfigurationTemplate(String configTemplateName) throws Exception { DescribeConfigurationSettingsRequest req = new DescribeConfigurationSettingsRequest() .withApplicationName(applicationName).withTemplateName(configTemplateName); DescribeConfigurationSettingsResult configSettings = getService().describeConfigurationSettings(req); List<String> buf = new ArrayList<String>(); buf.add("<optionSettings>"); for (ConfigurationSettingsDescription configSetting : configSettings.getConfigurationSettings()) { for (ConfigurationOptionSetting setting : configSetting.getOptionSettings()) { if (harmfulOptionSettingP(null, setting)) { continue; }/*from w w w .ja v a2s . co m*/ buf.add(" <optionSetting>"); buf.add(String.format(" <%s>%s</%1$s>", "namespace", setting.getNamespace())); buf.add(String.format(" <%s>%s</%1$s>", "optionName", setting.getOptionName())); buf.add(String.format(" <%s>%s</%1$s>", "value", setting.getValue())); buf.add(" </optionSetting>"); } } buf.add("</optionSettings>"); if (null != outputFile) { getLog().info("Dumping results to file: " + outputFile.getName()); String bufChars = StringUtils.join(buf.iterator(), ENDL); FileWriter writer = null; try { writer = new FileWriter(outputFile); IOUtils.copy(new StringReader(bufChars), writer); } catch (IOException e) { throw new RuntimeException("Failure when writing to file: " + outputFile.getName(), e); } finally { IOUtils.closeQuietly(writer); } } else { getLog().info("Dumping results to stdout"); for (String e : buf) { getLog().info(e); } } }
From source file:br.com.ingenieux.mojo.beanstalk.env.DumpEnvironmentSettings.java
License:Apache License
protected Object executeInternal() throws Exception { DescribeConfigurationOptionsResult configOptions = getService() .describeConfigurationOptions(new DescribeConfigurationOptionsRequest() .withApplicationName(applicationName).withEnvironmentName(curEnv.getEnvironmentName())); for (ConfigurationOptionDescription o : configOptions.getOptions()) { String key = String.format("beanstalk.env.%s.%s", o.getNamespace().replace(":", "."), o.getName()); for (Map.Entry<String, ConfigurationOptionSetting> entry : COMMON_PARAMETERS.entrySet()) { ConfigurationOptionSetting cos = entry.getValue(); if (cos.getNamespace().equals(o.getNamespace()) && cos.getOptionName().equals(o.getName())) { key = entry.getKey();//from ww w. j a v a2 s . c o m break; } } defaultSettings.put(key, o); } DescribeConfigurationSettingsResult configurationSettings = getService() .describeConfigurationSettings(new DescribeConfigurationSettingsRequest() .withApplicationName(applicationName).withEnvironmentName(curEnv.getEnvironmentName())); Properties newProperties = new Properties(); if (configurationSettings.getConfigurationSettings().isEmpty()) { throw new IllegalStateException("No Configuration Settings received"); } ConfigurationSettingsDescription configSettings = configurationSettings.getConfigurationSettings().get(0); Map<String, ConfigurationOptionSetting> keyMap = new LinkedHashMap<String, ConfigurationOptionSetting>(); for (ConfigurationOptionSetting d : configSettings.getOptionSettings()) { String key = String.format("beanstalk.env.%s.%s", d.getNamespace().replaceAll(":", "."), d.getOptionName()); String defaultValue = ""; String outputKey = key; keyMap.put(key, d); for (Map.Entry<String, ConfigurationOptionSetting> cosEntry : COMMON_PARAMETERS.entrySet()) { ConfigurationOptionSetting v = cosEntry.getValue(); boolean match = v.getNamespace().equals(d.getNamespace()) && v.getOptionName().equals(d.getOptionName()); if (match) { outputKey = cosEntry.getKey(); break; } } if (defaultSettings.containsKey(outputKey)) { defaultValue = StringUtils.defaultString(defaultSettings.get(outputKey).getDefaultValue()); } String value = d.getValue(); if (null == value || StringUtils.isBlank("" + value)) { continue; } if (!defaultValue.equals(value)) { if (!value.contains(curEnv.getEnvironmentId())) { getLog().info("Adding property " + key); if (changedOnly) { String curValue = project.getProperties().getProperty(outputKey); if (!value.equals(curValue)) { newProperties.put(outputKey, value); } } else { newProperties.put(outputKey, value); } } else { getLog().info("Ignoring property " + outputKey + "(value=" + value + ") due to containing references to the environment id"); } } else { getLog().debug("Ignoring property " + key + " (defaulted)"); } } if ("properties".equals(this.outputFileFormat)) { String comment = "elastic beanstalk environment properties for " + curEnv.getEnvironmentName(); if (null != outputFile) { newProperties.store(new FileOutputStream(outputFile), comment); } else { newProperties.store(System.out, comment); } } else if ("yaml".equals(this.outputFileFormat)) { PrintStream printStream = System.out; if (null != outputFile) { printStream = new PrintStream(outputFile); } printStream.println("option_settings:"); for (Map.Entry<Object, Object> e : newProperties.entrySet()) { ConfigurationOptionSetting c = keyMap.get("" + e.getKey()); String value = "" + e.getValue(); printStream.println(" - namespace: " + c.getNamespace()); printStream.println(" option_name: " + c.getOptionName()); printStream.println(" value: " + value); } printStream.close(); } return null; }
From source file:br.com.ingenieux.mojo.beanstalk.env.ReplaceEnvironmentMojo.java
License:Apache License
/** * Prior to Launching a New Environment, lets look and copy the most we can * * @param curEnv current environment/*from www.j av a2 s. c om*/ */ private void copyOptionSettings(EnvironmentDescription curEnv) throws Exception { /** * Skip if we don't have anything */ if (null != this.optionSettings && this.optionSettings.length > 0) { return; } DescribeConfigurationSettingsResult configSettings = getService() .describeConfigurationSettings(new DescribeConfigurationSettingsRequest() .withApplicationName(applicationName).withEnvironmentName(curEnv.getEnvironmentName())); List<ConfigurationOptionSetting> newOptionSettings = new ArrayList<ConfigurationOptionSetting>( configSettings.getConfigurationSettings().get(0).getOptionSettings()); ListIterator<ConfigurationOptionSetting> listIterator = newOptionSettings.listIterator(); while (listIterator.hasNext()) { ConfigurationOptionSetting curOptionSetting = listIterator.next(); boolean bInvalid = harmfulOptionSettingP(curEnv.getEnvironmentId(), curOptionSetting); if (bInvalid) { getLog().info(format("Excluding Option Setting: %s:%s['%s']", curOptionSetting.getNamespace(), curOptionSetting.getOptionName(), CredentialsUtil.redact(curOptionSetting.getValue()))); listIterator.remove(); } else { getLog().info(format("Including Option Setting: %s:%s['%s']", curOptionSetting.getNamespace(), curOptionSetting.getOptionName(), CredentialsUtil.redact(curOptionSetting.getValue()))); } } Object __secGroups = project.getProperties().get("beanstalk.securityGroups"); if (null != __secGroups) { String securityGroups = StringUtils.defaultString(__secGroups.toString()); if (!StringUtils.isBlank(securityGroups)) { ConfigurationOptionSetting newOptionSetting = new ConfigurationOptionSetting( "aws:autoscaling:launchconfiguration", "SecurityGroups", securityGroups); newOptionSettings.add(newOptionSetting); getLog().info(format("Including Option Setting: %s:%s['%s']", newOptionSetting.getNamespace(), newOptionSetting.getOptionName(), newOptionSetting.getValue())); } } /* * Then copy it back */ this.optionSettings = newOptionSettings.toArray(new ConfigurationOptionSetting[newOptionSettings.size()]); }