Example usage for com.amazonaws.services.elasticbeanstalk.model ConfigurationOptionSetting ConfigurationOptionSetting

List of usage examples for com.amazonaws.services.elasticbeanstalk.model ConfigurationOptionSetting ConfigurationOptionSetting

Introduction

In this page you can find the example usage for com.amazonaws.services.elasticbeanstalk.model ConfigurationOptionSetting ConfigurationOptionSetting.

Prototype

public ConfigurationOptionSetting(String namespace, String optionName, String value) 

Source Link

Document

Constructs a new ConfigurationOptionSetting object.

Usage

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   ww w.  j ava  2 s .co  m
 */
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()]);
}

From source file:fr.xebia.workshop.caching.CreateTomcat.java

License:Apache License

public void createServers() {

    String applicationName = "xfr-cocktail";

    // CREATE APPLICATION
    AmazonAwsUtils.deleteBeanstalkApplicationIfExists(applicationName, beanstalk);
    CreateApplicationRequest createApplicationRequest = new CreateApplicationRequest()
            .withApplicationName(applicationName)
            .withDescription("xfr-cocktail app created at " + new DateTime());

    ApplicationDescription applicationDescription = beanstalk.createApplication(createApplicationRequest)
            .getApplication();/*from   w w  w.  j a v  a  2s .com*/
    logger.debug("Application {} created", applicationDescription.getApplicationName());

    // CREATE APPLICATION VERSION
    CreateApplicationVersionRequest createApplicationVersion1Request = new CreateApplicationVersionRequest()
            .withApplicationName(applicationDescription.getApplicationName()).withVersionLabel("1.0.0")
            .withSourceBundle(new S3Location("xfr-workshop-caching", "cocktail-app-1.0.0-SNAPSHOT.war"));
    ApplicationVersionDescription applicationVersion1Description = beanstalk
            .createApplicationVersion(createApplicationVersion1Request).getApplicationVersion();
    logger.debug("Application version {}:{} created", applicationVersion1Description.getApplicationName(),
            applicationVersion1Description.getVersionLabel());
    CreateApplicationVersionRequest createApplicationVersion11Request = new CreateApplicationVersionRequest()
            .withApplicationName(applicationDescription.getApplicationName()).withVersionLabel("1.1.0")
            .withSourceBundle(new S3Location("xfr-workshop-caching", "cocktail-app-1.1.0-SNAPSHOT.war"));
    ApplicationVersionDescription applicationVersion11Description = beanstalk
            .createApplicationVersion(createApplicationVersion11Request).getApplicationVersion();
    logger.debug("Application version {}:{} created", applicationVersion11Description.getApplicationName(),
            applicationVersion11Description.getVersionLabel());
    CreateApplicationVersionRequest createApplicationVersion12Request = new CreateApplicationVersionRequest()
            .withApplicationName(applicationDescription.getApplicationName()).withVersionLabel("1.2.0")
            .withSourceBundle(new S3Location("xfr-workshop-caching", "cocktail-app-1.2.0-SNAPSHOT.war"));
    ApplicationVersionDescription applicationVersion12Description = beanstalk
            .createApplicationVersion(createApplicationVersion12Request).getApplicationVersion();
    logger.debug("Application version {}:{} created", applicationVersion12Description.getApplicationName(),
            applicationVersion12Description.getVersionLabel());

    // CREATE CONFIGURATION TEMPLATE
    CreateConfigurationTemplateRequest createConfigurationTemplateRequest = new CreateConfigurationTemplateRequest()
            .withApplicationName(applicationDescription.getApplicationName())
            .withTemplateName(applicationDescription.getApplicationName() + "-base-configuration")
            .withSolutionStackName("32bit Amazon Linux running Tomcat 7").withOptionSettings(
                    new ConfigurationOptionSetting("aws:autoscaling:launchconfiguration", "InstanceType",
                            "t1.micro"),
                    new ConfigurationOptionSetting("aws:autoscaling:launchconfiguration", "EC2KeyName",
                            workshopInfrastructure.getKeyPairName()),

                    new ConfigurationOptionSetting("aws:elasticbeanstalk:sns:topics", "Notification Endpoint",
                            workshopInfrastructure.getBeanstalkNotificationEmail()),

                    new ConfigurationOptionSetting("aws:elasticbeanstalk:application:environment",
                            "AWS_ACCESS_KEY_ID", workshopInfrastructure.getAwsAccessKeyId()),
                    new ConfigurationOptionSetting("aws:elasticbeanstalk:application:environment",
                            "AWS_SECRET_KEY", workshopInfrastructure.getAwsSecretKey()));
    CreateConfigurationTemplateResult configurationTemplateResult = beanstalk
            .createConfigurationTemplate(createConfigurationTemplateRequest);
    logger.debug("Configuration {}:{} created", configurationTemplateResult.getApplicationName(),
            configurationTemplateResult.getTemplateName(), configurationTemplateResult);

    for (String teamIdentifier : workshopInfrastructure.getTeamIdentifiers()) {
        // CREATE ENVIRONMENT
        CreateEnvironmentRequest createEnvironmentRequest = new CreateEnvironmentRequest()
                .withEnvironmentName(applicationDescription.getApplicationName() + "-" + teamIdentifier)
                .withApplicationName(applicationDescription.getApplicationName())
                .withVersionLabel(applicationVersion1Description.getVersionLabel())
                .withCNAMEPrefix(applicationDescription.getApplicationName() + "-" + teamIdentifier)
                .withTemplateName(configurationTemplateResult.getTemplateName());

        CreateEnvironmentResult createEnvironmentResult = beanstalk.createEnvironment(createEnvironmentRequest);

        logger.info("Environment {}:{}:{} created at {}", createEnvironmentResult.getApplicationName(),
                createEnvironmentResult.getVersionLabel(), createEnvironmentResult.getEnvironmentName(),
                Strings.nullToEmpty(createEnvironmentResult.getEndpointURL()));

    }
}

