{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/CreateFunctionRequest",
"title": "CreateFunctionRequest",
"type": "object",
"required": [
"FunctionName",
"Role",
"Code"
],
"properties": {
"FunctionName": {
"allOf": [
{
"$ref": "#/components/schemas/FunctionName"
},
{
"description": "<p>The name of the Lambda function.</p> <p class=\"title\"> <b>Name formats</b> </p> <ul> <li> <p> <b>Function name</b> \u00e2\u20ac\u201c <code>my-function</code>.</p> </li> <li> <p> <b>Function ARN</b> \u00e2\u20ac\u201c <code>arn:aws:lambda:us-west-2:123456789012:function:my-function</code>.</p> </li> <li> <p> <b>Partial ARN</b> \u00e2\u20ac\u201c <code>123456789012:function:my-function</code>.</p> </li> </ul> <p>The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.</p>"
}
]
},
"Runtime": {
"allOf": [
{
"$ref": "#/components/schemas/Runtime"
},
{
"description": "<p>The identifier of the function's <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html\">runtime</a>. Runtime is required if the deployment package is a .zip file archive.</p> <p>The following list includes deprecated runtimes. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy\">Runtime deprecation policy</a>.</p>"
}
]
},
"Role": {
"allOf": [
{
"$ref": "#/components/schemas/RoleArn"
},
{
"description": "The Amazon Resource Name (ARN) of the function's execution role."
}
]
},
"Handler": {
"allOf": [
{
"$ref": "#/components/schemas/Handler"
},
{
"description": "The name of the method within your code that Lambda calls to run your function. Handler is required if the deployment package is a .zip file archive. The format includes the file name. It can also include namespaces and other qualifiers, depending on the runtime. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/foundation-progmodel.html\">Lambda programming model</a>."
}
]
},
"Code": {
"allOf": [
{
"$ref": "#/components/schemas/FunctionCode"
},
{
"description": "The code for the function."
}
]
},
"Description": {
"allOf": [
{
"$ref": "#/components/schemas/Description"
},
{
"description": "A description of the function."
}
]
},
"Timeout": {
"allOf": [
{
"$ref": "#/components/schemas/Timeout"
},
{
"description": "The amount of time (in seconds) that Lambda allows a function to run before stopping it. The default is 3 seconds. The maximum allowed value is 900 seconds. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html\">Lambda execution environment</a>."
}
]
},
"MemorySize": {
"allOf": [
{
"$ref": "#/components/schemas/MemorySize"
},
{
"description": "The amount of <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console\">memory available to the function</a> at runtime. Increasing the function memory also increases its CPU allocation. The default value is 128 MB. The value can be any multiple of 1 MB."
}
]
},
"Publish": {
"allOf": [
{
"$ref": "#/components/schemas/Boolean"
},
{
"description": "Set to true to publish the first version of the function during creation."
}
]
},
"VpcConfig": {
"allOf": [
{
"$ref": "#/components/schemas/VpcConfig"
},
{
"description": "For network connectivity to Amazon Web Services 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 access resources and the internet only through that VPC. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html\">Configuring a Lambda function to access resources in a VPC</a>."
}
]
},
"PackageType": {
"allOf": [
{
"$ref": "#/components/schemas/PackageType"
},
{
"description": "The type of deployment package. Set to <code>Image</code> for container image and set to <code>Zip</code> for .zip file archive."
}
]
},
"DeadLetterConfig": {
"allOf": [
{
"$ref": "#/components/schemas/DeadLetterConfig"
},
{
"description": "A dead-letter queue configuration that specifies the queue or topic where Lambda sends asynchronous events when they fail processing. For more information, see <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq\">Dead-letter queues</a>."
}
]
},
"Environment": {
"allOf": [
{
"$ref": "#/components/schemas/Environment"
},
{
"description": "Environment variables that are accessible from function code during execution."
}
]
},
"KMSKeyArn": {
"allOf": [
{
"$ref": "#/components/schemas/KMSKeyArn"
},
{
"description": "The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption\">environment variables</a>. When <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html\">Lambda SnapStart</a> is activated, this key is also used to encrypt your function's snapshot. If you don't provide a customer managed key, Lambda uses a default service key."
}
]
},
"TracingConfig": {
"allOf": [
{
"$ref": "#/components/schemas/TracingConfig"
},
{
"description": "Set <code>Mode</code> to <code>Active</code> to sample and trace a subset of incoming requests with <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/services-xray.html\">X-Ray</a>."
}
]
},
"Tags": {
"allOf": [
{
"$ref": "#/components/schemas/Tags"
},
{
"description": "A list of <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/tagging.html\">tags</a> to apply to the function."
}
]
},
"Layers": {
"allOf": [
{
"$ref": "#/components/schemas/LayerList"
},
{
"description": "A list of <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html\">function layers</a> to add to the function's execution environment. Specify each layer by its ARN, including the version."
}
]
},
"FileSystemConfigs": {
"allOf": [
{
"$ref": "#/components/schemas/FileSystemConfigList"
},
{
"description": "Connection settings for an Amazon EFS file system."
}
]
},
"ImageConfig": {
"allOf": [
{
"$ref": "#/components/schemas/ImageConfig"
},
{
"description": "Container image <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/configuration-images.html#configuration-images-settings\">configuration values</a> that override the values in the container image Dockerfile."
}
]
},
"CodeSigningConfigArn": {
"allOf": [
{
"$ref": "#/components/schemas/CodeSigningConfigArn"
},
{
"description": "To enable code signing for this function, specify the ARN of a code-signing configuration. A code-signing configuration includes a set of signing profiles, which define the trusted publishers for this function."
}
]
},
"Architectures": {
"allOf": [
{
"$ref": "#/components/schemas/ArchitecturesList"
},
{
"description": "The instruction set architecture that the function supports. Enter a string array with one of the valid values (arm64 or x86_64). The default value is <code>x86_64</code>."
}
]
},
"EphemeralStorage": {
"allOf": [
{
"$ref": "#/components/schemas/EphemeralStorage"
},
{
"description": "The size of the function's <code>/tmp</code> directory in MB. The default value is 512, but can be any whole number between 512 and 10,240 MB."
}
]
},
"SnapStart": {
"allOf": [
{
"$ref": "#/components/schemas/SnapStart"
},
{
"description": "The function's <a href=\"https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html\">SnapStart</a> setting."
}
]
}
}
}