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

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

Introduction

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

Prototype

public CreateConfigurationTemplateRequest() 

Source Link

Document

Default constructor for CreateConfigurationTemplateRequest object.

Usage

From source file:br.com.ingenieux.jenkins.plugins.awsebdeployment.cmd.ZeroDowntime.java

License:Apache License

private String createConfigurationTemplate(String environmentId) {
    log("Creating configuration template from application %s with label %s", getApplicationName(),
            getVersionLabel());/*from  w w w  .ja  v a  2  s. c o m*/

    CreateConfigurationTemplateRequest request = new CreateConfigurationTemplateRequest()
            .withApplicationName(getApplicationName()).withEnvironmentId(environmentId)
            .withTemplateName("tmp-" + getVersionLabel());

    return getAwseb().createConfigurationTemplate(request).getTemplateName();
}

From source file:br.com.ingenieux.mojo.beanstalk.env.TagEnvironmentMojo.java

License:Apache License

@Override
protected Object executeInternal() throws AbstractMojoExecutionException {
    Set<String> configTemplates = new TreeSet<String>(super.getConfigurationTemplates(applicationName));
    String today = DATE_FORMAT.format(new Date());

    if (StringUtils.isBlank(templateName)) {
        int i = 1;

        do {//from   w  ww.j a va 2s  .c om
            templateName = String.format("%s-%s-%02d", curEnv.getEnvironmentName(), today, i++);
        } while (configTemplates.contains(templateName));
    }

    CreateConfigurationTemplateResult result = getService().createConfigurationTemplate(
            new CreateConfigurationTemplateRequest().withEnvironmentId(curEnv.getEnvironmentId())
                    .withTemplateName(templateName).withApplicationName(curEnv.getApplicationName()));

    getLog().info("Created config template " + templateName + " for environment " + curEnv.getEnvironmentId());

    return result;
}

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();/*w  ww .ja  va2 s.co  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-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  .j a  v a 2  s .  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_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

@TaskAction
public void createTemplate() {
    // to enable conventionMappings feature
    String appName = getAppName();

    AwsBeanstalkPluginExtension ext = getProject().getExtensions().getByType(AwsBeanstalkPluginExtension.class);
    AWSElasticBeanstalk eb = ext.getClient();

    configurationTemplates.forEach(config -> {
        String templateName = config.getName();
        String templateDesc = config.getDesc();
        String solutionStackName = config.getSolutionStackName() != null ? config.getSolutionStackName()
                : getDefaultSolutionStackName();
        boolean deleteTemplateIfExists = config.isRecreate();

        try {/* ww w . j a  va 2  s  .c  o m*/
            List<ConfigurationOptionSetting> optionSettings = loadConfigurationOptions(
                    config.getOptionSettings());
            List<ApplicationDescription> existingApps = eb
                    .describeApplications(new DescribeApplicationsRequest().withApplicationNames(appName))
                    .getApplications();
            if (existingApps.isEmpty()) {
                throw new IllegalArgumentException("App with name '" + appName + "' does not exist");
            }

            if (existingApps.get(0).getConfigurationTemplates().contains(templateName)) {
                if (deleteTemplateIfExists) {
                    eb.deleteConfigurationTemplate(new DeleteConfigurationTemplateRequest()
                            .withApplicationName(appName).withTemplateName(templateName));
                    getLogger().info("configuration template {} @ {} deleted", templateName, appName);
                } else {
                    eb.updateConfigurationTemplate(new UpdateConfigurationTemplateRequest()
                            .withApplicationName(appName).withTemplateName(templateName)
                            .withDescription(templateDesc).withOptionSettings(optionSettings));
                    getLogger().info("configuration template {} @ {} updated", templateName, appName);
                    return;
                }
            }

            eb.createConfigurationTemplate(new CreateConfigurationTemplateRequest().withApplicationName(appName)
                    .withTemplateName(templateName).withDescription(templateDesc)
                    .withSolutionStackName(solutionStackName).withOptionSettings(optionSettings));
            getLogger().info("configuration template {} @ {} created", templateName, appName);
        } catch (IOException e) {
            getLogger().error("IOException", e);
        }
    });
}