@awsless/awsless 0.0.554 → 0.0.556
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +20 -11
- package/dist/build-json-schema.js +6 -1
- package/dist/prebuild/icon/bundle.zip +0 -0
- package/dist/prebuild/image/bundle.zip +0 -0
- package/dist/prebuild/rpc/bundle.zip +0 -0
- package/dist/stack.json +1 -1
- package/package.json +14 -14
package/dist/stack.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$ref":"#/definitions/stack","definitions":{"stack":{"type":"object","properties":{"$schema":{"type":"string"},"name":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"Stack name.","markdownDescription":"Stack name."},"depends":{"type":"array","items":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$"},"description":"Define the stacks that this stack is depended on.","markdownDescription":"Define the stacks that this stack is depended on."},"commands":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},"handler":{"type":"string","default":"default","description":"The name of the handler that needs to run\n\n@default \"default\"\n\n@default \"default\"","markdownDescription":"The name of the handler that needs to run\n\n@default ```\"default\"```\n\n@default ```\"default\"```"},"description":{"type":"string","description":"A description of the command","markdownDescription":"A description of the command"}},"required":["file"],"additionalProperties":false},{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]}]},"description":"Define the custom commands for your stack.","markdownDescription":"Define the custom commands for your stack."},"rest":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]}},"description":"Define routes in your stack for your global REST API.","markdownDescription":"Define routes in your stack for your global REST API."},"rpc":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]},"description":"The queries for your global RPC API.","markdownDescription":"The queries for your global RPC API."},"description":"Define the schema in your stack for your global RPC API.","markdownDescription":"Define the schema in your stack for your global RPC API."},"configs":{"type":"array","items":{"type":"string","pattern":"[a-z0-9\\-]"},"description":"Define the config values for your stack.","markdownDescription":"Define the config values for your stack."},"crons":{"type":"object","additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean","default":true,"description":"If the cron is enabled.\n\n@default true","markdownDescription":"If the cron is enabled.\n\n@default ```true```"},"consumer":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"The consuming lambda function properties.","markdownDescription":"The consuming lambda function properties."},"schedule":{"anyOf":[{},{}],"description":"The scheduling expression.\n\nexample: \"0 20 * * ? *\"\nexample: \"5 minutes\"","markdownDescription":"The scheduling expression.\n\nexample: \"0 20 * * ? *\"\nexample: \"5 minutes\""},"payload":{"description":"The JSON payload that will be passed to the consumer.","markdownDescription":"The JSON payload that will be passed to the consumer."}},"required":["consumer","schedule"],"additionalProperties":false},"description":"Define the cron jobs in your stack.","markdownDescription":"Define the cron jobs in your stack."},"caches":{"type":"object","additionalProperties":{"type":"object","properties":{"minStorage":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The lower limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB.","markdownDescription":"The lower limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB."},"maxStorage":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The upper limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB.","markdownDescription":"The upper limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB."},"minECPU":{"type":"integer","minimum":1000,"maximum":15000000,"description":"The minimum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000.","markdownDescription":"The minimum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000."},"maxECPU":{"type":"integer","minimum":1000,"maximum":15000000,"description":"The maximum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000.","markdownDescription":"The maximum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000."},"snapshotRetentionLimit":{"type":"integer","exclusiveMinimum":0,"default":1}},"additionalProperties":false},"description":"Define the caches in your stack. For access to the cache put your functions inside the global VPC.","markdownDescription":"Define the caches in your stack. For access to the cache put your functions inside the global VPC."},"subscribers":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]},"description":"Define the event topics to subscribe too in your stack.","markdownDescription":"Define the event topics to subscribe too in your stack."},"functions":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]},"description":"Define the functions in your stack.","markdownDescription":"Define the functions in your stack."},"instances":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the instance code.","markdownDescription":"The file path of the instance code."}},"required":["file"],"additionalProperties":false}],"description":"Specify the code of your instance.","markdownDescription":"Specify the code of your instance."},"description":{"type":"string","description":"A description of the instance.","markdownDescription":"A description of the instance."},"image":{"type":"string","description":"The URL of the container image to use.","markdownDescription":"The URL of the container image to use."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"cpu":{"type":"number","enum":[0.25,0.5,1,2,4,8,16],"description":"The number of virtual CPU units (vCPU) used by the instance. Valid values: 0.25, 0.5, 1, 2, 4, 8, 16 vCPU.","markdownDescription":"The number of virtual CPU units (vCPU) used by the instance. Valid values: 0.25, 0.5, 1, 2, 4, 8, 16 vCPU."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory (in MiB) used by the instance. Valid memory values depend on the CPU configuration.","markdownDescription":"The amount of memory (in MiB) used by the instance. Valid memory values depend on the CPU configuration."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the instance supports.","markdownDescription":"The instruction set architecture that the instance supports."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your instance.","markdownDescription":"Add IAM permissions to your instance."},"healthCheck":{"type":"object","properties":{"path":{"type":"string","description":"The path that the container runs to determine if it is healthy.","markdownDescription":"The path that the container runs to determine if it is healthy."},"interval":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The time period in seconds between each health check execution.","markdownDescription":"The time period in seconds between each health check execution."},"retries":{"type":"integer","minimum":1,"maximum":10,"description":"The number of times to retry a failed health check before the container is considered unhealthy.","markdownDescription":"The number of times to retry a failed health check before the container is considered unhealthy."},"startPeriod":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries.","markdownDescription":"The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The time period in seconds to wait for a health check to succeed before it is considered a failure.","markdownDescription":"The time period in seconds to wait for a health check to succeed before it is considered a failure."}},"required":["path","interval","retries","startPeriod","timeout"],"additionalProperties":false,"description":"The health check command and associated configuration parameters for the container.","markdownDescription":"The health check command and associated configuration parameters for the container."}},"required":["code"],"additionalProperties":false}]},"description":"Define the instances in your stack.","markdownDescription":"Define the instances in your stack."},"tasks":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"consumer":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."}},"required":["consumer"],"additionalProperties":false}]},"description":"Define the tasks in your stack.","markdownDescription":"Define the tasks in your stack."},"tables":{"type":"object","additionalProperties":{"type":"object","properties":{"hash":{"type":"string","minLength":1,"maxLength":255,"description":"Specifies the name of the partition / hash key that makes up the primary key for the table.","markdownDescription":"Specifies the name of the partition / hash key that makes up the primary key for the table."},"sort":{"type":"string","minLength":1,"maxLength":255,"description":"Specifies the name of the range / sort key that makes up the primary key for the table.","markdownDescription":"Specifies the name of the range / sort key that makes up the primary key for the table."},"fields":{"type":"object","additionalProperties":{"type":"string","enum":["string","number","binary"]},"description":"A list of attributes that describe the key schema for the table and indexes. If no attribute field is defined we default to \"string\".","markdownDescription":"A list of attributes that describe the key schema for the table and indexes. If no attribute field is defined we default to \"string\"."},"class":{"type":"string","enum":["standard","standard-infrequent-access"],"default":"standard","description":"The table class of the table.\n\n@default \"standard\"","markdownDescription":"The table class of the table.\n\n@default ```\"standard\"```"},"pointInTimeRecovery":{"type":"boolean","default":false,"description":"Indicates whether point in time recovery is enabled on the table.\n\n@default false","markdownDescription":"Indicates whether point in time recovery is enabled on the table.\n\n@default ```false```"},"ttl":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the TTL attribute used to store the expiration time for items in the table.\nTo update this property, you must first disable TTL and then enable TTL with the new attribute name.","markdownDescription":"The name of the TTL attribute used to store the expiration time for items in the table.\nTo update this property, you must first disable TTL and then enable TTL with the new attribute name."},"stream":{"type":"object","properties":{"type":{"type":"string","enum":["keys-only","new-image","old-image","new-and-old-images"],"description":"When an item in the table is modified, you can determines what information is written to the stream for this table.\nValid values are:\n- keys-only - Only the key attributes of the modified item are written to the stream.\n- new-image - The entire item, as it appears after it was modified, is written to the stream.\n- old-image - The entire item, as it appeared before it was modified, is written to the stream.\n- new-and-old-images - Both the new and the old item images of the item are written to the stream.","markdownDescription":"When an item in the table is modified, you can determines what information is written to the stream for this table.\nValid values are:\n- keys-only - Only the key attributes of the modified item are written to the stream.\n- new-image - The entire item, as it appears after it was modified, is written to the stream.\n- old-image - The entire item, as it appeared before it was modified, is written to the stream.\n- new-and-old-images - Both the new and the old item images of the item are written to the stream."},"batchSize":{"type":"number","minimum":1,"maximum":10000,"default":1,"description":"The maximum number of records in each batch that Lambda pulls from your stream and sends to your function.\nLambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\nYou can specify a number from 1 to 10000.\n\n@default 1","markdownDescription":"The maximum number of records in each batch that Lambda pulls from your stream and sends to your function.\nLambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\nYou can specify a number from 1 to 10000.\n\n@default ```1```"},"batchWindow":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The maximum amount of time that is spend gathering records before invoking the function.\nYou can specify a duration from 1 seconds to 5 minutes.","markdownDescription":"The maximum amount of time that is spend gathering records before invoking the function.\nYou can specify a duration from 1 seconds to 5 minutes."},"retryAttempts":{"type":"number","minimum":-1,"maximum":10000,"default":-1,"description":"Discard records after the specified number of retries.\nThe default value is -1, which sets the maximum number of retries to infinite.\nWhen maxRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.\nYou can specify a number from -1 to 10000.\n\n@default -1","markdownDescription":"Discard records after the specified number of retries.\nThe default value is -1, which sets the maximum number of retries to infinite.\nWhen maxRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.\nYou can specify a number from -1 to 10000.\n\n@default ```-1```"},"concurrencyPerShard":{"type":"number","minimum":1,"maximum":10,"default":1,"description":"The number of batches to process concurrently from each shard.\nYou can specify a number from 1 to 10.\n\n@default 1","markdownDescription":"The number of batches to process concurrently from each shard.\nYou can specify a number from 1 to 10.\n\n@default ```1```"},"consumer":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"The consuming lambda function for the stream","markdownDescription":"The consuming lambda function for the stream"}},"required":["type","consumer"],"additionalProperties":false,"description":"The settings for the DynamoDB table stream, which capture changes to items stored in the table.","markdownDescription":"The settings for the DynamoDB table stream, which capture changes to items stored in the table."},"indexes":{"type":"object","additionalProperties":{"type":"object","properties":{"hash":{"type":"string","minLength":1,"maxLength":255,"description":"Specifies the name of the partition / hash key that makes up the primary key for the global secondary index.","markdownDescription":"Specifies the name of the partition / hash key that makes up the primary key for the global secondary index."},"sort":{"type":"string","minLength":1,"maxLength":255,"description":"Specifies the name of the range / sort key that makes up the primary key for the global secondary index.","markdownDescription":"Specifies the name of the range / sort key that makes up the primary key for the global secondary index."},"projection":{"type":"string","enum":["all","keys-only"],"default":"all","description":"The set of attributes that are projected into the index:\n- all - All of the table attributes are projected into the index.\n- keys-only - Only the index and primary keys are projected into the index.\n@default \"all\"\n\n@default \"all\"","markdownDescription":"The set of attributes that are projected into the index:\n- all - All of the table attributes are projected into the index.\n- keys-only - Only the index and primary keys are projected into the index.\n@default \"all\"\n\n@default ```\"all\"```"}},"required":["hash"],"additionalProperties":false},"description":"Specifies the global secondary indexes to be created on the table.","markdownDescription":"Specifies the global secondary indexes to be created on the table."}},"required":["hash"],"additionalProperties":false},"description":"Define the tables in your stack.","markdownDescription":"Define the tables in your stack."},"stores":{"anyOf":[{"type":"array","items":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$"}},{"type":"object","additionalProperties":{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to the static files directory.","markdownDescription":"Specifies the path to the static files directory."},"versioning":{"type":"boolean","default":false,"description":"Enable versioning of your store.\n\n@default false\n\n@default false","markdownDescription":"Enable versioning of your store.\n\n@default ```false```\n\n@default ```false```"},"events":{"type":"object","properties":{"created:*":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications regardless of the API that was used to create an object.","markdownDescription":"Subscribe to notifications regardless of the API that was used to create an object."},"created:put":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object is created using the PUT API operation.","markdownDescription":"Subscribe to notifications when an object is created using the PUT API operation."},"created:post":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object is created using the POST API operation.","markdownDescription":"Subscribe to notifications when an object is created using the POST API operation."},"created:copy":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object is created using the COPY API operation.","markdownDescription":"Subscribe to notifications when an object is created using the COPY API operation."},"created:upload":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object multipart upload has been completed.","markdownDescription":"Subscribe to notifications when an object multipart upload has been completed."},"removed:*":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object is deleted or a delete marker for a versioned object is created.","markdownDescription":"Subscribe to notifications when an object is deleted or a delete marker for a versioned object is created."},"removed:delete":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object is deleted","markdownDescription":"Subscribe to notifications when an object is deleted"},"removed:marker":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when a delete marker for a versioned object is created.","markdownDescription":"Subscribe to notifications when a delete marker for a versioned object is created."}},"additionalProperties":false,"description":"Describes the store events you want to subscribe too.","markdownDescription":"Describes the store events you want to subscribe too."}},"additionalProperties":false}}],"description":"Define the stores in your stack.","markdownDescription":"Define the stores in your stack."},"queues":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"consumer":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"The consuming lambda function properties.","markdownDescription":"The consuming lambda function properties."},"retentionPeriod":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The number of seconds that Amazon SQS retains a message. You can specify a duration from 1 minute to 14 days.","markdownDescription":"The number of seconds that Amazon SQS retains a message. You can specify a duration from 1 minute to 14 days."},"visibilityTimeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue. You can specify a duration from 0 to 12 hours.","markdownDescription":"The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue. You can specify a duration from 0 to 12 hours."},"deliveryDelay":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The time in seconds for which the delivery of all messages in the queue is delayed. You can specify a duration from 0 to 15 minutes.","markdownDescription":"The time in seconds for which the delivery of all messages in the queue is delayed. You can specify a duration from 0 to 15 minutes."},"receiveMessageWaitTime":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"Specifies the duration, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify a duration from 1 to 20 seconds. Short polling is used as the default.","markdownDescription":"Specifies the duration, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify a duration from 1 to 20 seconds. Short polling is used as the default."},"maxMessageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The limit of how many bytes that a message can contain before Amazon SQS rejects it. You can specify an size from 1 KB to 256 KB.","markdownDescription":"The limit of how many bytes that a message can contain before Amazon SQS rejects it. You can specify an size from 1 KB to 256 KB."},"batchSize":{"type":"integer","minimum":1,"maximum":10000,"description":"The maximum number of records in each batch that Lambda pulls from your queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB). You can specify an integer from 1 to 10000.","markdownDescription":"The maximum number of records in each batch that Lambda pulls from your queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB). You can specify an integer from 1 to 10000."},"maxConcurrency":{"type":"integer","minimum":2,"maximum":1000,"description":"Limits the number of concurrent instances that the queue worker can invoke. You can specify an integer from 2 to 1000.","markdownDescription":"Limits the number of concurrent instances that the queue worker can invoke. You can specify an integer from 2 to 1000."},"maxBatchingWindow":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The maximum amount of time, that Lambda spends gathering records before invoking the function. You can specify an duration from 0 seconds to 5 minutes.","markdownDescription":"The maximum amount of time, that Lambda spends gathering records before invoking the function. You can specify an duration from 0 seconds to 5 minutes."}},"required":["consumer"],"additionalProperties":false}]},"description":"Define the queues in your stack.","markdownDescription":"Define the queues in your stack."},"pubsub":{"type":"object","additionalProperties":{"type":"object","properties":{"sql":{"type":"string","description":"The SQL statement used to query the IOT topic.","markdownDescription":"The SQL statement used to query the IOT topic."},"sqlVersion":{"type":"string","enum":["2015-10-08","2016-03-23","beta"],"default":"2016-03-23","description":"The version of the SQL rules engine to use when evaluating the rule.\n\n@default \"2016-03-23\"","markdownDescription":"The version of the SQL rules engine to use when evaluating the rule.\n\n@default ```\"2016-03-23\"```"},"consumer":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"The consuming lambda function properties.","markdownDescription":"The consuming lambda function properties."}},"required":["sql","consumer"],"additionalProperties":false},"description":"Define the pubsub subscriber in your stack.","markdownDescription":"Define the pubsub subscriber in your stack."},"searchs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["t3.small","t3.medium","m3.medium","m3.large","m3.xlarge","m3.2xlarge","m4.large","m4.xlarge","m4.2xlarge","m4.4xlarge","m4.10xlarge","m5.large","m5.xlarge","m5.2xlarge","m5.4xlarge","m5.12xlarge","m5.24xlarge","r5.large","r5.xlarge","r5.2xlarge","r5.4xlarge","r5.12xlarge","r5.24xlarge","c5.large","c5.xlarge","c5.2xlarge","c5.4xlarge","c5.9xlarge","c5.18xlarge","or1.medium","or1.large","or1.xlarge","or1.2xlarge","or1.4xlarge","or1.8xlarge","or1.12xlarge","or1.16xlarge","ultrawarm1.medium","ultrawarm1.large","ultrawarm1.xlarge","r3.large","r3.xlarge","r3.2xlarge","r3.4xlarge","r3.8xlarge","i2.xlarge","i2.2xlarge","i3.large","i3.xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge","i3.16xlarge","r6g.large","r6g.xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.12xlarge","m6g.large","m6g.xlarge","m6g.2xlarge","m6g.4xlarge","m6g.8xlarge","m6g.12xlarge","r6gd.large","r6gd.xlarge","r6gd.2xlarge","r6gd.4xlarge","r6gd.8xlarge","r6gd.12xlarge","r6gd.16xlarge"]},{"type":"string"}],"description":"Instance type of data nodes in the cluster.","markdownDescription":"Instance type of data nodes in the cluster.","default":"t3.small"},"count":{"type":"integer","minimum":1,"description":"Number of instances in the cluster.\n\n@default 1","markdownDescription":"Number of instances in the cluster.\n\n@default ```1```","default":1},"version":{"anyOf":[{"type":"string","enum":["2.13","2.11","2.9","2.7","2.5","2.3","1.3"]},{"type":"string"}],"description":"Specify the OpenSearch engine version.","markdownDescription":"Specify the OpenSearch engine version.","default":"2.13"},"storage":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GiB.\n\n@default \"10 GB\"","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GiB.\n\n@default ```\"10 GB\"```","default":"10 GB"}},"additionalProperties":false},"description":"Define the search instances in your stack. Backed by OpenSearch.","markdownDescription":"Define the search instances in your stack. Backed by OpenSearch."},"sites":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your site with.","markdownDescription":"The domain id to link your site with."},"subDomain":{"type":"string"},"build":{"type":"object","properties":{"command":{"type":"string","description":"Specifies the files and directories to generate the cache key for your custom build command.","markdownDescription":"Specifies the files and directories to generate the cache key for your custom build command."},"cacheKey":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file or directory without checking if the file or directory exists.","markdownDescription":"Specifies a local file or directory without checking if the file or directory exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file or directory without checking if the file or directory exists.","markdownDescription":"Specifies a local file or directory without checking if the file or directory exists."}},"required":["nocheck"],"additionalProperties":false}]}}],"description":"Specifies the files and directories to generate the cache key for your custom build command.","markdownDescription":"Specifies the files and directories to generate the cache key for your custom build command."},"configs":{"type":"array","items":{"type":"string"},"description":"Define the config values for your build command.","markdownDescription":"Define the config values for your build command."}},"required":["command","cacheKey","configs"],"additionalProperties":false,"description":"Specifies the build process for sites that need a build step.","markdownDescription":"Specifies the build process for sites that need a build step."},"static":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"boolean"}],"description":"Specifies the path to the static files directory. Additionally you can also pass `true` when you don't have local static files, but still want to make an S3 bucket.","markdownDescription":"Specifies the path to the static files directory. Additionally you can also pass `true` when you don't have local static files, but still want to make an S3 bucket."},"ssr":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will render the site on the server.","markdownDescription":"Specifies the file that will render the site on the server."},"geoRestrictions":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2},"default":[],"description":"Specifies a blacklist of countries that should be blocked.\n\n@default []","markdownDescription":"Specifies a blacklist of countries that should be blocked.\n\n@default ```[]```"},"errors":{"type":"object","properties":{"400":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `400 Bad Request` response.","markdownDescription":"Customize a `400 Bad Request` response."},"403":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `403 Forbidden` response.","markdownDescription":"Customize a `403 Forbidden` response."},"404":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `404 Not Found` response.","markdownDescription":"Customize a `404 Not Found` response."},"405":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `405 Method Not Allowed` response.","markdownDescription":"Customize a `405 Method Not Allowed` response."},"414":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `414 Request-URI` response.","markdownDescription":"Customize a `414 Request-URI` response."},"416":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `416 Range Not` response.","markdownDescription":"Customize a `416 Range Not` response."},"500":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `500 Internal Server` response.","markdownDescription":"Customize a `500 Internal Server` response."},"501":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `501 Not Implemented` response.","markdownDescription":"Customize a `501 Not Implemented` response."},"502":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `502 Bad Gateway` response.","markdownDescription":"Customize a `502 Bad Gateway` response."},"503":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `503 Service Unavailable` response.","markdownDescription":"Customize a `503 Service Unavailable` response."},"504":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `504 Gateway Timeout` response.","markdownDescription":"Customize a `504 Gateway Timeout` response."}},"additionalProperties":false,"description":"Customize the error responses for specific HTTP status codes.","markdownDescription":"Customize the error responses for specific HTTP status codes."},"cors":{"type":"object","properties":{"override":{"type":"boolean","default":false},"maxAge":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","default":"365 days"},"exposeHeaders":{"type":"array","items":{"type":"string"}},"credentials":{"type":"boolean","default":false},"headers":{"type":"array","items":{"type":"string"},"default":["*"]},"origins":{"type":"array","items":{"type":"string"},"default":["*"]},"methods":{"type":"array","items":{"type":"string","enum":["GET","DELETE","HEAD","OPTIONS","PATCH","POST","PUT","ALL"]},"default":["ALL"]}},"additionalProperties":false,"description":"Specify the cors headers.","markdownDescription":"Specify the cors headers."},"auth":{"type":"object","properties":{"username":{"type":"string","description":"Basic auth username","markdownDescription":"Basic auth username"},"password":{"type":"string","description":"Basic auth password","markdownDescription":"Basic auth password"}},"required":["username","password"],"additionalProperties":false,"description":"Enable basic authentication for the site","markdownDescription":"Enable basic authentication for the site"},"security":{"type":"object","properties":{},"additionalProperties":false,"description":"Specify the security policy.","markdownDescription":"Specify the security policy."},"cache":{"type":"object","properties":{"cookies":{"type":"array","items":{"type":"string"},"description":"Specifies the cookies that CloudFront includes in the cache key.","markdownDescription":"Specifies the cookies that CloudFront includes in the cache key."},"headers":{"type":"array","items":{"type":"string"},"description":"Specifies the headers that CloudFront includes in the cache key.","markdownDescription":"Specifies the headers that CloudFront includes in the cache key."},"queries":{"type":"array","items":{"type":"string"},"description":"Specifies the query values that CloudFront includes in the cache key.","markdownDescription":"Specifies the query values that CloudFront includes in the cache key."}},"additionalProperties":false,"description":"Specifies the cookies, headers, and query values that CloudFront includes in the cache key.","markdownDescription":"Specifies the cookies, headers, and query values that CloudFront includes in the cache key."}},"additionalProperties":false},"description":"Define the sites in your stack.","markdownDescription":"Define the sites in your stack."},"tests":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}]}}],"description":"Define the location of your tests for your stack.","markdownDescription":"Define the location of your tests for your stack."},"images":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your site with.","markdownDescription":"The domain id to link your site with."},"subDomain":{"type":"string"},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"cacheDuration":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"Cache duration of the cached images.","markdownDescription":"Cache duration of the cached images."},"presets":{"type":"object","additionalProperties":{"type":"object","properties":{"width":{"type":"integer","exclusiveMinimum":0},"height":{"type":"integer","exclusiveMinimum":0},"fit":{"type":"string","enum":["cover","contain","fill","inside","outside"]},"position":{"type":"string","enum":["top","right top","right","right bottom","bottom","left bottom","left","left top","center"]},"quality":{"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"description":"Named presets for image transformations","markdownDescription":"Named presets for image transformations"},"extensions":{"type":"object","properties":{"jpeg":{"type":"object","properties":{"mozjpeg":{"type":"boolean"},"progressive":{"type":"boolean"}},"additionalProperties":false},"webp":{"type":"object","properties":{"effort":{"type":"integer","minimum":1,"maximum":10,"default":7},"lossless":{"type":"boolean"},"nearLossless":{"type":"boolean"}},"additionalProperties":false},"png":{"type":"object","properties":{"compressionLevel":{"type":"integer","minimum":0,"maximum":9,"default":6}},"additionalProperties":false}},"additionalProperties":false,"description":"Specify the allowed extensions.","markdownDescription":"Specify the allowed extensions."},"origin":{"anyOf":[{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["static"],"additionalProperties":false},{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["function"],"additionalProperties":false},{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["static","function"],"additionalProperties":false}],"description":"Specify the origin of your images. Image transformation will be applied from a base image. Base images can be loaded from a S3 bucket (that is synced from a local directory) or dynamicly from a lambda function.","markdownDescription":"Specify the origin of your images. Image transformation will be applied from a base image. Base images can be loaded from a S3 bucket (that is synced from a local directory) or dynamicly from a lambda function."},"version":{"type":"integer","minimum":1,"description":"Version of the image configuration.","markdownDescription":"Version of the image configuration."}},"required":["presets","extensions","origin"],"additionalProperties":false},"description":"Define an image proxy in your stack. Store, transform, optimize, and deliver images at scale.","markdownDescription":"Define an image proxy in your stack. Store, transform, optimize, and deliver images at scale."},"icons":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your site with.","markdownDescription":"The domain id to link your site with."},"subDomain":{"type":"string"},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"cacheDuration":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The cache duration of the cached icons.","markdownDescription":"The cache duration of the cached icons."},"preserveId":{"type":"boolean","default":false,"description":"Preserve the IDs of the icons.\n\n@default false","markdownDescription":"Preserve the IDs of the icons.\n\n@default ```false```"},"symbols":{"type":"boolean","default":false,"description":"Use SVG symbols for icons.\n\n@default false","markdownDescription":"Use SVG symbols for icons.\n\n@default ```false```"},"origin":{"anyOf":[{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["static"],"additionalProperties":false},{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["function"],"additionalProperties":false},{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["static","function"],"additionalProperties":false}],"description":"Image transformation will be applied from a base image. Base images orginates from a local directory that will be uploaded to S3 or from a lambda function.","markdownDescription":"Image transformation will be applied from a base image. Base images orginates from a local directory that will be uploaded to S3 or from a lambda function."},"cors":{"type":"object","properties":{"override":{"type":"boolean","default":true},"maxAge":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","default":"365 days"},"exposeHeaders":{"type":"array","items":{"type":"string"}},"credentials":{"type":"boolean","default":false},"headers":{"type":"array","items":{"type":"string"},"default":["*"]},"origins":{"type":"array","items":{"type":"string"},"default":["*"]}},"additionalProperties":false,"description":"Specify the cors headers.","markdownDescription":"Specify the cors headers."}},"required":["origin"],"additionalProperties":false},"description":"Define an icon proxy in your stack. Store, optimize, and deliver icons at scale.","markdownDescription":"Define an icon proxy in your stack. Store, optimize, and deliver icons at scale."},"metrics":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["number","size","duration"]},"alarms":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string"},"where":{"anyOf":[{"type":"string","pattern":"(count|avg|sum|min|max) (>|>=|<|<=) (\\d)"},{"type":"object","properties":{"stat":{"type":"string","enum":["count","avg","sum","min","max"]},"op":{"type":"string","enum":[">",">=","<","<="]},"value":{"type":"number"}},"required":["stat","op","value"],"additionalProperties":false}]},"period":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$"},"minDataPoints":{"type":"integer","default":1},"trigger":{"anyOf":[{"type":"string","format":"email"},{"type":"array","items":{"type":"string","format":"email"}},{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]}]}},"required":["where","period","trigger"],"additionalProperties":false}}},"required":["type"],"additionalProperties":false},"description":"Define the metrics in your stack.","markdownDescription":"Define the metrics in your stack."}},"required":["name"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#","title":"Awsless Stack Config"}
|
|
1
|
+
{"$ref":"#/definitions/stack","definitions":{"stack":{"type":"object","properties":{"$schema":{"type":"string"},"name":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"Stack name.","markdownDescription":"Stack name."},"depends":{"type":"array","items":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$"},"description":"Define the stacks that this stack is depended on.","markdownDescription":"Define the stacks that this stack is depended on."},"commands":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},"handler":{"type":"string","default":"default","description":"The name of the handler that needs to run\n\n@default \"default\"\n\n@default \"default\"","markdownDescription":"The name of the handler that needs to run\n\n@default ```\"default\"```\n\n@default ```\"default\"```"},"description":{"type":"string","description":"A description of the command","markdownDescription":"A description of the command"}},"required":["file"],"additionalProperties":false},{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]}]},"description":"Define the custom commands for your stack.","markdownDescription":"Define the custom commands for your stack."},"rest":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]}},"description":"Define routes in your stack for your global REST API.","markdownDescription":"Define routes in your stack for your global REST API."},"rpc":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]},"description":"The queries for your global RPC API.","markdownDescription":"The queries for your global RPC API."},"description":"Define the schema in your stack for your global RPC API.","markdownDescription":"Define the schema in your stack for your global RPC API."},"configs":{"type":"array","items":{"type":"string","pattern":"[a-z0-9\\-]"},"description":"Define the config values for your stack.","markdownDescription":"Define the config values for your stack."},"crons":{"type":"object","additionalProperties":{"type":"object","properties":{"enabled":{"type":"boolean","default":true,"description":"If the cron is enabled.\n\n@default true","markdownDescription":"If the cron is enabled.\n\n@default ```true```"},"consumer":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"The consuming lambda function properties.","markdownDescription":"The consuming lambda function properties."},"schedule":{"anyOf":[{},{}],"description":"The scheduling expression.\n\nexample: \"0 20 * * ? *\"\nexample: \"5 minutes\"","markdownDescription":"The scheduling expression.\n\nexample: \"0 20 * * ? *\"\nexample: \"5 minutes\""},"payload":{"description":"The JSON payload that will be passed to the consumer.","markdownDescription":"The JSON payload that will be passed to the consumer."}},"required":["consumer","schedule"],"additionalProperties":false},"description":"Define the cron jobs in your stack.","markdownDescription":"Define the cron jobs in your stack."},"caches":{"type":"object","additionalProperties":{"type":"object","properties":{"minStorage":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The lower limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB.","markdownDescription":"The lower limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB."},"maxStorage":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The upper limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB.","markdownDescription":"The upper limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB."},"minECPU":{"type":"integer","minimum":1000,"maximum":15000000,"description":"The minimum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000.","markdownDescription":"The minimum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000."},"maxECPU":{"type":"integer","minimum":1000,"maximum":15000000,"description":"The maximum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000.","markdownDescription":"The maximum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000."},"snapshotRetentionLimit":{"type":"integer","exclusiveMinimum":0,"default":1}},"additionalProperties":false},"description":"Define the caches in your stack. For access to the cache put your functions inside the global VPC.","markdownDescription":"Define the caches in your stack. For access to the cache put your functions inside the global VPC."},"subscribers":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]},"description":"Define the event topics to subscribe too in your stack.","markdownDescription":"Define the event topics to subscribe too in your stack."},"functions":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]},"description":"Define the functions in your stack.","markdownDescription":"Define the functions in your stack."},"instances":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the instance code.","markdownDescription":"The file path of the instance code."}},"required":["file"],"additionalProperties":false}],"description":"Specify the code of your instance.","markdownDescription":"Specify the code of your instance."},"description":{"type":"string","description":"A description of the instance.","markdownDescription":"A description of the instance."},"image":{"type":"string","description":"The URL of the container image to use.","markdownDescription":"The URL of the container image to use."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"cpu":{"type":"number","enum":[0.25,0.5,1,2,4,8,16],"description":"The number of virtual CPU units (vCPU) used by the instance. Valid values: 0.25, 0.5, 1, 2, 4, 8, 16 vCPU.","markdownDescription":"The number of virtual CPU units (vCPU) used by the instance. Valid values: 0.25, 0.5, 1, 2, 4, 8, 16 vCPU."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory (in MiB) used by the instance. Valid memory values depend on the CPU configuration.","markdownDescription":"The amount of memory (in MiB) used by the instance. Valid memory values depend on the CPU configuration."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the instance supports.","markdownDescription":"The instruction set architecture that the instance supports."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your instance.","markdownDescription":"Add IAM permissions to your instance."},"healthCheck":{"type":"object","properties":{"path":{"type":"string","description":"The path that the container runs to determine if it is healthy.","markdownDescription":"The path that the container runs to determine if it is healthy."},"interval":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The time period in seconds between each health check execution.","markdownDescription":"The time period in seconds between each health check execution."},"retries":{"type":"integer","minimum":1,"maximum":10,"description":"The number of times to retry a failed health check before the container is considered unhealthy.","markdownDescription":"The number of times to retry a failed health check before the container is considered unhealthy."},"startPeriod":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries.","markdownDescription":"The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The time period in seconds to wait for a health check to succeed before it is considered a failure.","markdownDescription":"The time period in seconds to wait for a health check to succeed before it is considered a failure."}},"required":["path","interval","retries","startPeriod","timeout"],"additionalProperties":false,"description":"The health check command and associated configuration parameters for the container.","markdownDescription":"The health check command and associated configuration parameters for the container."}},"required":["code"],"additionalProperties":false}]},"description":"Define the instances in your stack.","markdownDescription":"Define the instances in your stack."},"tasks":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"consumer":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."}},"required":["consumer"],"additionalProperties":false}]},"description":"Define the tasks in your stack.","markdownDescription":"Define the tasks in your stack."},"tables":{"type":"object","additionalProperties":{"type":"object","properties":{"hash":{"type":"string","minLength":1,"maxLength":255,"description":"Specifies the name of the partition / hash key that makes up the primary key for the table.","markdownDescription":"Specifies the name of the partition / hash key that makes up the primary key for the table."},"sort":{"type":"string","minLength":1,"maxLength":255,"description":"Specifies the name of the range / sort key that makes up the primary key for the table.","markdownDescription":"Specifies the name of the range / sort key that makes up the primary key for the table."},"fields":{"type":"object","additionalProperties":{"type":"string","enum":["string","number","binary"]},"description":"A list of attributes that describe the key schema for the table and indexes. If no attribute field is defined we default to \"string\".","markdownDescription":"A list of attributes that describe the key schema for the table and indexes. If no attribute field is defined we default to \"string\"."},"class":{"type":"string","enum":["standard","standard-infrequent-access"],"default":"standard","description":"The table class of the table.\n\n@default \"standard\"","markdownDescription":"The table class of the table.\n\n@default ```\"standard\"```"},"pointInTimeRecovery":{"type":"boolean","default":false,"description":"Indicates whether point in time recovery is enabled on the table.\n\n@default false","markdownDescription":"Indicates whether point in time recovery is enabled on the table.\n\n@default ```false```"},"ttl":{"type":"string","minLength":1,"maxLength":255,"description":"The name of the TTL attribute used to store the expiration time for items in the table.\nTo update this property, you must first disable TTL and then enable TTL with the new attribute name.","markdownDescription":"The name of the TTL attribute used to store the expiration time for items in the table.\nTo update this property, you must first disable TTL and then enable TTL with the new attribute name."},"stream":{"type":"object","properties":{"type":{"type":"string","enum":["keys-only","new-image","old-image","new-and-old-images"],"description":"When an item in the table is modified, you can determines what information is written to the stream for this table.\nValid values are:\n- keys-only - Only the key attributes of the modified item are written to the stream.\n- new-image - The entire item, as it appears after it was modified, is written to the stream.\n- old-image - The entire item, as it appeared before it was modified, is written to the stream.\n- new-and-old-images - Both the new and the old item images of the item are written to the stream.","markdownDescription":"When an item in the table is modified, you can determines what information is written to the stream for this table.\nValid values are:\n- keys-only - Only the key attributes of the modified item are written to the stream.\n- new-image - The entire item, as it appears after it was modified, is written to the stream.\n- old-image - The entire item, as it appeared before it was modified, is written to the stream.\n- new-and-old-images - Both the new and the old item images of the item are written to the stream."},"batchSize":{"type":"number","minimum":1,"maximum":10000,"default":1,"description":"The maximum number of records in each batch that Lambda pulls from your stream and sends to your function.\nLambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\nYou can specify a number from 1 to 10000.\n\n@default 1","markdownDescription":"The maximum number of records in each batch that Lambda pulls from your stream and sends to your function.\nLambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).\nYou can specify a number from 1 to 10000.\n\n@default ```1```"},"batchWindow":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The maximum amount of time that is spend gathering records before invoking the function.\nYou can specify a duration from 1 seconds to 5 minutes.","markdownDescription":"The maximum amount of time that is spend gathering records before invoking the function.\nYou can specify a duration from 1 seconds to 5 minutes."},"retryAttempts":{"type":"number","minimum":-1,"maximum":10000,"default":-1,"description":"Discard records after the specified number of retries.\nThe default value is -1, which sets the maximum number of retries to infinite.\nWhen maxRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.\nYou can specify a number from -1 to 10000.\n\n@default -1","markdownDescription":"Discard records after the specified number of retries.\nThe default value is -1, which sets the maximum number of retries to infinite.\nWhen maxRetryAttempts is infinite, Lambda retries failed records until the record expires in the event source.\nYou can specify a number from -1 to 10000.\n\n@default ```-1```"},"concurrencyPerShard":{"type":"number","minimum":1,"maximum":10,"default":1,"description":"The number of batches to process concurrently from each shard.\nYou can specify a number from 1 to 10.\n\n@default 1","markdownDescription":"The number of batches to process concurrently from each shard.\nYou can specify a number from 1 to 10.\n\n@default ```1```"},"consumer":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"The consuming lambda function for the stream","markdownDescription":"The consuming lambda function for the stream"}},"required":["type","consumer"],"additionalProperties":false,"description":"The settings for the DynamoDB table stream, which capture changes to items stored in the table.","markdownDescription":"The settings for the DynamoDB table stream, which capture changes to items stored in the table."},"indexes":{"type":"object","additionalProperties":{"type":"object","properties":{"hash":{"type":"string","minLength":1,"maxLength":255,"description":"Specifies the name of the partition / hash key that makes up the primary key for the global secondary index.","markdownDescription":"Specifies the name of the partition / hash key that makes up the primary key for the global secondary index."},"sort":{"type":"string","minLength":1,"maxLength":255,"description":"Specifies the name of the range / sort key that makes up the primary key for the global secondary index.","markdownDescription":"Specifies the name of the range / sort key that makes up the primary key for the global secondary index."},"projection":{"type":"string","enum":["all","keys-only"],"default":"all","description":"The set of attributes that are projected into the index:\n- all - All of the table attributes are projected into the index.\n- keys-only - Only the index and primary keys are projected into the index.\n@default \"all\"\n\n@default \"all\"","markdownDescription":"The set of attributes that are projected into the index:\n- all - All of the table attributes are projected into the index.\n- keys-only - Only the index and primary keys are projected into the index.\n@default \"all\"\n\n@default ```\"all\"```"}},"required":["hash"],"additionalProperties":false},"description":"Specifies the global secondary indexes to be created on the table.","markdownDescription":"Specifies the global secondary indexes to be created on the table."}},"required":["hash"],"additionalProperties":false},"description":"Define the tables in your stack.","markdownDescription":"Define the tables in your stack."},"stores":{"anyOf":[{"type":"array","items":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$"}},{"type":"object","additionalProperties":{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to the static files directory.","markdownDescription":"Specifies the path to the static files directory."},"versioning":{"type":"boolean","default":false,"description":"Enable versioning of your store.\n\n@default false\n\n@default false","markdownDescription":"Enable versioning of your store.\n\n@default ```false```\n\n@default ```false```"},"events":{"type":"object","properties":{"created:*":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications regardless of the API that was used to create an object.","markdownDescription":"Subscribe to notifications regardless of the API that was used to create an object."},"created:put":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object is created using the PUT API operation.","markdownDescription":"Subscribe to notifications when an object is created using the PUT API operation."},"created:post":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object is created using the POST API operation.","markdownDescription":"Subscribe to notifications when an object is created using the POST API operation."},"created:copy":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object is created using the COPY API operation.","markdownDescription":"Subscribe to notifications when an object is created using the COPY API operation."},"created:upload":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object multipart upload has been completed.","markdownDescription":"Subscribe to notifications when an object multipart upload has been completed."},"removed:*":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object is deleted or a delete marker for a versioned object is created.","markdownDescription":"Subscribe to notifications when an object is deleted or a delete marker for a versioned object is created."},"removed:delete":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when an object is deleted","markdownDescription":"Subscribe to notifications when an object is deleted"},"removed:marker":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Subscribe to notifications when a delete marker for a versioned object is created.","markdownDescription":"Subscribe to notifications when a delete marker for a versioned object is created."}},"additionalProperties":false,"description":"Describes the store events you want to subscribe too.","markdownDescription":"Describes the store events you want to subscribe too."}},"additionalProperties":false}}],"description":"Define the stores in your stack.","markdownDescription":"Define the stores in your stack."},"queues":{"type":"object","additionalProperties":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"consumer":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"The consuming lambda function properties.","markdownDescription":"The consuming lambda function properties."},"retentionPeriod":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The number of seconds that Amazon SQS retains a message. You can specify a duration from 1 minute to 14 days.","markdownDescription":"The number of seconds that Amazon SQS retains a message. You can specify a duration from 1 minute to 14 days."},"visibilityTimeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue. You can specify a duration from 0 to 12 hours.","markdownDescription":"The length of time during which a message will be unavailable after a message is delivered from the queue. This blocks other components from receiving the same message and gives the initial component time to process and delete the message from the queue. You can specify a duration from 0 to 12 hours."},"deliveryDelay":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The time in seconds for which the delivery of all messages in the queue is delayed. You can specify a duration from 0 to 15 minutes.","markdownDescription":"The time in seconds for which the delivery of all messages in the queue is delayed. You can specify a duration from 0 to 15 minutes."},"receiveMessageWaitTime":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"Specifies the duration, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify a duration from 1 to 20 seconds. Short polling is used as the default.","markdownDescription":"Specifies the duration, that the ReceiveMessage action call waits until a message is in the queue in order to include it in the response, rather than returning an empty response if a message isn't yet available. You can specify a duration from 1 to 20 seconds. Short polling is used as the default."},"maxMessageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The limit of how many bytes that a message can contain before Amazon SQS rejects it. You can specify an size from 1 KB to 256 KB.","markdownDescription":"The limit of how many bytes that a message can contain before Amazon SQS rejects it. You can specify an size from 1 KB to 256 KB."},"batchSize":{"type":"integer","minimum":1,"maximum":10000,"description":"The maximum number of records in each batch that Lambda pulls from your queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB). You can specify an integer from 1 to 10000.","markdownDescription":"The maximum number of records in each batch that Lambda pulls from your queue and sends to your function. Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB). You can specify an integer from 1 to 10000."},"maxConcurrency":{"type":"integer","minimum":2,"maximum":1000,"description":"Limits the number of concurrent instances that the queue worker can invoke. You can specify an integer from 2 to 1000.","markdownDescription":"Limits the number of concurrent instances that the queue worker can invoke. You can specify an integer from 2 to 1000."},"maxBatchingWindow":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The maximum amount of time, that Lambda spends gathering records before invoking the function. You can specify an duration from 0 seconds to 5 minutes.","markdownDescription":"The maximum amount of time, that Lambda spends gathering records before invoking the function. You can specify an duration from 0 seconds to 5 minutes."}},"required":["consumer"],"additionalProperties":false}]},"description":"Define the queues in your stack.","markdownDescription":"Define the queues in your stack."},"pubsub":{"type":"object","additionalProperties":{"type":"object","properties":{"sql":{"type":"string","description":"The SQL statement used to query the IOT topic.","markdownDescription":"The SQL statement used to query the IOT topic."},"sqlVersion":{"type":"string","enum":["2015-10-08","2016-03-23","beta"],"default":"2016-03-23","description":"The version of the SQL rules engine to use when evaluating the rule.\n\n@default \"2016-03-23\"","markdownDescription":"The version of the SQL rules engine to use when evaluating the rule.\n\n@default ```\"2016-03-23\"```"},"consumer":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"The consuming lambda function properties.","markdownDescription":"The consuming lambda function properties."}},"required":["sql","consumer"],"additionalProperties":false},"description":"Define the pubsub subscriber in your stack.","markdownDescription":"Define the pubsub subscriber in your stack."},"searchs":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"anyOf":[{"type":"string","enum":["t3.small","t3.medium","m3.medium","m3.large","m3.xlarge","m3.2xlarge","m4.large","m4.xlarge","m4.2xlarge","m4.4xlarge","m4.10xlarge","m5.large","m5.xlarge","m5.2xlarge","m5.4xlarge","m5.12xlarge","m5.24xlarge","r5.large","r5.xlarge","r5.2xlarge","r5.4xlarge","r5.12xlarge","r5.24xlarge","c5.large","c5.xlarge","c5.2xlarge","c5.4xlarge","c5.9xlarge","c5.18xlarge","or1.medium","or1.large","or1.xlarge","or1.2xlarge","or1.4xlarge","or1.8xlarge","or1.12xlarge","or1.16xlarge","ultrawarm1.medium","ultrawarm1.large","ultrawarm1.xlarge","r3.large","r3.xlarge","r3.2xlarge","r3.4xlarge","r3.8xlarge","i2.xlarge","i2.2xlarge","i3.large","i3.xlarge","i3.2xlarge","i3.4xlarge","i3.8xlarge","i3.16xlarge","r6g.large","r6g.xlarge","r6g.2xlarge","r6g.4xlarge","r6g.8xlarge","r6g.12xlarge","m6g.large","m6g.xlarge","m6g.2xlarge","m6g.4xlarge","m6g.8xlarge","m6g.12xlarge","r6gd.large","r6gd.xlarge","r6gd.2xlarge","r6gd.4xlarge","r6gd.8xlarge","r6gd.12xlarge","r6gd.16xlarge"]},{"type":"string"}],"description":"Instance type of data nodes in the cluster.","markdownDescription":"Instance type of data nodes in the cluster.","default":"t3.small"},"count":{"type":"integer","minimum":1,"description":"Number of instances in the cluster.\n\n@default 1","markdownDescription":"Number of instances in the cluster.\n\n@default ```1```","default":1},"version":{"anyOf":[{"type":"string","enum":["2.13","2.11","2.9","2.7","2.5","2.3","1.3"]},{"type":"string"}],"description":"Specify the OpenSearch engine version.","markdownDescription":"Specify the OpenSearch engine version.","default":"2.13"},"storage":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GiB.\n\n@default \"10 GB\"","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GiB.\n\n@default ```\"10 GB\"```","default":"10 GB"}},"additionalProperties":false},"description":"Define the search instances in your stack. Backed by OpenSearch.","markdownDescription":"Define the search instances in your stack. Backed by OpenSearch."},"sites":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your site with.","markdownDescription":"The domain id to link your site with."},"subDomain":{"type":"string"},"build":{"type":"object","properties":{"command":{"type":"string","description":"Specifies the files and directories to generate the cache key for your custom build command.","markdownDescription":"Specifies the files and directories to generate the cache key for your custom build command."},"cacheKey":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file or directory without checking if the file or directory exists.","markdownDescription":"Specifies a local file or directory without checking if the file or directory exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file or directory without checking if the file or directory exists.","markdownDescription":"Specifies a local file or directory without checking if the file or directory exists."}},"required":["nocheck"],"additionalProperties":false}]}}],"description":"Specifies the files and directories to generate the cache key for your custom build command.","markdownDescription":"Specifies the files and directories to generate the cache key for your custom build command."},"configs":{"type":"array","items":{"type":"string"},"description":"Define the config values for your build command.","markdownDescription":"Define the config values for your build command."}},"required":["command","cacheKey","configs"],"additionalProperties":false,"description":"Specifies the build process for sites that need a build step.","markdownDescription":"Specifies the build process for sites that need a build step."},"static":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"boolean"}],"description":"Specifies the path to the static files directory. Additionally you can also pass `true` when you don't have local static files, but still want to make an S3 bucket.","markdownDescription":"Specifies the path to the static files directory. Additionally you can also pass `true` when you don't have local static files, but still want to make an S3 bucket."},"ssr":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will render the site on the server.","markdownDescription":"Specifies the file that will render the site on the server."},"geoRestrictions":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2},"default":[],"description":"Specifies a blacklist of countries that should be blocked.\n\n@default []","markdownDescription":"Specifies a blacklist of countries that should be blocked.\n\n@default ```[]```"},"errors":{"type":"object","properties":{"400":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `400 Bad Request` response.","markdownDescription":"Customize a `400 Bad Request` response."},"403":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `403 Forbidden` response.","markdownDescription":"Customize a `403 Forbidden` response."},"404":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `404 Not Found` response.","markdownDescription":"Customize a `404 Not Found` response."},"405":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `405 Method Not Allowed` response.","markdownDescription":"Customize a `405 Method Not Allowed` response."},"414":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `414 Request-URI` response.","markdownDescription":"Customize a `414 Request-URI` response."},"416":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `416 Range Not` response.","markdownDescription":"Customize a `416 Range Not` response."},"500":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `500 Internal Server` response.","markdownDescription":"Customize a `500 Internal Server` response."},"501":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `501 Not Implemented` response.","markdownDescription":"Customize a `501 Not Implemented` response."},"502":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `502 Bad Gateway` response.","markdownDescription":"Customize a `502 Bad Gateway` response."},"503":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `503 Service Unavailable` response.","markdownDescription":"Customize a `503 Service Unavailable` response."},"504":{"anyOf":[{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},{"type":"object","properties":{"path":{"type":"string","description":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable.","markdownDescription":"The path to the custom error page that you want to return to the viewer when your origin returns the HTTP status code specified.\n- We recommend that you store custom error pages in an Amazon S3 bucket.\nIf you store custom error pages on an HTTP server and the server starts to return 5xx errors, CloudFront can't get the files that you want to return to viewers because the origin server is unavailable."},"statusCode":{"type":"integer","exclusiveMinimum":0,"description":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down.","markdownDescription":"The HTTP status code that you want CloudFront to return to the viewer along with the custom error page.\nThere are a variety of reasons that you might want CloudFront to return a status code different from the status code that your origin returned to CloudFront, for example:\n- Some Internet devices (some firewalls and corporate proxies, for example) intercept HTTP 4xx and 5xx and prevent the response from being returned to the viewer.\nIf you substitute 200, the response typically won't be intercepted.\n- If you don't care about distinguishing among different client errors or server errors, you can specify 400 or 500 as the ResponseCode for all 4xx or 5xx errors.\n- You might want to return a 200 status code (OK) and static website so your customers don't know that your website is down."},"minTTL":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available.","markdownDescription":"The minimum amount of time, that you want to cache the error response. When this time period has elapsed, CloudFront queries your origin to see whether the problem that caused the error has been resolved and the requested object is now available."}},"required":["path"],"additionalProperties":false}],"description":"Customize a `504 Gateway Timeout` response.","markdownDescription":"Customize a `504 Gateway Timeout` response."}},"additionalProperties":false,"description":"Customize the error responses for specific HTTP status codes.","markdownDescription":"Customize the error responses for specific HTTP status codes."},"cors":{"type":"object","properties":{"override":{"type":"boolean","default":false},"maxAge":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","default":"365 days"},"exposeHeaders":{"type":"array","items":{"type":"string"}},"credentials":{"type":"boolean","default":false},"headers":{"type":"array","items":{"type":"string"},"default":["*"]},"origins":{"type":"array","items":{"type":"string"},"default":["*"]},"methods":{"type":"array","items":{"type":"string","enum":["GET","DELETE","HEAD","OPTIONS","PATCH","POST","PUT","ALL"]},"default":["ALL"]}},"additionalProperties":false,"description":"Specify the cors headers.","markdownDescription":"Specify the cors headers."},"auth":{"type":"object","properties":{"username":{"type":"string","description":"Basic auth username","markdownDescription":"Basic auth username"},"password":{"type":"string","description":"Basic auth password","markdownDescription":"Basic auth password"}},"required":["username","password"],"additionalProperties":false,"description":"Enable basic authentication for the site","markdownDescription":"Enable basic authentication for the site"},"security":{"type":"object","properties":{},"additionalProperties":false,"description":"Specify the security policy.","markdownDescription":"Specify the security policy."},"cache":{"type":"object","properties":{"cookies":{"type":"array","items":{"type":"string"},"description":"Specifies the cookies that CloudFront includes in the cache key.","markdownDescription":"Specifies the cookies that CloudFront includes in the cache key."},"headers":{"type":"array","items":{"type":"string"},"description":"Specifies the headers that CloudFront includes in the cache key.","markdownDescription":"Specifies the headers that CloudFront includes in the cache key."},"queries":{"type":"array","items":{"type":"string"},"description":"Specifies the query values that CloudFront includes in the cache key.","markdownDescription":"Specifies the query values that CloudFront includes in the cache key."}},"additionalProperties":false,"description":"Specifies the cookies, headers, and query values that CloudFront includes in the cache key.","markdownDescription":"Specifies the cookies, headers, and query values that CloudFront includes in the cache key."}},"additionalProperties":false},"description":"Define the sites in your stack.","markdownDescription":"Define the sites in your stack."},"tests":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}]}},{"type":"boolean","const":false}],"description":"Define the location of your tests for your stack.","markdownDescription":"Define the location of your tests for your stack."},"images":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your site with.","markdownDescription":"The domain id to link your site with."},"subDomain":{"type":"string"},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"cacheDuration":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"Cache duration of the cached images.","markdownDescription":"Cache duration of the cached images."},"presets":{"type":"object","additionalProperties":{"type":"object","properties":{"width":{"type":"integer","exclusiveMinimum":0},"height":{"type":"integer","exclusiveMinimum":0},"fit":{"type":"string","enum":["cover","contain","fill","inside","outside"]},"position":{"type":"string","enum":["top","right top","right","right bottom","bottom","left bottom","left","left top","center"]},"quality":{"type":"integer","minimum":1,"maximum":100}},"additionalProperties":false},"description":"Named presets for image transformations","markdownDescription":"Named presets for image transformations"},"extensions":{"type":"object","properties":{"jpeg":{"type":"object","properties":{"mozjpeg":{"type":"boolean"},"progressive":{"type":"boolean"}},"additionalProperties":false},"webp":{"type":"object","properties":{"effort":{"type":"integer","minimum":1,"maximum":10,"default":7},"lossless":{"type":"boolean"},"nearLossless":{"type":"boolean"}},"additionalProperties":false},"png":{"type":"object","properties":{"compressionLevel":{"type":"integer","minimum":0,"maximum":9,"default":6}},"additionalProperties":false}},"additionalProperties":false,"description":"Specify the allowed extensions.","markdownDescription":"Specify the allowed extensions."},"origin":{"anyOf":[{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["static"],"additionalProperties":false},{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["function"],"additionalProperties":false},{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["static","function"],"additionalProperties":false}],"description":"Specify the origin of your images. Image transformation will be applied from a base image. Base images can be loaded from a S3 bucket (that is synced from a local directory) or dynamicly from a lambda function.","markdownDescription":"Specify the origin of your images. Image transformation will be applied from a base image. Base images can be loaded from a S3 bucket (that is synced from a local directory) or dynamicly from a lambda function."},"version":{"type":"integer","minimum":1,"description":"Version of the image configuration.","markdownDescription":"Version of the image configuration."}},"required":["presets","extensions","origin"],"additionalProperties":false},"description":"Define an image proxy in your stack. Store, transform, optimize, and deliver images at scale.","markdownDescription":"Define an image proxy in your stack. Store, transform, optimize, and deliver images at scale."},"icons":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your site with.","markdownDescription":"The domain id to link your site with."},"subDomain":{"type":"string"},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"cacheDuration":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The cache duration of the cached icons.","markdownDescription":"The cache duration of the cached icons."},"preserveId":{"type":"boolean","default":false,"description":"Preserve the IDs of the icons.\n\n@default false","markdownDescription":"Preserve the IDs of the icons.\n\n@default ```false```"},"symbols":{"type":"boolean","default":false,"description":"Use SVG symbols for icons.\n\n@default false","markdownDescription":"Use SVG symbols for icons.\n\n@default ```false```"},"origin":{"anyOf":[{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["static"],"additionalProperties":false},{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["function"],"additionalProperties":false},{"type":"object","properties":{"static":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"Specifies the path to a local image directory that will be uploaded in S3.","markdownDescription":"Specifies the path to a local image directory that will be uploaded in S3."},"function":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}],"description":"Specifies the file that will be called when an image isn't found in the (cache) bucket.","markdownDescription":"Specifies the file that will be called when an image isn't found in the (cache) bucket."}},"required":["static","function"],"additionalProperties":false}],"description":"Image transformation will be applied from a base image. Base images orginates from a local directory that will be uploaded to S3 or from a lambda function.","markdownDescription":"Image transformation will be applied from a base image. Base images orginates from a local directory that will be uploaded to S3 or from a lambda function."},"cors":{"type":"object","properties":{"override":{"type":"boolean","default":true},"maxAge":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","default":"365 days"},"exposeHeaders":{"type":"array","items":{"type":"string"}},"credentials":{"type":"boolean","default":false},"headers":{"type":"array","items":{"type":"string"},"default":["*"]},"origins":{"type":"array","items":{"type":"string"},"default":["*"]}},"additionalProperties":false,"description":"Specify the cors headers.","markdownDescription":"Specify the cors headers."}},"required":["origin"],"additionalProperties":false},"description":"Define an icon proxy in your stack. Store, optimize, and deliver icons at scale.","markdownDescription":"Define an icon proxy in your stack. Store, optimize, and deliver icons at scale."},"metrics":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["number","size","duration"]},"alarms":{"type":"array","items":{"type":"object","properties":{"description":{"type":"string"},"where":{"anyOf":[{"type":"string","pattern":"(count|avg|sum|min|max) (>|>=|<|<=) (\\d)"},{"type":"object","properties":{"stat":{"type":"string","enum":["count","avg","sum","min","max"]},"op":{"type":"string","enum":[">",">=","<","<="]},"value":{"type":"number"}},"required":["stat","op","value"],"additionalProperties":false}]},"period":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$"},"minDataPoints":{"type":"integer","default":1},"trigger":{"anyOf":[{"type":"string","format":"email"},{"type":"array","items":{"type":"string","format":"email"}},{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"code":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}]},{"type":"object","properties":{"file":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local file without checking if the file exists.","markdownDescription":"Specifies a local file without checking if the file exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"minify":{"type":"boolean","description":"Minify the function code.\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true\n\n@default true","markdownDescription":"Minify the function code.\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```\n\n@default ```true```","default":true},"external":{"type":"array","items":{"type":"string"},"description":"A list of external packages that won't be included in the bundle.","markdownDescription":"A list of external packages that won't be included in the bundle."}},"required":["file"],"additionalProperties":false},{"type":"object","properties":{"bundle":{"anyOf":[{"type":"string"},{"type":"object","properties":{"nocheck":{"type":"string","description":"Specifies a local directory without checking if the directory exists.","markdownDescription":"Specifies a local directory without checking if the directory exists."}},"required":["nocheck"],"additionalProperties":false}],"description":"The directory that needs to be bundled.","markdownDescription":"The directory that needs to be bundled."}},"required":["bundle"],"additionalProperties":false}],"description":"Specify the code of your function.","markdownDescription":"Specify the code of your function."},"handler":{"type":"string","description":"The name of the exported method within your code that Lambda calls to run your function.","markdownDescription":"The name of the exported method within your code that Lambda calls to run your function."},"runtime":{"anyOf":[{"anyOf":[{"type":"string","enum":["nodejs18.x","nodejs20.x","nodejs22.x"]},{"type":"string","const":"container"}]},{"type":"string"}],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the function."},"warm":{"type":"integer","minimum":0,"maximum":10,"description":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10.","markdownDescription":"Specify how many functions you want to warm up each 5 minutes. You can specify a number from 0 to 10."},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC."},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},"format":{"type":"string","enum":["text","json"],"description":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON.","markdownDescription":"The format in which Lambda sends your function's application and system logs to CloudWatch. Select between plain text and structured JSON."},"system":{"type":"string","enum":["debug","info","warn"],"description":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest.","markdownDescription":"Set this property to filter the system logs for your function that Lambda sends to CloudWatch. Lambda only sends system logs at the selected level of detail and lower, where DEBUG is the highest level and WARN is the lowest."},"level":{"type":"string","enum":["trace","debug","info","warn","error","fatal"],"description":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest.","markdownDescription":"Set this property to filter the application logs for your function that Lambda sends to CloudWatch. Lambda only sends application logs at the selected level of detail and lower, where TRACE is the highest level and FATAL is the lowest."}},"additionalProperties":false}],"description":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.","markdownDescription":"Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time."},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?|weeks?)$","description":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes.","markdownDescription":"The amount of time that Lambda allows a function to run before stopping it. You can specify a size value from 1 second to 15 minutes."},"memorySize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB.","markdownDescription":"The amount of memory available to the function at runtime. Increasing the function memory also increases its CPU allocation. The value can be any multiple of 1 MB. You can specify a size value from 128 MB to 10 GB."},"architecture":{"type":"string","enum":["x86_64","arm64"],"description":"The instruction set architecture that the function supports.","markdownDescription":"The instruction set architecture that the function supports."},"ephemeralStorageSize":{"type":"string","pattern":"^[0-9]+ (B|KB|MB|GB|TB|PB)$","description":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB.","markdownDescription":"The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GB."},"retryAttempts":{"type":"integer","minimum":0,"maximum":2,"description":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2.","markdownDescription":"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."},"reserved":{"type":"integer","minimum":0,"description":"The number of simultaneous executions to reserve for the function. You can specify a number from 0.","markdownDescription":"The number of simultaneous executions to reserve for the function. You can specify a number from 0."},"layers":{"type":"array","items":{"type":"string"},"description":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version.","markdownDescription":"A list of function layers to add to the function's execution environment. Specify each layer by its ARN, including the version."},"environment":{"type":"object","additionalProperties":{"type":"string"},"description":"Environment variable key-value pairs.","markdownDescription":"Environment variable key-value pairs."},"permissions":{"anyOf":[{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false},{"type":"array","items":{"type":"object","properties":{"effect":{"type":"string","enum":["allow","deny"],"default":"allow"},"actions":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"resources":{"anyOf":[{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]},{"type":"array","items":{"anyOf":[{"type":"string","pattern":"^arn\\:"},{"type":"string","const":"*"}]}}]}},"required":["actions","resources"],"additionalProperties":false}}],"description":"Add IAM permissions to your function.","markdownDescription":"Add IAM permissions to your function."}},"required":["code"],"additionalProperties":false}]}]}},"required":["where","period","trigger"],"additionalProperties":false}}},"required":["type"],"additionalProperties":false},"description":"Define the metrics in your stack.","markdownDescription":"Define the metrics in your stack."}},"required":["name"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#","title":"Awsless Stack Config"}
|