protected Object updateAlias(String functionName, String version, String alias) { try { CreateAliasRequest req = new CreateAliasRequest().withFunctionName(functionName).withFunctionVersion(version).withName(alias); return lambdaClient.createAlias(req); } catch (ResourceConflictException exc) { UpdateAliasRequest req = new UpdateAliasRequest().withFunctionName(functionName).withFunctionVersion(version).withName(alias); return lambdaClient.updateAlias(req); } }
private void updateLambdaAlias(DeployConfig config, String functionVersion) throws IOException { UpdateAliasRequest updateAliasRequest = new UpdateAliasRequest() .withFunctionName(config.getFunctionName()) .withName(config.getAlias()) .withFunctionVersion(functionVersion); logger.log("Lambda update alias request:%n%s%n", updateAliasRequest.toString()); UpdateAliasResult updateAliasResult = client.updateAlias(updateAliasRequest); logger.log("Lambda update alias result:%n%s%n", updateAliasResult.toString()); }
public LambdaPublishServiceResponse publishLambda(PublishConfig config){ GetAliasRequest getAliasRequest = new GetAliasRequest() .withName(config.getFunctionAlias()) .withFunctionName(config.getFunctionARN()); logger.log("Lambda function alias existence check:%n%s%n%s%n", config.getFunctionARN(), config.getFunctionAlias()); try { GetAliasResult functionResult = client.getAlias(getAliasRequest); logger.log("Lambda function alias exists:%n%s%n", functionResult.toString()); } catch (ResourceNotFoundException rnfe) { return new LambdaPublishServiceResponse("", "", false); } logger.log("Publishing new version"); PublishVersionRequest publishVersionRequest = new PublishVersionRequest().withFunctionName(config.getFunctionARN()).withDescription(config.getVersionDescription()); PublishVersionResult publishVersionResult = client.publishVersion(publishVersionRequest); logger.log(publishVersionResult.toString()); logger.log("Updating alias"); UpdateAliasRequest updateAliasRequest = new UpdateAliasRequest().withName(config.getFunctionAlias()); updateAliasRequest.setFunctionName(config.getFunctionARN()); updateAliasRequest.setDescription(config.getVersionDescription()); updateAliasRequest.setFunctionVersion(publishVersionResult.getVersion()); UpdateAliasResult updateAliasResult = client.updateAlias(updateAliasRequest); logger.log(updateAliasResult.toString()); return new LambdaPublishServiceResponse(publishVersionResult.getVersion(), updateAliasResult.getName(), true); }