/* * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.amazonaws.services.lambda.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** * <p> * Invokes a specific Lambda function. For an example, see <a href= * "http://docs.aws.amazon.com/lambda/latest/dg/with-dynamodb-create-function.html#with-dbb-invoke-manually" * >Create the Lambda Function and Test It Manually</a>. * </p> * <p> * If you are using the versioning feature, you can invoke the specific function * version by providing function version or alias name that is pointing to the * function version using the <code>Qualifier</code> parameter in the request. * If you don't provide the <code>Qualifier</code> parameter, the * <code>$LATEST</code> version of the Lambda function is invoked. Invocations * occur at least once in response to an event and functions must be idempotent * to handle this. For information about the versioning feature, see <a * href="http://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html" * >AWS Lambda Function Versioning and Aliases</a>. * </p> * <p> * This operation requires permission for the <code>lambda:InvokeFunction</code> * action. * </p> */ public class InvokeRequest extends AmazonWebServiceRequest implements Serializable { /** * <p> * The Lambda function name. * </p> * <p> * You can specify a function name (for example, <code>Thumbnail</code>) or * you can specify Amazon Resource Name (ARN) of the function (for example, * <code>arn:aws:lambda:us-west-2:account-id:function:ThumbNail</code>). AWS * Lambda also allows you to specify a partial ARN (for example, * <code>account-id:Thumbnail</code>). Note that the length constraint * applies only to the ARN. If you specify only the function name, it is * limited to 64 character in length. * </p> * <p> * <b>Constraints:</b><br/> * <b>Length: </b>1 - 140<br/> * <b>Pattern: * </b>(arn:aws:lambda:)?([a-z]{2}-[a-z]+-\d{1}:)?(\d{12}:)?(function * :)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?<br/> */ private String functionName; /** * <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can optionally request * asynchronous execution by specifying <code>Event</code> as the * <code>InvocationType</code>. You can also use this parameter to request * AWS Lambda to not execute the function but do some verification, such as * if the caller is authorized to invoke the function and if the inputs are * valid. You request this by specifying <code>DryRun</code> as the * <code>InvocationType</code>. This is useful in a cross-account scenario * when you want to verify access to a function without running it. * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Event, RequestResponse, DryRun */ private String invocationType; /** * <p> * You can set this optional parameter to <code>Tail</code> in the request * only if you specify the <code>InvocationType</code> parameter with value * <code>RequestResponse</code>. In this case, AWS Lambda returns the * base64-encoded last 4 KB of log data produced by your Lambda function in * the <code>x-amz-log-result</code> header. * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>None, Tail */ private String logType; /** * <p> * Using the <code>ClientContext</code> you can pass client-specific * information to the Lambda function you are invoking. You can then process * the client information in your Lambda function as you choose through the * context variable. For an example of a <code>ClientContext</code> JSON, * see <a href= * "http://docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html" * >PutEvents</a> in the <i>Amazon Mobile Analytics API Reference and User * Guide</i>. * </p> * <p> * The ClientContext JSON must be base64-encoded. * </p> */ private String clientContext; /** * <p> * JSON that you want to provide to your Lambda function as input. * </p> */ private java.nio.ByteBuffer payload; /** * <p> * You can use this optional parameter to specify a Lambda function version * or alias name. If you specify a function version, the API uses the * qualified function ARN to invoke a specific Lambda function. If you * specify an alias name, the API uses the alias ARN to invoke the Lambda * function version to which the alias points. * </p> * <p> * If you don't provide this parameter, then the API uses unqualified * function ARN which results in invocation of the <code>$LATEST</code> * version. * </p> * <p> * <b>Constraints:</b><br/> * <b>Length: </b>1 - 128<br/> * <b>Pattern: </b>(|[a-zA-Z0-9$_-]+)<br/> */ private String qualifier; /** * <p> * The Lambda function name. * </p> * <p> * You can specify a function name (for example, <code>Thumbnail</code>) or * you can specify Amazon Resource Name (ARN) of the function (for example, * <code>arn:aws:lambda:us-west-2:account-id:function:ThumbNail</code>). AWS * Lambda also allows you to specify a partial ARN (for example, * <code>account-id:Thumbnail</code>). Note that the length constraint * applies only to the ARN. If you specify only the function name, it is * limited to 64 character in length. * </p> * <p> * <b>Constraints:</b><br/> * <b>Length: </b>1 - 140<br/> * <b>Pattern: * </b>(arn:aws:lambda:)?([a-z]{2}-[a-z]+-\d{1}:)?(\d{12}:)?(function * :)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?<br/> * * @return <p> * The Lambda function name. * </p> * <p> * You can specify a function name (for example, * <code>Thumbnail</code>) or you can specify Amazon Resource Name * (ARN) of the function (for example, * <code>arn:aws:lambda:us-west-2:account-id:function:ThumbNail</code> * ). AWS Lambda also allows you to specify a partial ARN (for * example, <code>account-id:Thumbnail</code>). Note that the length * constraint applies only to the ARN. If you specify only the * function name, it is limited to 64 character in length. * </p> */ public String getFunctionName() { return functionName; } /** * <p> * The Lambda function name. * </p> * <p> * You can specify a function name (for example, <code>Thumbnail</code>) or * you can specify Amazon Resource Name (ARN) of the function (for example, * <code>arn:aws:lambda:us-west-2:account-id:function:ThumbNail</code>). AWS * Lambda also allows you to specify a partial ARN (for example, * <code>account-id:Thumbnail</code>). Note that the length constraint * applies only to the ARN. If you specify only the function name, it is * limited to 64 character in length. * </p> * <p> * <b>Constraints:</b><br/> * <b>Length: </b>1 - 140<br/> * <b>Pattern: * </b>(arn:aws:lambda:)?([a-z]{2}-[a-z]+-\d{1}:)?(\d{12}:)?(function * :)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?<br/> * * @param functionName <p> * The Lambda function name. * </p> * <p> * You can specify a function name (for example, * <code>Thumbnail</code>) or you can specify Amazon Resource * Name (ARN) of the function (for example, * <code>arn:aws:lambda:us-west-2:account-id:function:ThumbNail</code> * ). AWS Lambda also allows you to specify a partial ARN (for * example, <code>account-id:Thumbnail</code>). Note that the * length constraint applies only to the ARN. If you specify only * the function name, it is limited to 64 character in length. * </p> */ public void setFunctionName(String functionName) { this.functionName = functionName; } /** * <p> * The Lambda function name. * </p> * <p> * You can specify a function name (for example, <code>Thumbnail</code>) or * you can specify Amazon Resource Name (ARN) of the function (for example, * <code>arn:aws:lambda:us-west-2:account-id:function:ThumbNail</code>). AWS * Lambda also allows you to specify a partial ARN (for example, * <code>account-id:Thumbnail</code>). Note that the length constraint * applies only to the ARN. If you specify only the function name, it is * limited to 64 character in length. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * <p> * <b>Constraints:</b><br/> * <b>Length: </b>1 - 140<br/> * <b>Pattern: * </b>(arn:aws:lambda:)?([a-z]{2}-[a-z]+-\d{1}:)?(\d{12}:)?(function * :)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?<br/> * * @param functionName <p> * The Lambda function name. * </p> * <p> * You can specify a function name (for example, * <code>Thumbnail</code>) or you can specify Amazon Resource * Name (ARN) of the function (for example, * <code>arn:aws:lambda:us-west-2:account-id:function:ThumbNail</code> * ). AWS Lambda also allows you to specify a partial ARN (for * example, <code>account-id:Thumbnail</code>). Note that the * length constraint applies only to the ARN. If you specify only * the function name, it is limited to 64 character in length. * </p> * @return A reference to this updated object so that method calls can be * chained together. */ public InvokeRequest withFunctionName(String functionName) { this.functionName = functionName; return this; } /** * <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can optionally request * asynchronous execution by specifying <code>Event</code> as the * <code>InvocationType</code>. You can also use this parameter to request * AWS Lambda to not execute the function but do some verification, such as * if the caller is authorized to invoke the function and if the inputs are * valid. You request this by specifying <code>DryRun</code> as the * <code>InvocationType</code>. This is useful in a cross-account scenario * when you want to verify access to a function without running it. * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Event, RequestResponse, DryRun * * @return <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can optionally * request asynchronous execution by specifying <code>Event</code> * as the <code>InvocationType</code>. You can also use this * parameter to request AWS Lambda to not execute the function but * do some verification, such as if the caller is authorized to * invoke the function and if the inputs are valid. You request this * by specifying <code>DryRun</code> as the * <code>InvocationType</code>. This is useful in a cross-account * scenario when you want to verify access to a function without * running it. * </p> * @see InvocationType */ public String getInvocationType() { return invocationType; } /** * <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can optionally request * asynchronous execution by specifying <code>Event</code> as the * <code>InvocationType</code>. You can also use this parameter to request * AWS Lambda to not execute the function but do some verification, such as * if the caller is authorized to invoke the function and if the inputs are * valid. You request this by specifying <code>DryRun</code> as the * <code>InvocationType</code>. This is useful in a cross-account scenario * when you want to verify access to a function without running it. * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Event, RequestResponse, DryRun * * @param invocationType <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can * optionally request asynchronous execution by specifying * <code>Event</code> as the <code>InvocationType</code>. You can * also use this parameter to request AWS Lambda to not execute * the function but do some verification, such as if the caller * is authorized to invoke the function and if the inputs are * valid. You request this by specifying <code>DryRun</code> as * the <code>InvocationType</code>. This is useful in a * cross-account scenario when you want to verify access to a * function without running it. * </p> * @see InvocationType */ public void setInvocationType(String invocationType) { this.invocationType = invocationType; } /** * <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can optionally request * asynchronous execution by specifying <code>Event</code> as the * <code>InvocationType</code>. You can also use this parameter to request * AWS Lambda to not execute the function but do some verification, such as * if the caller is authorized to invoke the function and if the inputs are * valid. You request this by specifying <code>DryRun</code> as the * <code>InvocationType</code>. This is useful in a cross-account scenario * when you want to verify access to a function without running it. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Event, RequestResponse, DryRun * * @param invocationType <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can * optionally request asynchronous execution by specifying * <code>Event</code> as the <code>InvocationType</code>. You can * also use this parameter to request AWS Lambda to not execute * the function but do some verification, such as if the caller * is authorized to invoke the function and if the inputs are * valid. You request this by specifying <code>DryRun</code> as * the <code>InvocationType</code>. This is useful in a * cross-account scenario when you want to verify access to a * function without running it. * </p> * @return A reference to this updated object so that method calls can be * chained together. * @see InvocationType */ public InvokeRequest withInvocationType(String invocationType) { this.invocationType = invocationType; return this; } /** * <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can optionally request * asynchronous execution by specifying <code>Event</code> as the * <code>InvocationType</code>. You can also use this parameter to request * AWS Lambda to not execute the function but do some verification, such as * if the caller is authorized to invoke the function and if the inputs are * valid. You request this by specifying <code>DryRun</code> as the * <code>InvocationType</code>. This is useful in a cross-account scenario * when you want to verify access to a function without running it. * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Event, RequestResponse, DryRun * * @param invocationType <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can * optionally request asynchronous execution by specifying * <code>Event</code> as the <code>InvocationType</code>. You can * also use this parameter to request AWS Lambda to not execute * the function but do some verification, such as if the caller * is authorized to invoke the function and if the inputs are * valid. You request this by specifying <code>DryRun</code> as * the <code>InvocationType</code>. This is useful in a * cross-account scenario when you want to verify access to a * function without running it. * </p> * @see InvocationType */ public void setInvocationType(InvocationType invocationType) { this.invocationType = invocationType.toString(); } /** * <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can optionally request * asynchronous execution by specifying <code>Event</code> as the * <code>InvocationType</code>. You can also use this parameter to request * AWS Lambda to not execute the function but do some verification, such as * if the caller is authorized to invoke the function and if the inputs are * valid. You request this by specifying <code>DryRun</code> as the * <code>InvocationType</code>. This is useful in a cross-account scenario * when you want to verify access to a function without running it. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>Event, RequestResponse, DryRun * * @param invocationType <p> * By default, the <code>Invoke</code> API assumes * <code>RequestResponse</code> invocation type. You can * optionally request asynchronous execution by specifying * <code>Event</code> as the <code>InvocationType</code>. You can * also use this parameter to request AWS Lambda to not execute * the function but do some verification, such as if the caller * is authorized to invoke the function and if the inputs are * valid. You request this by specifying <code>DryRun</code> as * the <code>InvocationType</code>. This is useful in a * cross-account scenario when you want to verify access to a * function without running it. * </p> * @return A reference to this updated object so that method calls can be * chained together. * @see InvocationType */ public InvokeRequest withInvocationType(InvocationType invocationType) { this.invocationType = invocationType.toString(); return this; } /** * <p> * You can set this optional parameter to <code>Tail</code> in the request * only if you specify the <code>InvocationType</code> parameter with value * <code>RequestResponse</code>. In this case, AWS Lambda returns the * base64-encoded last 4 KB of log data produced by your Lambda function in * the <code>x-amz-log-result</code> header. * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>None, Tail * * @return <p> * You can set this optional parameter to <code>Tail</code> in the * request only if you specify the <code>InvocationType</code> * parameter with value <code>RequestResponse</code>. In this case, * AWS Lambda returns the base64-encoded last 4 KB of log data * produced by your Lambda function in the * <code>x-amz-log-result</code> header. * </p> * @see LogType */ public String getLogType() { return logType; } /** * <p> * You can set this optional parameter to <code>Tail</code> in the request * only if you specify the <code>InvocationType</code> parameter with value * <code>RequestResponse</code>. In this case, AWS Lambda returns the * base64-encoded last 4 KB of log data produced by your Lambda function in * the <code>x-amz-log-result</code> header. * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>None, Tail * * @param logType <p> * You can set this optional parameter to <code>Tail</code> in * the request only if you specify the * <code>InvocationType</code> parameter with value * <code>RequestResponse</code>. In this case, AWS Lambda returns * the base64-encoded last 4 KB of log data produced by your * Lambda function in the <code>x-amz-log-result</code> header. * </p> * @see LogType */ public void setLogType(String logType) { this.logType = logType; } /** * <p> * You can set this optional parameter to <code>Tail</code> in the request * only if you specify the <code>InvocationType</code> parameter with value * <code>RequestResponse</code>. In this case, AWS Lambda returns the * base64-encoded last 4 KB of log data produced by your Lambda function in * the <code>x-amz-log-result</code> header. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>None, Tail * * @param logType <p> * You can set this optional parameter to <code>Tail</code> in * the request only if you specify the * <code>InvocationType</code> parameter with value * <code>RequestResponse</code>. In this case, AWS Lambda returns * the base64-encoded last 4 KB of log data produced by your * Lambda function in the <code>x-amz-log-result</code> header. * </p> * @return A reference to this updated object so that method calls can be * chained together. * @see LogType */ public InvokeRequest withLogType(String logType) { this.logType = logType; return this; } /** * <p> * You can set this optional parameter to <code>Tail</code> in the request * only if you specify the <code>InvocationType</code> parameter with value * <code>RequestResponse</code>. In this case, AWS Lambda returns the * base64-encoded last 4 KB of log data produced by your Lambda function in * the <code>x-amz-log-result</code> header. * </p> * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>None, Tail * * @param logType <p> * You can set this optional parameter to <code>Tail</code> in * the request only if you specify the * <code>InvocationType</code> parameter with value * <code>RequestResponse</code>. In this case, AWS Lambda returns * the base64-encoded last 4 KB of log data produced by your * Lambda function in the <code>x-amz-log-result</code> header. * </p> * @see LogType */ public void setLogType(LogType logType) { this.logType = logType.toString(); } /** * <p> * You can set this optional parameter to <code>Tail</code> in the request * only if you specify the <code>InvocationType</code> parameter with value * <code>RequestResponse</code>. In this case, AWS Lambda returns the * base64-encoded last 4 KB of log data produced by your Lambda function in * the <code>x-amz-log-result</code> header. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * <p> * <b>Constraints:</b><br/> * <b>Allowed Values: </b>None, Tail * * @param logType <p> * You can set this optional parameter to <code>Tail</code> in * the request only if you specify the * <code>InvocationType</code> parameter with value * <code>RequestResponse</code>. In this case, AWS Lambda returns * the base64-encoded last 4 KB of log data produced by your * Lambda function in the <code>x-amz-log-result</code> header. * </p> * @return A reference to this updated object so that method calls can be * chained together. * @see LogType */ public InvokeRequest withLogType(LogType logType) { this.logType = logType.toString(); return this; } /** * <p> * Using the <code>ClientContext</code> you can pass client-specific * information to the Lambda function you are invoking. You can then process * the client information in your Lambda function as you choose through the * context variable. For an example of a <code>ClientContext</code> JSON, * see <a href= * "http://docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html" * >PutEvents</a> in the <i>Amazon Mobile Analytics API Reference and User * Guide</i>. * </p> * <p> * The ClientContext JSON must be base64-encoded. * </p> * * @return <p> * Using the <code>ClientContext</code> you can pass client-specific * information to the Lambda function you are invoking. You can then * process the client information in your Lambda function as you * choose through the context variable. For an example of a * <code>ClientContext</code> JSON, see <a href= * "http://docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html" * >PutEvents</a> in the <i>Amazon Mobile Analytics API Reference * and User Guide</i>. * </p> * <p> * The ClientContext JSON must be base64-encoded. * </p> */ public String getClientContext() { return clientContext; } /** * <p> * Using the <code>ClientContext</code> you can pass client-specific * information to the Lambda function you are invoking. You can then process * the client information in your Lambda function as you choose through the * context variable. For an example of a <code>ClientContext</code> JSON, * see <a href= * "http://docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html" * >PutEvents</a> in the <i>Amazon Mobile Analytics API Reference and User * Guide</i>. * </p> * <p> * The ClientContext JSON must be base64-encoded. * </p> * * @param clientContext <p> * Using the <code>ClientContext</code> you can pass * client-specific information to the Lambda function you are * invoking. You can then process the client information in your * Lambda function as you choose through the context variable. * For an example of a <code>ClientContext</code> JSON, see <a * href= * "http://docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html" * >PutEvents</a> in the <i>Amazon Mobile Analytics API Reference * and User Guide</i>. * </p> * <p> * The ClientContext JSON must be base64-encoded. * </p> */ public void setClientContext(String clientContext) { this.clientContext = clientContext; } /** * <p> * Using the <code>ClientContext</code> you can pass client-specific * information to the Lambda function you are invoking. You can then process * the client information in your Lambda function as you choose through the * context variable. For an example of a <code>ClientContext</code> JSON, * see <a href= * "http://docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html" * >PutEvents</a> in the <i>Amazon Mobile Analytics API Reference and User * Guide</i>. * </p> * <p> * The ClientContext JSON must be base64-encoded. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * * @param clientContext <p> * Using the <code>ClientContext</code> you can pass * client-specific information to the Lambda function you are * invoking. You can then process the client information in your * Lambda function as you choose through the context variable. * For an example of a <code>ClientContext</code> JSON, see <a * href= * "http://docs.aws.amazon.com/mobileanalytics/latest/ug/PutEvents.html" * >PutEvents</a> in the <i>Amazon Mobile Analytics API Reference * and User Guide</i>. * </p> * <p> * The ClientContext JSON must be base64-encoded. * </p> * @return A reference to this updated object so that method calls can be * chained together. */ public InvokeRequest withClientContext(String clientContext) { this.clientContext = clientContext; return this; } /** * <p> * JSON that you want to provide to your Lambda function as input. * </p> * * @return <p> * JSON that you want to provide to your Lambda function as input. * </p> */ public java.nio.ByteBuffer getPayload() { return payload; } /** * <p> * JSON that you want to provide to your Lambda function as input. * </p> * * @param payload <p> * JSON that you want to provide to your Lambda function as * input. * </p> */ public void setPayload(java.nio.ByteBuffer payload) { this.payload = payload; } /** * <p> * JSON that you want to provide to your Lambda function as input. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * * @param payload <p> * JSON that you want to provide to your Lambda function as * input. * </p> * @return A reference to this updated object so that method calls can be * chained together. */ public InvokeRequest withPayload(java.nio.ByteBuffer payload) { this.payload = payload; return this; } /** * <p> * You can use this optional parameter to specify a Lambda function version * or alias name. If you specify a function version, the API uses the * qualified function ARN to invoke a specific Lambda function. If you * specify an alias name, the API uses the alias ARN to invoke the Lambda * function version to which the alias points. * </p> * <p> * If you don't provide this parameter, then the API uses unqualified * function ARN which results in invocation of the <code>$LATEST</code> * version. * </p> * <p> * <b>Constraints:</b><br/> * <b>Length: </b>1 - 128<br/> * <b>Pattern: </b>(|[a-zA-Z0-9$_-]+)<br/> * * @return <p> * You can use this optional parameter to specify a Lambda function * version or alias name. If you specify a function version, the API * uses the qualified function ARN to invoke a specific Lambda * function. If you specify an alias name, the API uses the alias * ARN to invoke the Lambda function version to which the alias * points. * </p> * <p> * If you don't provide this parameter, then the API uses * unqualified function ARN which results in invocation of the * <code>$LATEST</code> version. * </p> */ public String getQualifier() { return qualifier; } /** * <p> * You can use this optional parameter to specify a Lambda function version * or alias name. If you specify a function version, the API uses the * qualified function ARN to invoke a specific Lambda function. If you * specify an alias name, the API uses the alias ARN to invoke the Lambda * function version to which the alias points. * </p> * <p> * If you don't provide this parameter, then the API uses unqualified * function ARN which results in invocation of the <code>$LATEST</code> * version. * </p> * <p> * <b>Constraints:</b><br/> * <b>Length: </b>1 - 128<br/> * <b>Pattern: </b>(|[a-zA-Z0-9$_-]+)<br/> * * @param qualifier <p> * You can use this optional parameter to specify a Lambda * function version or alias name. If you specify a function * version, the API uses the qualified function ARN to invoke a * specific Lambda function. If you specify an alias name, the * API uses the alias ARN to invoke the Lambda function version * to which the alias points. * </p> * <p> * If you don't provide this parameter, then the API uses * unqualified function ARN which results in invocation of the * <code>$LATEST</code> version. * </p> */ public void setQualifier(String qualifier) { this.qualifier = qualifier; } /** * <p> * You can use this optional parameter to specify a Lambda function version * or alias name. If you specify a function version, the API uses the * qualified function ARN to invoke a specific Lambda function. If you * specify an alias name, the API uses the alias ARN to invoke the Lambda * function version to which the alias points. * </p> * <p> * If you don't provide this parameter, then the API uses unqualified * function ARN which results in invocation of the <code>$LATEST</code> * version. * </p> * <p> * Returns a reference to this object so that method calls can be chained * together. * <p> * <b>Constraints:</b><br/> * <b>Length: </b>1 - 128<br/> * <b>Pattern: </b>(|[a-zA-Z0-9$_-]+)<br/> * * @param qualifier <p> * You can use this optional parameter to specify a Lambda * function version or alias name. If you specify a function * version, the API uses the qualified function ARN to invoke a * specific Lambda function. If you specify an alias name, the * API uses the alias ARN to invoke the Lambda function version * to which the alias points. * </p> * <p> * If you don't provide this parameter, then the API uses * unqualified function ARN which results in invocation of the * <code>$LATEST</code> version. * </p> * @return A reference to this updated object so that method calls can be * chained together. */ public InvokeRequest withQualifier(String qualifier) { this.qualifier = qualifier; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getFunctionName() != null) sb.append("FunctionName: " + getFunctionName() + ","); if (getInvocationType() != null) sb.append("InvocationType: " + getInvocationType() + ","); if (getLogType() != null) sb.append("LogType: " + getLogType() + ","); if (getClientContext() != null) sb.append("ClientContext: " + getClientContext() + ","); if (getPayload() != null) sb.append("Payload: " + getPayload() + ","); if (getQualifier() != null) sb.append("Qualifier: " + getQualifier()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getFunctionName() == null) ? 0 : getFunctionName().hashCode()); hashCode = prime * hashCode + ((getInvocationType() == null) ? 0 : getInvocationType().hashCode()); hashCode = prime * hashCode + ((getLogType() == null) ? 0 : getLogType().hashCode()); hashCode = prime * hashCode + ((getClientContext() == null) ? 0 : getClientContext().hashCode()); hashCode = prime * hashCode + ((getPayload() == null) ? 0 : getPayload().hashCode()); hashCode = prime * hashCode + ((getQualifier() == null) ? 0 : getQualifier().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof InvokeRequest == false) return false; InvokeRequest other = (InvokeRequest) obj; if (other.getFunctionName() == null ^ this.getFunctionName() == null) return false; if (other.getFunctionName() != null && other.getFunctionName().equals(this.getFunctionName()) == false) return false; if (other.getInvocationType() == null ^ this.getInvocationType() == null) return false; if (other.getInvocationType() != null && other.getInvocationType().equals(this.getInvocationType()) == false) return false; if (other.getLogType() == null ^ this.getLogType() == null) return false; if (other.getLogType() != null && other.getLogType().equals(this.getLogType()) == false) return false; if (other.getClientContext() == null ^ this.getClientContext() == null) return false; if (other.getClientContext() != null && other.getClientContext().equals(this.getClientContext()) == false) return false; if (other.getPayload() == null ^ this.getPayload() == null) return false; if (other.getPayload() != null && other.getPayload().equals(this.getPayload()) == false) return false; if (other.getQualifier() == null ^ this.getQualifier() == null) return false; if (other.getQualifier() != null && other.getQualifier().equals(this.getQualifier()) == false) return false; return true; } }