namespace Amazon.Lambda.Core { using System; /// /// Object that allows you to access useful information available within /// the Lambda execution environment. /// public interface ILambdaContext { /// /// The AWS request ID associated with the request. /// This is the same ID returned to the client that called invoke(). /// This ID is reused for retries on the same request. /// string AwsRequestId { get; } /// /// Information about the client application and device when invoked /// through the AWS Mobile SDK. It can be null. /// Client context provides client information such as client ID, /// application title, version name, version code, and the application /// package name. /// IClientContext ClientContext { get; } /// /// Name of the Lambda function that is running. /// string FunctionName { get; } /// /// The Lambda function version that is executing. /// If an alias is used to invoke the function, then this will be /// the version the alias points to. /// string FunctionVersion { get; } /// /// Information about the Amazon Cognito identity provider when /// invoked through the AWS Mobile SDK. /// Can be null. /// ICognitoIdentity Identity { get; } /// /// The ARN used to invoke this function. /// It can be function ARN or alias ARN. /// An unqualified ARN executes the $LATEST version and aliases execute /// the function version they are pointing to. /// string InvokedFunctionArn { get; } /// /// Lambda logger associated with the Context object. /// ILambdaLogger Logger { get; } /// /// The CloudWatch log group name associated with the invoked function. /// It can be null if the IAM user provided does not have permission for /// CloudWatch actions. /// string LogGroupName { get; } /// /// The CloudWatch log stream name for this function execution. /// It can be null if the IAM user provided does not have permission /// for CloudWatch actions. /// string LogStreamName { get; } /// /// Memory limit, in MB, you configured for the Lambda function. /// int MemoryLimitInMB { get; } /// /// Remaining execution time till the function will be terminated. /// At the time you create the Lambda function you set maximum time /// limit, at which time AWS Lambda will terminate the function /// execution. /// Information about the remaining time of function execution can be /// used to specify function behavior when nearing the timeout. /// TimeSpan RemainingTime { get; } } }