in chalice/local.py [0:0]
def __init__(self, function_name: str, memory_size: int,
max_runtime_ms: int = 3000,
time_source: Optional[Clock] = None) -> None:
if time_source is None:
time_source = Clock()
self._time_source = time_source
self._start_time = self._current_time_millis()
self._max_runtime = max_runtime_ms
# Below are properties that are found on the real LambdaContext passed
# by lambda and their associated documentation.
# Name of the Lambda function that is executing.
self.function_name = function_name
# The Lambda function version that is executing. If an alias is used
# to invoke the function, then function_version will be the version
# the alias points to.
# Chalice local obviously does not support versioning so it will always
# be set to $LATEST.
self.function_version = '$LATEST'
# 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 it is pointing to.
self.invoked_function_arn = ''
# Memory limit, in MB, you configured for the Lambda function. You set
# the memory limit at the time you create a Lambda function and you
# can change it later.
self.memory_limit_in_mb = memory_size
# AWS request ID associated with the request. This is the ID returned
# to the client that called the invoke method.
self.aws_request_id = str(uuid.uuid4())
# The name of the CloudWatch log group where you can find logs written
# by your Lambda function.
self.log_group_name = ''
# The name of the CloudWatch log stream where you can find logs
# written by your Lambda function. The log stream may or may not
# change for each invocation of the Lambda function.
#
# The value is null if your Lambda function is unable to create a log
# stream, which can happen if the execution role that grants necessary
# permissions to the Lambda function does not include permissions for
# the CloudWatch Logs actions.
self.log_stream_name = ''
# The last two attributes have the following comment in the
# documentation:
# Information about the client application and device when invoked
# through the AWS Mobile SDK, it can be null.
# Chalice local doens't need to set these since they are specifically
# for the mobile SDK.
self.identity = None
self.client_context = None