% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/lambda_operations.R
\name{lambda_update_function_configuration}
\alias{lambda_update_function_configuration}
\title{Modify the version-specific settings of a Lambda function}
\usage{
lambda_update_function_configuration(FunctionName, Role, Handler,
  Description, Timeout, MemorySize, VpcConfig, Environment, Runtime,
  DeadLetterConfig, KMSKeyArn, TracingConfig, RevisionId, Layers,
  FileSystemConfigs, ImageConfig)
}
\arguments{
\item{FunctionName}{[required] The name of the Lambda function.

\strong{Name formats}
\itemize{
\item \strong{Function name} - \verb{my-function}.
\item \strong{Function ARN} -
\verb{arn:aws:lambda:us-west-2:123456789012:function:my-function}.
\item \strong{Partial ARN} - \verb{123456789012:function:my-function}.
}

The length constraint applies only to the full ARN. If you specify only
the function name, it is limited to 64 characters in length.}

\item{Role}{The Amazon Resource Name (ARN) of the function's execution role.}

\item{Handler}{The name of the method within your code that Lambda calls to execute
your function. The format includes the file name. It can also include
namespaces and other qualifiers, depending on the runtime. For more
information, see \href{https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-features.html}{Programming Model}.}

\item{Description}{A description of the function.}

\item{Timeout}{The amount of time that Lambda allows a function to run before stopping
it. The default is 3 seconds. The maximum allowed value is 900 seconds.}

\item{MemorySize}{The amount of memory available to the function at runtime. Increasing
the function's memory also increases its CPU allocation. The default
value is 128 MB. The value can be any multiple of 1 MB.}

\item{VpcConfig}{For network connectivity to AWS resources in a VPC, specify a list of
security groups and subnets in the VPC. When you connect a function to a
VPC, it can only access resources and the internet through that VPC. For
more information, see \href{https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html}{VPC Settings}.}

\item{Environment}{Environment variables that are accessible from function code during
execution.}

\item{Runtime}{The identifier of the function's
\href{https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html}{runtime}.}

\item{DeadLetterConfig}{A dead letter queue configuration that specifies the queue or topic
where Lambda sends asynchronous events when they fail processing. For
more information, see \href{https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#dlq}{Dead Letter Queues}.}

\item{KMSKeyArn}{The ARN of the AWS Key Management Service (AWS KMS) key that's used to
encrypt your function's environment variables. If it's not provided, AWS
Lambda uses a default service key.}

\item{TracingConfig}{Set \code{Mode} to \code{Active} to sample and trace a subset of incoming requests
with AWS X-Ray.}

\item{RevisionId}{Only update the function if the revision ID matches the ID that's
specified. Use this option to avoid modifying a function that has
changed since you last read it.}

\item{Layers}{A list of \href{https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html}{function layers}
to add to the function's execution environment. Specify each layer by
its ARN, including the version.}

\item{FileSystemConfigs}{Connection settings for an Amazon EFS file system.}

\item{ImageConfig}{Configuration values that override the container image Dockerfile.}
}
\value{
A list with the following syntax:\preformatted{list(
  FunctionName = "string",
  FunctionArn = "string",
  Runtime = "nodejs"|"nodejs4.3"|"nodejs6.10"|"nodejs8.10"|"nodejs10.x"|"nodejs12.x"|"java8"|"java8.al2"|"java11"|"python2.7"|"python3.6"|"python3.7"|"python3.8"|"dotnetcore1.0"|"dotnetcore2.0"|"dotnetcore2.1"|"dotnetcore3.1"|"nodejs4.3-edge"|"go1.x"|"ruby2.5"|"ruby2.7"|"provided"|"provided.al2",
  Role = "string",
  Handler = "string",
  CodeSize = 123,
  Description = "string",
  Timeout = 123,
  MemorySize = 123,
  LastModified = "string",
  CodeSha256 = "string",
  Version = "string",
  VpcConfig = list(
    SubnetIds = list(
      "string"
    ),
    SecurityGroupIds = list(
      "string"
    ),
    VpcId = "string"
  ),
  DeadLetterConfig = list(
    TargetArn = "string"
  ),
  Environment = list(
    Variables = list(
      "string"
    ),
    Error = list(
      ErrorCode = "string",
      Message = "string"
    )
  ),
  KMSKeyArn = "string",
  TracingConfig = list(
    Mode = "Active"|"PassThrough"
  ),
  MasterArn = "string",
  RevisionId = "string",
  Layers = list(
    list(
      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",
  LastUpdateStatus = "Successful"|"Failed"|"InProgress",
  LastUpdateStatusReason = "string",
  LastUpdateStatusReasonCode = "EniLimitExceeded"|"InsufficientRolePermissions"|"InvalidConfiguration"|"InternalError"|"SubnetOutOfIPAddresses"|"InvalidSubnet"|"InvalidSecurityGroup"|"ImageDeleted"|"ImageAccessDenied"|"InvalidImage",
  FileSystemConfigs = list(
    list(
      Arn = "string",
      LocalMountPath = "string"
    )
  ),
  PackageType = "Zip"|"Image",
  ImageConfigResponse = list(
    ImageConfig = list(
      EntryPoint = list(
        "string"
      ),
      Command = list(
        "string"
      ),
      WorkingDirectory = "string"
    ),
    Error = list(
      ErrorCode = "string",
      Message = "string"
    )
  ),
  SigningProfileVersionArn = "string",
  SigningJobArn = "string"
)
}
}
\description{
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 \code{LastUpdateStatus},
\code{LastUpdateStatusReason}, and \code{LastUpdateStatusReasonCode} fields in the
response from
\code{\link[=lambda_get_function_configuration]{get_function_configuration}}
indicate when the update is complete and the function is processing
events with the new configuration. For more information, see \href{https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html}{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
\code{\link[=lambda_put_function_concurrency]{put_function_concurrency}}. To grant
invoke permissions to an account or AWS service, use
\code{\link[=lambda_add_permission]{add_permission}}.
}
\section{Request syntax}{
\preformatted{svc$update_function_configuration(
  FunctionName = "string",
  Role = "string",
  Handler = "string",
  Description = "string",
  Timeout = 123,
  MemorySize = 123,
  VpcConfig = list(
    SubnetIds = list(
      "string"
    ),
    SecurityGroupIds = list(
      "string"
    )
  ),
  Environment = list(
    Variables = list(
      "string"
    )
  ),
  Runtime = "nodejs"|"nodejs4.3"|"nodejs6.10"|"nodejs8.10"|"nodejs10.x"|"nodejs12.x"|"java8"|"java8.al2"|"java11"|"python2.7"|"python3.6"|"python3.7"|"python3.8"|"dotnetcore1.0"|"dotnetcore2.0"|"dotnetcore2.1"|"dotnetcore3.1"|"nodejs4.3-edge"|"go1.x"|"ruby2.5"|"ruby2.7"|"provided"|"provided.al2",
  DeadLetterConfig = list(
    TargetArn = "string"
  ),
  KMSKeyArn = "string",
  TracingConfig = list(
    Mode = "Active"|"PassThrough"
  ),
  RevisionId = "string",
  Layers = list(
    "string"
  ),
  FileSystemConfigs = list(
    list(
      Arn = "string",
      LocalMountPath = "string"
    )
  ),
  ImageConfig = list(
    EntryPoint = list(
      "string"
    ),
    Command = list(
      "string"
    ),
    WorkingDirectory = "string"
  )
)
}
}

\examples{
\dontrun{
# The following example modifies the memory size to be 256 MB for the
# unpublished ($LATEST) version of a function named my-function.
svc$update_function_configuration(
  FunctionName = "my-function",
  MemorySize = 256L
)
}

}
\keyword{internal}
