update_function_configuration - Boto3 1.38.13 documentation (original) (raw)

Lambda / Client / update_function_configuration

Lambda.Client.update_function_configuration(**kwargs)

Modify the version-specific settings of a Lambda function.

When you update a function, Lambda provisions an instance of the function and its supporting resources. If your function connects to a VPC, this process can take a minute. During this time, you can’t modify the function, but you can still invoke it. The LastUpdateStatus, LastUpdateStatusReason, and LastUpdateStatusReasonCode fields in the response from GetFunctionConfiguration indicate when the update is complete and the function is processing events with the new configuration. For more information, see Lambda function states.

These settings can vary between versions of a function and are locked when you publish a version. You can’t modify the configuration of a published version, only the unpublished version.

To configure function concurrency, use PutFunctionConcurrency. To grant invoke permissions to an Amazon Web Services account or Amazon Web Services service, use AddPermission.

See also: AWS API Documentation

Request Syntax

response = client.update_function_configuration( FunctionName='string', Role='string', Handler='string', Description='string', Timeout=123, MemorySize=123, VpcConfig={ 'SubnetIds': [ 'string', ], 'SecurityGroupIds': [ 'string', ], 'Ipv6AllowedForDualStack': True|False }, Environment={ 'Variables': { 'string': 'string' } }, Runtime='nodejs'|'nodejs4.3'|'nodejs6.10'|'nodejs8.10'|'nodejs10.x'|'nodejs12.x'|'nodejs14.x'|'nodejs16.x'|'java8'|'java8.al2'|'java11'|'python2.7'|'python3.6'|'python3.7'|'python3.8'|'python3.9'|'dotnetcore1.0'|'dotnetcore2.0'|'dotnetcore2.1'|'dotnetcore3.1'|'dotnet6'|'dotnet8'|'nodejs4.3-edge'|'go1.x'|'ruby2.5'|'ruby2.7'|'provided'|'provided.al2'|'nodejs18.x'|'python3.10'|'java17'|'ruby3.2'|'ruby3.3'|'ruby3.4'|'python3.11'|'nodejs20.x'|'provided.al2023'|'python3.12'|'java21'|'python3.13'|'nodejs22.x', DeadLetterConfig={ 'TargetArn': 'string' }, KMSKeyArn='string', TracingConfig={ 'Mode': 'Active'|'PassThrough' }, RevisionId='string', Layers=[ 'string', ], FileSystemConfigs=[ { 'Arn': 'string', 'LocalMountPath': 'string' }, ], ImageConfig={ 'EntryPoint': [ 'string', ], 'Command': [ 'string', ], 'WorkingDirectory': 'string' }, EphemeralStorage={ 'Size': 123 }, SnapStart={ 'ApplyOn': 'PublishedVersions'|'None' }, LoggingConfig={ 'LogFormat': 'JSON'|'Text', 'ApplicationLogLevel': 'TRACE'|'DEBUG'|'INFO'|'WARN'|'ERROR'|'FATAL', 'SystemLogLevel': 'DEBUG'|'INFO'|'WARN', 'LogGroup': 'string' } )

Parameters:

Name formats

Return type:

dict

Returns:

Response Syntax

