com.amazonaws.services.lambda.invoke

## Annotation Type LambdaFunction

    @Target(value=METHOD)
     @Retention(value=RUNTIME)
    public @interface LambdaFunction

An annotation that marks methods of an interface that are meant to be proxied to remote code running on AWS Lambda. Methods may accept zero or one arguments, and may return zero or one values. Inputs and outputs will be converted to/from JSON using the Jackson `ObjectMapper`.

### Optional Element Summary

Optional Elements
`String` `functionName` The name of the Lambda function to invoke for this annotated method.
`InvocationType` `invocationType` The type of invocation to use.
`LogType` `logType` The type of log to request from the service.

### Element Detail

#### functionName

    public abstract String functionName

The name of the Lambda function to invoke for this annotated method. If not explicitly set, the name of the interface method is used.

`public interface LambdaFunctions {`

See Also:
  `InvokeRequest.setFunctionName(String)`

Default:
  ""

#### invocationType

    public abstract InvocationType invocationType

The type of invocation to use. If unspecified, defaults to `RequestResponse`. If a `logType` of anything other than `None` is specified, the invocation type may only be set to `RequestResponse`.

`public interface LambdaFunctions {`

See Also:
  `InvokeRequest.setInvocationType(InvocationType)`

Default:
  com.amazonaws.services.lambda.model.InvocationType.RequestResponse

#### logType

    public abstract LogType logType

The type of log to request from the service. If unspecified, no logs will be requested. If specified, the invocation type may only be set to `RequestResponse`.

When specified, the log information returned by the Lambda function will be emitted to the JCL log for the interface class at the `INFO` level.

See Also:
  `InvokeRequest.setLogType(LogType)`, `LogFactory.getLog(Class)`

Default:
  com.amazonaws.services.lambda.model.LogType.None