protected String lookupVersionLabel(String appName, String versionLabel) { if (StringUtils.isBlank(versionLabel)) { DescribeApplicationVersionsResult appVersionsResult = getService().describeApplicationVersions(new DescribeApplicationVersionsRequest().withApplicationName(appName));
protected String lookupVersionLabelForCommitId(String commitId) throws Exception { String versionLabel = null; String prefixToLookup = format("git-%s-", commitId); DescribeApplicationVersionsResult describeApplicationVersions = getService().describeApplicationVersions(new DescribeApplicationVersionsRequest().withApplicationName(applicationName)); for (ApplicationVersionDescription avd : describeApplicationVersions.getApplicationVersions()) { if (avd.getVersionLabel().startsWith(prefixToLookup)) { versionLabel = avd.getVersionLabel(); break; } } return versionLabel; }
private boolean versionLabelExists() { /* * Builds a request for this very specific version label */ DescribeApplicationVersionsRequest davRequest = new DescribeApplicationVersionsRequest().withApplicationName(applicationName).withVersionLabels(versionLabel); /* * Sends the request */ DescribeApplicationVersionsResult result = getService().describeApplicationVersions(davRequest); /* * Non-empty means the application version label *DOES* exist. */ return !result.getApplicationVersions().isEmpty(); } }
@TaskAction public void deleteVersion() { // to enable conventionMappings feature String appName = getAppName(); boolean deleteSourceBundle = isDeleteSourceBundle(); AwsBeanstalkPluginExtension ext = getProject().getExtensions().getByType(AwsBeanstalkPluginExtension.class); AWSElasticBeanstalk eb = ext.getClient(); DescribeEnvironmentsResult der = eb.describeEnvironments(new DescribeEnvironmentsRequest() .withApplicationName(appName)); List<String> usingVersions = der.getEnvironments().stream().map(ed -> ed.getVersionLabel()).collect(Collectors.toList()); DescribeApplicationVersionsResult davr = eb.describeApplicationVersions(new DescribeApplicationVersionsRequest() .withApplicationName(appName)); List<String> versionLabelsToDelete = davr.getApplicationVersions().stream() .filter(avd -> usingVersions.contains(avd.getVersionLabel()) == false && avd.getVersionLabel().contains("-SNAPSHOT-")) .map(avd -> avd.getVersionLabel()).collect(Collectors.toList()); versionLabelsToDelete.forEach(versionLabel -> { getLogger().info("version " + versionLabel + " deleted"); eb.deleteApplicationVersion(new DeleteApplicationVersionRequest() .withApplicationName(appName) .withVersionLabel(versionLabel) .withDeleteSourceBundle(deleteSourceBundle)); }); } }
@Override protected Object executeInternal() throws MojoExecutionException, MojoFailureException { DescribeApplicationVersionsRequest describeApplicationVersionsRequest = new DescribeApplicationVersionsRequest().withApplicationName(applicationName);
DescribeApplicationVersionsRequest describeApplicationVersionsRequest = new DescribeApplicationVersionsRequest().withApplicationName(applicationName);