Example usage for com.amazonaws.services.lambda.model GetFunctionResult getConfiguration

List of usage examples for com.amazonaws.services.lambda.model GetFunctionResult getConfiguration

Introduction

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

Prototype


public FunctionConfiguration getConfiguration() 

Source Link

Document

The configuration of the function or version.

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();/*from   w w w. j  a v a 2s .  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);
    }
}