From 4a763d2e847420e4f81d1fda4cf1f422a19d3c4b Mon Sep 17 00:00:00 2001 From: Blake Janelle Date: Mon, 10 Dec 2018 10:56:38 -0500 Subject: [PATCH] =?UTF-8?q?Updating=20S3=20create=20to=20work=20by=20using?= =?UTF-8?q?=20defaults=20when=20there=20is=20no=20existin=E2=80=A6=20(#59)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Updating S3 create to work by using defaults when there is no existing herman configuration bucket. Also updating travis config to include jar file in the GH release. * adding more specific exception handling and logging --- .travis.yml | 2 +- .../herman/cli/command/S3CreateCommand.java | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8aee233..dec1ecf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ notifications: deploy: - provider: releases api_key: $GH_DEPLOY_TOKEN - file: target/herman-bamboo-plugin-$BUILD_VERSION.jar + file: target/herman-$BUILD_VERSION.jar skip_cleanup: true on: repo: libertymutual/herman diff --git a/src/main/java/com/libertymutualgroup/herman/cli/command/S3CreateCommand.java b/src/main/java/com/libertymutualgroup/herman/cli/command/S3CreateCommand.java index c172d44..d801825 100644 --- a/src/main/java/com/libertymutualgroup/herman/cli/command/S3CreateCommand.java +++ b/src/main/java/com/libertymutualgroup/herman/cli/command/S3CreateCommand.java @@ -17,11 +17,14 @@ import com.amazonaws.auth.AWSCredentials; import com.amazonaws.regions.Regions; +import com.amazonaws.services.s3.model.AmazonS3Exception; import com.libertymutualgroup.herman.aws.credentials.CredentialsHandler; import com.libertymutualgroup.herman.aws.ecs.PropertyHandler; import com.libertymutualgroup.herman.aws.ecs.broker.s3.BucketMeta; import com.libertymutualgroup.herman.aws.ecs.broker.s3.S3Broker; +import com.libertymutualgroup.herman.aws.ecs.broker.s3.S3BrokerProperties; import com.libertymutualgroup.herman.aws.ecs.broker.s3.S3CreateContext; +import com.libertymutualgroup.herman.aws.ecs.broker.s3.S3EncryptionOption; import com.libertymutualgroup.herman.cli.Cli; import com.libertymutualgroup.herman.logging.HermanLogger; import com.libertymutualgroup.herman.task.s3.S3CreateTaskProperties; @@ -74,7 +77,15 @@ public void executeS3Task( PropertyHandler propertyHandler = propertyHandlerUtil.getCliPropertyHandler(sessionCredentials, logger, environmentName, absPath, customVariables); - S3CreateTaskProperties properties = configurationUtil.getConfigProperties(sessionCredentials, logger, region, S3CreateTaskProperties.class); + S3CreateTaskProperties properties; + + try { + properties = configurationUtil.getConfigProperties(sessionCredentials, logger, region, S3CreateTaskProperties.class); + } catch(AmazonS3Exception ex) { + logger.addLogEntry("Could not locate existing herman configuaration bucket, continuing with defaults."); + S3BrokerProperties brokerProperties = new S3BrokerProperties().withDefaultEncryption(S3EncryptionOption.AES256); + properties = new S3CreateTaskProperties().withS3(brokerProperties); + } S3CreateContext s3CreateContext = new S3CreateContext().withPropertyHandler(propertyHandler).withLogger(logger).withRegion(region).withRootPath(absPath).withSessionCredentials(sessionCredentials).withTaskProperties(properties).withFileUtil(new FileUtil(absPath, logger));