Record Class InvocationEndInfo

java.lang.Object
java.lang.Record
software.amazon.lambda.durable.plugin.InvocationEndInfo
Record Components:
requestId - the Lambda request ID for this invocation
durableExecutionArn - the durable execution ARN
isFirstInvocation - true if this is the first invocation of the execution
invocationStatus - the invocation outcome (SUCCEEDED, FAILED, or PENDING)
executionError - non-null if the execution failed; this component is experimental
executionInput - the deserialized execution input passed to the user handler, or null when no plugins are registered or the input could not be deserialized; this component is experimental
executionResult - the value the user handler returned, or null unless the invocation completed the execution successfully; this component is experimental

public record InvocationEndInfo(String requestId, String durableExecutionArn, boolean isFirstInvocation, InvocationStatus invocationStatus, @Experimental Throwable executionError, @Experimental Object executionInput, @Experimental Object executionResult) extends Record
Information provided at the end of a Lambda invocation.
  • Constructor Details

    • InvocationEndInfo

      public InvocationEndInfo(String requestId, String durableExecutionArn, boolean isFirstInvocation, InvocationStatus invocationStatus, Throwable executionError)
      Creates invocation-end information without the execution input or result.

      Retained so callers written before executionInput and executionResult were added keep compiling; both resolve to null.

      Parameters:
      requestId - the Lambda request ID for this invocation
      durableExecutionArn - the durable execution ARN
      isFirstInvocation - true if this is the first invocation of the execution
      invocationStatus - the invocation outcome
      executionError - non-null if the execution failed
    • InvocationEndInfo

      public InvocationEndInfo(String requestId, String durableExecutionArn, boolean isFirstInvocation, InvocationStatus invocationStatus, @Experimental Throwable executionError, @Experimental Object executionInput, @Experimental Object executionResult)
      Creates an instance of a InvocationEndInfo record class.
      Parameters:
      requestId - the value for the requestId record component
      durableExecutionArn - the value for the durableExecutionArn record component
      isFirstInvocation - the value for the isFirstInvocation record component
      invocationStatus - the value for the invocationStatus record component
      executionError - the value for the executionError record component
      executionInput - the value for the executionInput record component
      executionResult - the value for the executionResult record component
  • Method Details

    • toString

      public String toString()
      Returns a representation that omits executionInput and executionResult.

      The generated representation would render both payloads, so plugins that log this object whole would start emitting customer inputs and results, potentially including secrets or personal data. Read the components explicitly to record them.

      Specified by:
      toString in class Record
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • requestId

      public String requestId()
      Returns the value of the requestId record component.
      Returns:
      the value of the requestId record component
    • durableExecutionArn

      public String durableExecutionArn()
      Returns the value of the durableExecutionArn record component.
      Returns:
      the value of the durableExecutionArn record component
    • isFirstInvocation

      public boolean isFirstInvocation()
      Returns the value of the isFirstInvocation record component.
      Returns:
      the value of the isFirstInvocation record component
    • invocationStatus

      public InvocationStatus invocationStatus()
      Returns the value of the invocationStatus record component.
      Returns:
      the value of the invocationStatus record component
    • executionError

      @Experimental public Throwable executionError()
      Returns the value of the executionError record component.
      Returns:
      the value of the executionError record component
    • executionInput

      @Experimental public Object executionInput()
      Returns the value of the executionInput record component.
      Returns:
      the value of the executionInput record component
    • executionResult

      @Experimental public Object executionResult()
      Returns the value of the executionResult record component.
      Returns:
      the value of the executionResult record component