Example usage for com.amazonaws.services.elasticbeanstalk AWSElasticBeanstalk deleteConfigurationTemplate

List of usage examples for com.amazonaws.services.elasticbeanstalk AWSElasticBeanstalk deleteConfigurationTemplate

Introduction

In this page you can find the example usage for com.amazonaws.services.elasticbeanstalk AWSElasticBeanstalk deleteConfigurationTemplate.

Prototype

DeleteConfigurationTemplateResult deleteConfigurationTemplate(
        DeleteConfigurationTemplateRequest deleteConfigurationTemplateRequest);

Source Link

Document

Deletes the specified configuration template.

Usage

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 {/*w  ww.j  a va 2  s .  co  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);
        }
    });
}

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

License:Apache License

@TaskAction
public void deleteTemplate() {
    // to enable conventionMappings feature
    String applicationName = getApplicationName();
    String templateName = getTemplateName();

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

    eb.deleteConfigurationTemplate(new DeleteConfigurationTemplateRequest().withApplicationName(applicationName)
            .withTemplateName(templateName));

    getLogger().info("configuration template " + templateName + " @ " + applicationName + " deleted");
}