List of usage examples for com.amazonaws.services.lambda.model FunctionConfiguration FunctionConfiguration
FunctionConfiguration
From source file:jp.classmethod.aws.gradle.lambda.AWSLambdaMigrateFunctionTask.java
License:Apache License
@TaskAction public void createOrUpdateFunction() throws FileNotFoundException, IOException { // to enable conventionMappings feature String functionName = getFunctionName(); File zipFile = getZipFile();/* w ww . j av a 2 s. c o m*/ S3File s3File = getS3File(); if (functionName == null) { throw new GradleException("functionName is required"); } if ((zipFile == null && s3File == null) || (zipFile != null && s3File != null)) { throw new GradleException("exactly one of zipFile or s3File is required"); } if (s3File != null) { s3File.validate(); } AWSLambdaPluginExtension ext = getProject().getExtensions().getByType(AWSLambdaPluginExtension.class); AWSLambda lambda = ext.getClient(); try { GetFunctionResult getFunctionResult = lambda .getFunction(new GetFunctionRequest().withFunctionName(functionName)); FunctionConfiguration config = getFunctionResult.getConfiguration(); if (config == null) { config = new FunctionConfiguration().withRuntime(Runtime.Nodejs); } updateFunctionCode(lambda); updateFunctionConfiguration(lambda, config); } catch (ResourceNotFoundException e) { getLogger().warn(e.getMessage()); getLogger().warn("Creating function... {}", functionName); createFunction(lambda); } }