import { Value } from '../../../cloudformation/Value';
/**
  The <a href="https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html">deployment package</a> 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.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html">the AWS Docs</a>
*/
export interface CodeProps {
    /** <code>S3ObjectVersion</code>  <a name="cfn-lambda-function-code-s3objectversion"></a>
  For versioned objects, the version of the deployment package object to use.<br />
  
  Required: Conditional<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1024</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    s3ObjectVersion?: Value<string>;
    /** <code>S3Bucket</code>  <a name="cfn-lambda-function-code-s3bucket"></a>
  An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.<br />
  
  Required: Conditional<br />
  
  Minimum: <code>3</code><br />
  
  Maximum: <code>63</code><br />
  
  Pattern: <code>^[0-9A-Za-z\.\-_]*(?&lt;!\.)$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    s3Bucket?: Value<string>;
    /** <code>ZipFile</code>  <a name="cfn-lambda-function-code-zipfile"></a>
  (Node.js and Python) The source code of your Lambda function. If you include your function source inline with this parameter, AWS CloudFormation places it in a file named <code>index</code> and zips it to create a <a href="https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html">deployment package</a>. This zip file cannot exceed 4MB. For the <code>Handler</code> property, the first part of the handler identifier must be <code>index</code>. For example, <code>index.handler</code>.<br />
  For JSON, you must escape quotes and special characters such as newline (<code>\n</code>) with a backslash.<br />
  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 (<a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html">cfn-response</a>) that simplifies sending responses. See <a href="https://docs.aws.amazon.com/lambda/latest/dg/services-cloudformation.html">Using AWS Lambda with AWS CloudFormation</a> for details.<br />
  
  Required: Conditional<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    zipFile?: Value<string>;
    /** <code>S3Key</code>  <a name="cfn-lambda-function-code-s3key"></a>
  The Amazon S3 key of the deployment package.<br />
  
  Required: Conditional<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1024</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    s3Key?: Value<string>;
    /** <code>ImageUri</code>  <a name="cfn-lambda-function-code-imageuri"></a>
  URI of a <a href="https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html">container image</a> in the Amazon ECR registry.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    imageUri?: Value<string>;
}
