Example usage for com.amazonaws.services.lambda.model Runtime Nodejs

List of usage examples for com.amazonaws.services.lambda.model Runtime Nodejs

Introduction

In this page you can find the example usage for com.amazonaws.services.lambda.model Runtime Nodejs.

Prototype

Runtime Nodejs

To view the source code for com.amazonaws.services.lambda.model Runtime Nodejs.

Click Source Link

Usage

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 w  w  . j  av  a2 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);
    }
}