From source file:fr.xebia.workshop.nginx.CreateTomcat.java

License:Apache License

public void createServers() {

    String applicationName = "xfr-cocktail-nginx";

    // CREATE APPLICATION
    AmazonAwsUtils.deleteBeanstalkApplicationIfExists(applicationName, beanstalk);
    CreateApplicationRequest createApplicationRequest = new CreateApplicationRequest()
            .withApplicationName(applicationName).withDescription("xfr-cocktail-nginx app");

    ApplicationDescription applicationDescription = beanstalk.createApplication(createApplicationRequest)
            .getApplication();/*from   ww  w.ja va2  s  .c o  m*/
    logger.debug("Application {} created", applicationDescription.getApplicationName());

    // CREATE APPLICATION VERSION
    CreateApplicationVersionRequest createApplicationVersion1Request = new CreateApplicationVersionRequest()
            .withApplicationName(applicationDescription.getApplicationName()).withVersionLabel("1.0.0")
            .withSourceBundle(new S3Location("xfr-workshop-caching", "cocktail-app-1.0.0-SNAPSHOT.war"));
    ApplicationVersionDescription applicationVersion1Description = beanstalk
            .createApplicationVersion(createApplicationVersion1Request).getApplicationVersion();
    logger.debug("Application version {}:{} created", applicationVersion1Description.getApplicationName(),
            applicationVersion1Description.getVersionLabel());
    /*CreateApplicationVersionRequest createApplicationVersion11Request = new CreateApplicationVersionRequest()
        .withApplicationName(applicationDescription.getApplicationName())
        .withVersionLabel("1.1.0")
        .withSourceBundle(new S3Location(XFR_WORKSHOP_NGINX, "cocktail-app-1.1.0-SNAPSHOT.war"));
    ApplicationVersionDescription applicationVersion11Description = beanstalk.createApplicationVersion(createApplicationVersion11Request).getApplicationVersion();
    logger.debug("Application version {}:{} created", applicationVersion11Description.getApplicationName(), applicationVersion11Description.getVersionLabel());
    */
    // CREATE CONFIGURATION TEMPLATE
    CreateConfigurationTemplateRequest createConfigurationTemplateRequest = new CreateConfigurationTemplateRequest()
            .withApplicationName(applicationDescription.getApplicationName())
            .withTemplateName(applicationDescription.getApplicationName() + "-base-configuration")
            .withSolutionStackName("32bit Amazon Linux running Tomcat 7").withOptionSettings(
                    new ConfigurationOptionSetting("aws:autoscaling:launchconfiguration", "InstanceType",
                            "t1.micro"),
                    new ConfigurationOptionSetting("aws:autoscaling:launchconfiguration", "EC2KeyName",
                            workshopInfrastructure.getKeyPairName()),

                    new ConfigurationOptionSetting("aws:elasticbeanstalk:sns:topics", "Notification Endpoint",
                            workshopInfrastructure.getBeanstalkNotificationEmail()),

                    new ConfigurationOptionSetting("aws:elasticbeanstalk:application:environment",
                            "AWS_ACCESS_KEY_ID", workshopInfrastructure.getAwsAccessKeyId()),
                    new ConfigurationOptionSetting("aws:elasticbeanstalk:application:environment",
                            "AWS_SECRET_KEY", workshopInfrastructure.getAwsSecretKey()));
    CreateConfigurationTemplateResult configurationTemplateResult = beanstalk
            .createConfigurationTemplate(createConfigurationTemplateRequest);
    logger.debug("Configuration {}:{} created", new Object[] { configurationTemplateResult.getApplicationName(),
            configurationTemplateResult.getTemplateName(), configurationTemplateResult });

    for (String teamIdentifier : workshopInfrastructure.getTeamIdentifiers()) {
        for (int id = 0; id < 2; id++) {
            // CREATE ENVIRONMENT
            CreateEnvironmentRequest createEnvironmentRequest = new CreateEnvironmentRequest()
                    .withEnvironmentName(
                            applicationDescription.getApplicationName() + "-" + teamIdentifier + "-" + id)
                    .withApplicationName(applicationDescription.getApplicationName())
                    .withVersionLabel(applicationVersion1Description.getVersionLabel())
                    .withCNAMEPrefix(
                            applicationDescription.getApplicationName() + "-" + teamIdentifier + "-" + id)
                    .withTemplateName(configurationTemplateResult.getTemplateName());

            CreateEnvironmentResult createEnvironmentResult = beanstalk
                    .createEnvironment(createEnvironmentRequest);

            logger.info("Environment {}:{}:{} created at {}", new Object[] {
                    createEnvironmentResult.getApplicationName(), createEnvironmentResult.getVersionLabel(),
                    createEnvironmentResult.getEnvironmentName(), createEnvironmentResult.getEndpointURL() });
        }

    }
}

From source file:jp.classmethod.aws.gradle.elasticbeanstalk.AWSElasticBeanstalkCreateConfigurationTemplateTask.java

License:Apache License

List<ConfigurationOptionSetting> loadConfigurationOptions(String json) {
    List<ConfigurationOptionSetting> options = new ArrayList<>();
    @SuppressWarnings("unchecked")
    Collection<Map<String, Object>> c = (Collection<Map<String, Object>>) new groovy.json.JsonSlurper()
            .parseText(json);/*ww  w . j a  v  a  2 s.  c  o  m*/
    c.forEach(it -> options.add(new ConfigurationOptionSetting((String) it.get("Namespace"),
            (String) it.get("OptionName"), (String) it.get("Value"))));
    return options;
}