@TaskAction public void createRepository() { AmazonECRPluginExtension ext = getProject().getExtensions().getByType(AmazonECRPluginExtension.class); AmazonECR ecr = ext.getClient(); String repositoryName = MoreObjects.firstNonNull(getRepositoryName(), ext.getRepositoryName()); try { CreateRepositoryResult result = ecr.createRepository(new CreateRepositoryRequest().withRepositoryName(repositoryName)); repository = result.getRepository(); } catch (RepositoryAlreadyExistsException ex) { DescribeRepositoriesResult describeRepositoriesResult = ecr.describeRepositories(new DescribeRepositoriesRequest()); for (Repository repositoryResult : describeRepositoriesResult.getRepositories()) { if (repositoryResult.getRepositoryName().equals(repositoryName)) { repository = repositoryResult; break; } } } } }