@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(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"); } } }