in syndicate/connection/lambda_connection.py [0:0]
def update_lambda_configuration(self, lambda_name, role=None, handler=None,
description=None, timeout=None,
memory_size=None, vpc_sub_nets=None,
vpc_security_group=None,
env_vars=None, runtime=None,
dead_letter_arn=None, kms_key_arn=None,
layers=None, ephemeral_storage=None,
snap_start: str = None):
params = dict(FunctionName=lambda_name)
if ephemeral_storage:
params['EphemeralStorage'] = {'Size': ephemeral_storage}
if layers is not None:
params['Layers'] = layers
if role:
params['Role'] = role
if handler:
params['Handler'] = handler
if description:
params['Description'] = description
if timeout:
params['Timeout'] = timeout
if memory_size:
params['MemorySize'] = memory_size
if vpc_sub_nets is not None:
params.setdefault('VpcConfig', {}).update({
'SubnetIds': _str_list_to_list(vpc_sub_nets, 'VPC_SUB_NETS')
})
if vpc_security_group is not None:
params.setdefault('VpcConfig', {}).update({
'SecurityGroupIds': _str_list_to_list(vpc_security_group,
'VPC_SECURITY_GROUPS')
})
env_vars = env_vars or {}
params['Environment'] = {'Variables': env_vars}
if runtime:
params['Runtime'] = runtime
if dead_letter_arn:
params['DeadLetterConfig'] = {'TargetArn': dead_letter_arn}
if kms_key_arn:
params['KMSKeyArn'] = kms_key_arn
if snap_start:
params['SnapStart'] = {
'ApplyOn': snap_start
}
return self.client.update_function_configuration(**params)