FunctionCode

data class FunctionCode(val imageUri: String? = null, val s3Bucket: String? = null, val s3Key: String? = null, val s3ObjectVersion: String? = null, val sourceKmsKeyArn: String? = null, val zipFile: String? = null)

The deployment package for a Lambda function. To deploy a function defined as a container image, you specify the location of a container image in the Amazon ECR registry. For a .zip file deployment package, you can specify the location of an object in Amazon S3. For Node.js and Python functions, you can specify the function code inline in the template. When you specify source code inline for a Node.js function, the `index` file that CFN creates uses the extension `.js`. This means that LAM treats the file as a CommonJS module. ES modules aren't supported for inline functions. Changes to a deployment package in Amazon S3 or a container image in ECR are not detected automatically during stack updates. To update the function code, change the object key or version in the template.

Constructors

Link copied to clipboard
constructor(imageUri: String? = null, s3Bucket: String? = null, s3Key: String? = null, s3ObjectVersion: String? = null, sourceKmsKeyArn: String? = null, zipFile: String? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val imageUri: String? = null

URI of a container image in the Amazon ECR registry.

Link copied to clipboard
val s3Bucket: String? = null

An Amazon S3 bucket in the same AWS-Region as your function. The bucket can be in a different AWS-account.

Link copied to clipboard
val s3Key: String? = null

The Amazon S3 key of the deployment package.

Link copied to clipboard
val s3ObjectVersion: String? = null

For versioned objects, the version of the deployment package object to use.

Link copied to clipboard
val sourceKmsKeyArn: String? = null

The ARN of the KMSlong (KMS) customer managed key that's used to encrypt your function's .zip deployment package. If you don't provide a customer managed key, Lambda uses an owned key.

Link copied to clipboard
val zipFile: String? = null

(Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, CFN places it in a file named `index` and zips it to create a deployment package. This zip file cannot exceed 4MB. For the `Handler` property, the first part of the handler identifier must be `index`. For example, `index.handler`. When you specify source code inline for a Node.js function, the `index` file that CFN creates uses the extension `.js`. This means that LAM treats the file as a CommonJS module. ES modules aren't supported for inline functions. For JSON, you must escape quotes and special characters such as newline (`\n`) with a backslash. If you specify a function that interacts with an AWS CloudFormation custom resource, you don't have to write your own functions to send responses to the custom resource that invoked the function. AWS CloudFormation provides a response module (cfn-response) that simplifies sending responses. See Using Lambda with CloudFormation for details.