{ 'FunctionName': 'string', 'FunctionArn': 'string', 'Runtime': 'nodejs'|'nodejs4.3'|'nodejs6.10'|'nodejs8.10'|'nodejs10.x'|'nodejs12.x'|'nodejs14.x'|'nodejs16.x'|'java8'|'java8.al2'|'java11'|'python2.7'|'python3.6'|'python3.7'|'python3.8'|'python3.9'|'dotnetcore1.0'|'dotnetcore2.0'|'dotnetcore2.1'|'dotnetcore3.1'|'dotnet6'|'dotnet8'|'nodejs4.3-edge'|'go1.x'|'ruby2.5'|'ruby2.7'|'provided'|'provided.al2'|'nodejs18.x'|'python3.10'|'java17'|'ruby3.2'|'ruby3.3'|'ruby3.4'|'python3.11'|'nodejs20.x'|'provided.al2023'|'python3.12'|'java21'|'python3.13'|'nodejs22.x', 'Role': 'string', 'Handler': 'string', 'CodeSize': 123, 'Description': 'string', 'Timeout': 123, 'MemorySize': 123, 'LastModified': 'string', 'CodeSha256': 'string', 'Version': 'string', 'VpcConfig': { 'SubnetIds': [ 'string', ], 'SecurityGroupIds': [ 'string', ], 'VpcId': 'string', 'Ipv6AllowedForDualStack': True|False }, 'DeadLetterConfig': { 'TargetArn': 'string' }, 'Environment': { 'Variables': { 'string': 'string' }, 'Error': { 'ErrorCode': 'string', 'Message': 'string' } }, 'KMSKeyArn': 'string', 'TracingConfig': { 'Mode': 'Active'|'PassThrough' }, 'MasterArn': 'string', 'RevisionId': 'string', 'Layers': [ { 'Arn': 'string', 'CodeSize': 123, 'SigningProfileVersionArn': 'string', 'SigningJobArn': 'string' }, ], 'State': 'Pending'|'Active'|'Inactive'|'Failed', 'StateReason': 'string', 'StateReasonCode': 'Idle'|'Creating'|'Restoring'|'EniLimitExceeded'|'InsufficientRolePermissions'|'InvalidConfiguration'|'InternalError'|'SubnetOutOfIPAddresses'|'InvalidSubnet'|'InvalidSecurityGroup'|'ImageDeleted'|'ImageAccessDenied'|'InvalidImage'|'KMSKeyAccessDenied'|'KMSKeyNotFound'|'InvalidStateKMSKey'|'DisabledKMSKey'|'EFSIOError'|'EFSMountConnectivityError'|'EFSMountFailure'|'EFSMountTimeout'|'InvalidRuntime'|'InvalidZipFileException'|'FunctionError', 'LastUpdateStatus': 'Successful'|'Failed'|'InProgress', 'LastUpdateStatusReason': 'string', 'LastUpdateStatusReasonCode': 'EniLimitExceeded'|'InsufficientRolePermissions'|'InvalidConfiguration'|'InternalError'|'SubnetOutOfIPAddresses'|'InvalidSubnet'|'InvalidSecurityGroup'|'ImageDeleted'|'ImageAccessDenied'|'InvalidImage'|'KMSKeyAccessDenied'|'KMSKeyNotFound'|'InvalidStateKMSKey'|'DisabledKMSKey'|'EFSIOError'|'EFSMountConnectivityError'|'EFSMountFailure'|'EFSMountTimeout'|'InvalidRuntime'|'InvalidZipFileException'|'FunctionError', 'FileSystemConfigs': [ { 'Arn': 'string', 'LocalMountPath': 'string' }, ], 'PackageType': 'Zip'|'Image', 'ImageConfigResponse': { 'ImageConfig': { 'EntryPoint': [ 'string', ], 'Command': [ 'string', ], 'WorkingDirectory': 'string' }, 'Error': { 'ErrorCode': 'string', 'Message': 'string' } }, 'SigningProfileVersionArn': 'string', 'SigningJobArn': 'string', 'Architectures': [ 'x86_64'|'arm64', ], 'EphemeralStorage': { 'Size': 123 }, 'SnapStart': { 'ApplyOn': 'PublishedVersions'|'None', 'OptimizationStatus': 'On'|'Off' }, 'RuntimeVersionConfig': { 'RuntimeVersionArn': 'string', 'Error': { 'ErrorCode': 'string', 'Message': 'string' } }, 'LoggingConfig': { 'LogFormat': 'JSON'|'Text', 'ApplicationLogLevel': 'TRACE'|'DEBUG'|'INFO'|'WARN'|'ERROR'|'FATAL', 'SystemLogLevel': 'DEBUG'|'INFO'|'WARN', 'LogGroup': 'string' } }

Response Structure

Exceptions

Examples

The following example modifies the memory size to be 256 MB for the unpublished ($LATEST) version of a function named my-function.

response = client.update_function_configuration( FunctionName='my-function', MemorySize=256, )

print(response)

Expected Output:

{ 'CodeSha256': 'PFn4S+er27qk+UuZSTKEQfNKG/XNn7QJs90mJgq6oH8=', 'CodeSize': 308, 'Description': '', 'FunctionArn': 'arn:aws:lambda:us-east-2:123456789012:function:my-function', 'FunctionName': 'my-function', 'Handler': 'index.handler', 'LastModified': '2019-08-14T22:26:11.234+0000', 'MemorySize': 256, 'RevisionId': '873282ed-xmpl-4dc8-a069-d0c647e470c6', 'Role': 'arn:aws:iam::123456789012:role/lambda-role', 'Runtime': 'nodejs12.x', 'Timeout': 3, 'TracingConfig': { 'Mode': 'PassThrough', }, 'Version': '$LATEST', 'ResponseMetadata': { '...': '...', }, }