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

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

Introduction

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

Prototype

DescribeApplicationsRequest

Source Link

Usage

From source file:br.com.ingenieux.mojo.beanstalk.AbstractBeanstalkMojo.java

License:Apache License

@SuppressWarnings("unchecked")
protected List<String> getConfigurationTemplates(String applicationName) {
    List<String> configurationTemplates = getService()
            .describeApplications(new DescribeApplicationsRequest().withApplicationNames(applicationName))
            .getApplications().get(0).getConfigurationTemplates();

    Collections.<String>sort(configurationTemplates, new ReverseComparator(String.CASE_INSENSITIVE_ORDER));

    return configurationTemplates;
}

From source file:br.com.ingenieux.mojo.beanstalk.config.DescribeConfigurationTemplatesMojo.java

License:Apache License

@Override
protected Object executeInternal() throws Exception {
    DescribeApplicationsRequest req = new DescribeApplicationsRequest().withApplicationNames(applicationName);
    boolean bConfigurationTemplateDefined = StringUtils.isNotBlank(configurationTemplate);

    DescribeApplicationsResult apps = getService().describeApplications(req);

    List<ApplicationDescription> applications = apps.getApplications();

    if (applications.isEmpty()) {
        String errorMessage = "Application ('" + applicationName + "') not found!";

        getLog().warn(errorMessage);/*from w  w  w .  j a va2 s.  c o m*/

        throw new MojoFailureException(errorMessage);
    }

    ApplicationDescription desc = applications.get(0);

    List<String> configTemplates = desc.getConfigurationTemplates();

    if (bConfigurationTemplateDefined) {
        describeConfigurationTemplate(configurationTemplate);
    } else {
        for (String availConfigTemplate : configTemplates) {
            describeConfigurationTemplate(availConfigTemplate);
        }
    }

    return null;
}

From source file:br.com.ingenieux.mojo.beanstalk.config.ListConfigurationTemplatesMojo.java

License:Apache License

@Override
protected Object executeInternal() throws MojoExecutionException, MojoFailureException {
    DescribeApplicationsRequest req = new DescribeApplicationsRequest().withApplicationNames(applicationName);

    DescribeApplicationsResult apps = getService().describeApplications(req);

    List<ApplicationDescription> applications = apps.getApplications();

    if (applications.isEmpty()) {
        String errorMessage = "Application ('" + applicationName + "') not found!";

        getLog().warn(errorMessage);/*  w  ww . j  a v  a 2s .  c  om*/

        throw new MojoFailureException(errorMessage);
    }

    ApplicationDescription desc = applications.get(0);

    List<String> configTemplates = desc.getConfigurationTemplates();

    getLog().info(format("There are %d config templates", configTemplates.size()));

    return configTemplates;
}

From source file:fr.xebia.cloud.amazon.aws.tools.AmazonAwsUtils.java

License:Apache License

/**
 * Delete given application and wait for its removal.
 *
 * @param applicationName/*from   w w  w  . j  a  va  2 s.com*/
 * @param beanstalk
 */
public static void deleteBeanstalkApplicationIfExists(@Nonnull String applicationName,
        @Nonnull AWSElasticBeanstalk beanstalk) {
    ApplicationDescription application = Iterables.getFirst(beanstalk
            .describeApplications(new DescribeApplicationsRequest().withApplicationNames(applicationName))
            .getApplications(), null);
    if (application == null) {
        logger.debug("No application named '{}' found", applicationName);
        return;
    }

    synchronousTerminateEnvironments(applicationName, beanstalk);

    beanstalk.deleteApplication(new DeleteApplicationRequest().withApplicationName(applicationName));
    logger.info("Existing application {} deleted", applicationName);

    int counter = 0;
    while (application != null && counter < 1 * 60) {
        logger.debug("Wait for deletion of application {}", application);
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            throw Throwables.propagate(e);
        }
        application = Iterables.getFirst(beanstalk
                .describeApplications(new DescribeApplicationsRequest().withApplicationNames(applicationName))
                .getApplications(), null);
    }
    if (application == null) {
        logger.info("Application {} successfully deleted", applicationName);
    } else {
        logger.warn("Failure to delete application {}", applicationName);
    }
}

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

License:Apache License

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

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

    DescribeApplicationsResult existingApps = eb
            .describeApplications(new DescribeApplicationsRequest().withApplicationNames(appName));
    if (existingApps.getApplications().isEmpty()) {
        eb.createApplication(//from   www  .  j  a va2 s  . c  o  m
                new CreateApplicationRequest().withApplicationName(appName).withDescription(appDesc));
        getLogger().info("application " + appName + " (" + appDesc + ") created");
    } else {
        eb.updateApplication(
                new UpdateApplicationRequest().withApplicationName(appName).withDescription(appDesc));
        getLogger().info("application " + appName + " (" + appDesc + ") updated");
    }
}

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 {//from  w  w w. j  a v a  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);
        }
    });
}