@awsless/awsless 0.0.309 → 0.0.311
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/app.json +1 -1
- package/dist/bin.js +17 -3
- package/dist/build-json-schema.js +1 -1
- package/dist/server.js +27 -0
- package/package.json +11 -10
- package/dist/bin.d.ts +0 -1
- package/dist/client.d.ts +0 -54
- package/dist/server.d.ts +0 -101
package/dist/app.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"$ref":"#/definitions/app","definitions":{"app":{"type":"object","properties":{"$schema":{"type":"string"},"name":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"App name.","markdownDescription":"App name."},"region":{"type":"string","enum":["us-east-2","us-east-1","us-west-1","us-west-2","af-south-1","ap-east-1","ap-south-2","ap-southeast-3","ap-southeast-4","ap-south-1","ap-northeast-3","ap-northeast-2","ap-southeast-1","ap-southeast-2","ap-northeast-1","ca-central-1","eu-central-1","eu-west-1","eu-west-2","eu-south-1","eu-west-3","eu-south-2","eu-north-1","eu-central-2","me-south-1","me-central-1","sa-east-1"],"description":"The AWS region to deploy to.","markdownDescription":"The AWS region to deploy to."},"profile":{"type":"string","description":"The AWS profile to deploy to.","markdownDescription":"The AWS profile to deploy to."},"defaults":{"type":"object","properties":{"auth":{"type":"object","additionalProperties":{"type":"object","properties":{"allowUserRegistration":{"type":"boolean","default":true,"description":"Specifies whether users can create an user account or if only the administrator can.","markdownDescription":"Specifies whether users can create an user account or if only the administrator can."},"messaging":{"type":"object","properties":{"fromEmail":{"type":"string","format":"email","description":"Specifies the sender's email address.","markdownDescription":"Specifies the sender's email address."},"fromName":{"type":"string","description":"Specifies the sender's name.","markdownDescription":"Specifies the sender's name."},"replyTo":{"type":"string","format":"email","description":"The destination to which the receiver of the email should reply.","markdownDescription":"The destination to which the receiver of the email should reply."}},"required":["fromEmail"],"additionalProperties":false,"description":"The email configuration for sending messages.","markdownDescription":"The email configuration for sending messages."},"username":{"type":"object","properties":{"emailAlias":{"type":"boolean","default":true,"description":"Allow the user email to be used as username.","markdownDescription":"Allow the user email to be used as username."},"caseSensitive":{"type":"boolean","default":false,"description":"Specifies whether username case sensitivity will be enabled. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name.","markdownDescription":"Specifies whether username case sensitivity will be enabled. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name."}},"additionalProperties":false,"default":{},"description":"The username policy.","markdownDescription":"The username policy."},"password":{"type":"object","properties":{"minLength":{"type":"integer","minimum":6,"maximum":99,"default":12,"description":"Required users to have at least the minimum password length.","markdownDescription":"Required users to have at least the minimum password length."},"uppercase":{"type":"boolean","default":true,"description":"Required users to use at least one uppercase letter in their password.","markdownDescription":"Required users to use at least one uppercase letter in their password."},"lowercase":{"type":"boolean","default":true,"description":"Required users to use at least one lowercase letter in their password.","markdownDescription":"Required users to use at least one lowercase letter in their password."},"numbers":{"type":"boolean","default":true,"description":"Required users to use at least one number in their password.","markdownDescription":"Required users to use at least one number in their password."},"symbols":{"type":"boolean","default":true,"description":"Required users to use at least one symbol in their password.","markdownDescription":"Required users to use at least one symbol in their password."},"temporaryPasswordValidity":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","default":"7 days","description":"The duration a temporary password is valid. If the user doesn't sign in during this time, an administrator must reset their password.","markdownDescription":"The duration a temporary password is valid. If the user doesn't sign in during this time, an administrator must reset their password."}},"additionalProperties":false,"default":{},"description":"The password policy.","markdownDescription":"The password policy."},"validity":{"type":"object","properties":{"idToken":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","default":"1 hour","description":"The ID token time limit. After this limit expires, your user can't use their ID token.","markdownDescription":"The ID token time limit. After this limit expires, your user can't use their ID token."},"accessToken":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","default":"1 hour","description":"The access token time limit. After this limit expires, your user can't use their access token.","markdownDescription":"The access token time limit. After this limit expires, your user can't use their access token."},"refreshToken":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","default":"365 days","description":"The refresh token time limit. After this limit expires, your user can't use their refresh token.","markdownDescription":"The refresh token time limit. After this limit expires, your user can't use their refresh token."}},"additionalProperties":false,"default":{},"description":"Specifies the validity duration for every JWT token.","markdownDescription":"Specifies the validity duration for every JWT token."},"triggers":{"type":"object","properties":{"beforeToken":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A pre jwt token generation AWS Lambda trigger.","markdownDescription":"A pre jwt token generation AWS Lambda trigger."},"beforeLogin":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A pre user login AWS Lambda trigger.","markdownDescription":"A pre user login AWS Lambda trigger."},"afterLogin":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A post user login AWS Lambda trigger.","markdownDescription":"A post user login AWS Lambda trigger."},"beforeRegister":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A pre user register AWS Lambda trigger.","markdownDescription":"A pre user register AWS Lambda trigger."},"afterRegister":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A post user register AWS Lambda trigger.","markdownDescription":"A post user register AWS Lambda trigger."},"customMessage":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A custom message AWS Lambda trigger.","markdownDescription":"A custom message AWS Lambda trigger."},"defineChallenge":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"Defines the authentication challenge.","markdownDescription":"Defines the authentication challenge."},"createChallenge":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"Creates an authentication challenge.","markdownDescription":"Creates an authentication challenge."},"verifyChallenge":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"Verifies the authentication challenge response.","markdownDescription":"Verifies the authentication challenge response."}},"additionalProperties":false,"description":"Specifies the configuration for AWS Lambda triggers.","markdownDescription":"Specifies the configuration for AWS Lambda triggers."}},"additionalProperties":false},"default":{},"description":"Define the authenticatable users in your app.","markdownDescription":"Define the authenticatable users in your app."},"domains":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","pattern":"[a-z\\-\\_\\.]","description":"Define the domain name","markdownDescription":"Define the domain name"},"dns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"[a-z\\-\\_\\.]","description":"Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.","markdownDescription":"Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical."},"type":{"type":"string","enum":["A","AAAA","CAA","CNAME","DS","MX","NAPTR","NS","PTR","SOA","SPF","SRV","TXT"],"description":"The DNS record type.","markdownDescription":"The DNS record type."},"ttl":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","description":"The resource record cache time to live (TTL).","markdownDescription":"The resource record cache time to live (TTL)."},"records":{"type":"array","items":{"type":"string"},"description":"One or more values that correspond with the value that you specified for the Type property.","markdownDescription":"One or more values that correspond with the value that you specified for the Type property."}},"required":["type","ttl","records"],"additionalProperties":false},"description":"Define the domain dns records","markdownDescription":"Define the domain dns records"}},"required":["domain"],"additionalProperties":false},"description":"Define the domains for your application.","markdownDescription":"Define the domains for your application."},"function":{"type":"object","properties":{"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.","default":"index.default"},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code.","default":true},"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.","default":0},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC.","default":false},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":{"retention":"7 days","level":"error","system":"warn","format":"json"}},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":"10 seconds"},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime.","default":"nodejs20.x"},"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.","default":"128 MB"},"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.","default":"arm64"},"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.","default":"512 MB"},"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.","default":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."},"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."}},"additionalProperties":false,"default":{}},"instance":{"type":"object","properties":{"connect":{"type":"boolean","description":"Allows you to connect to all instances with an Instance Connect Endpoint.","markdownDescription":"Allows you to connect to all instances with an Instance Connect Endpoint.","default":false}},"additionalProperties":false,"default":{},"description":"Define the default settings for all instances in your stacks.","markdownDescription":"Define the default settings for all instances in your stacks."},"queue":{"type":"object","properties":{"retentionPeriod":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":"7 days"},"visibilityTimeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":"30 seconds"},"deliveryDelay":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":"0 seconds"},"receiveMessageWaitTime":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":"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.","default":10},"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?)$","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."}},"additionalProperties":false,"default":{}},"graphql":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your API with.","markdownDescription":"The domain id to link your API with."},"subDomain":{"type":"string"},"auth":{"anyOf":[{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$"},{"type":"object","properties":{"authorizer":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}]},"ttl":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","description":"The number of seconds a response should be cached for. The maximum value is one hour (3600 seconds). The Lambda function can override this by returning a ttlOverride key in its response.","markdownDescription":"The number of seconds a response should be cached for. The maximum value is one hour (3600 seconds). The Lambda function can override this by returning a ttlOverride key in its response.","default":"1 hour"}},"required":["authorizer"],"additionalProperties":false}]},"resolver":{"type":"string"}},"additionalProperties":false},"description":"Define the global GraphQL API's.","markdownDescription":"Define the global GraphQL API's."},"http":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your API with.","markdownDescription":"The domain id to link your API with."},"subDomain":{"type":"string"}},"required":["domain"],"additionalProperties":false},"description":"Define your global HTTP API's.","markdownDescription":"Define your global HTTP API's."},"rest":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your API with.","markdownDescription":"The domain id to link your API with."},"subDomain":{"type":"string"}},"additionalProperties":false},"description":"Define your global REST API's.","markdownDescription":"Define your global REST API's."},"pubsub":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your Pubsub API with.","markdownDescription":"The domain id to link your Pubsub API with."},"subDomain":{"type":"string"},"auth":{"anyOf":[{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$"},{"type":"object","properties":{"authorizer":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}]}},"required":["authorizer"],"additionalProperties":false}]},"policy":{"type":"object","properties":{"publish":{"type":"array","items":{"type":"string"}},"subscribe":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"required":["auth","policy"],"additionalProperties":false},"description":"Define the pubsub subscriber in your stack.","markdownDescription":"Define the pubsub subscriber in your stack."}},"additionalProperties":false,"default":{},"description":"Default properties\n\n@default {}","markdownDescription":"Default properties\n\n@default ```{}```"}},"required":["name","region","profile"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#","title":"Awsless App Config"}
|
|
1
|
+
{"$ref":"#/definitions/app","definitions":{"app":{"type":"object","properties":{"$schema":{"type":"string"},"name":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"App name.","markdownDescription":"App name."},"region":{"type":"string","enum":["us-east-2","us-east-1","us-west-1","us-west-2","af-south-1","ap-east-1","ap-south-2","ap-southeast-3","ap-southeast-4","ap-south-1","ap-northeast-3","ap-northeast-2","ap-southeast-1","ap-southeast-2","ap-northeast-1","ca-central-1","eu-central-1","eu-west-1","eu-west-2","eu-south-1","eu-west-3","eu-south-2","eu-north-1","eu-central-2","me-south-1","me-central-1","sa-east-1"],"description":"The AWS region to deploy to.","markdownDescription":"The AWS region to deploy to."},"profile":{"type":"string","description":"The AWS profile to deploy to.","markdownDescription":"The AWS profile to deploy to."},"defaults":{"type":"object","properties":{"auth":{"type":"object","additionalProperties":{"type":"object","properties":{"allowUserRegistration":{"type":"boolean","default":true,"description":"Specifies whether users can create an user account or if only the administrator can.","markdownDescription":"Specifies whether users can create an user account or if only the administrator can."},"messaging":{"type":"object","properties":{"fromEmail":{"type":"string","format":"email","description":"Specifies the sender's email address.","markdownDescription":"Specifies the sender's email address."},"fromName":{"type":"string","description":"Specifies the sender's name.","markdownDescription":"Specifies the sender's name."},"replyTo":{"type":"string","format":"email","description":"The destination to which the receiver of the email should reply.","markdownDescription":"The destination to which the receiver of the email should reply."}},"required":["fromEmail"],"additionalProperties":false,"description":"The email configuration for sending messages.","markdownDescription":"The email configuration for sending messages."},"username":{"type":"object","properties":{"emailAlias":{"type":"boolean","default":true,"description":"Allow the user email to be used as username.","markdownDescription":"Allow the user email to be used as username."},"caseSensitive":{"type":"boolean","default":false,"description":"Specifies whether username case sensitivity will be enabled. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name.","markdownDescription":"Specifies whether username case sensitivity will be enabled. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name."}},"additionalProperties":false,"default":{},"description":"The username policy.","markdownDescription":"The username policy."},"password":{"type":"object","properties":{"minLength":{"type":"integer","minimum":6,"maximum":99,"default":12,"description":"Required users to have at least the minimum password length.","markdownDescription":"Required users to have at least the minimum password length."},"uppercase":{"type":"boolean","default":true,"description":"Required users to use at least one uppercase letter in their password.","markdownDescription":"Required users to use at least one uppercase letter in their password."},"lowercase":{"type":"boolean","default":true,"description":"Required users to use at least one lowercase letter in their password.","markdownDescription":"Required users to use at least one lowercase letter in their password."},"numbers":{"type":"boolean","default":true,"description":"Required users to use at least one number in their password.","markdownDescription":"Required users to use at least one number in their password."},"symbols":{"type":"boolean","default":true,"description":"Required users to use at least one symbol in their password.","markdownDescription":"Required users to use at least one symbol in their password."},"temporaryPasswordValidity":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","default":"7 days","description":"The duration a temporary password is valid. If the user doesn't sign in during this time, an administrator must reset their password.","markdownDescription":"The duration a temporary password is valid. If the user doesn't sign in during this time, an administrator must reset their password."}},"additionalProperties":false,"default":{},"description":"The password policy.","markdownDescription":"The password policy."},"validity":{"type":"object","properties":{"idToken":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","default":"1 hour","description":"The ID token time limit. After this limit expires, your user can't use their ID token.","markdownDescription":"The ID token time limit. After this limit expires, your user can't use their ID token."},"accessToken":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","default":"1 hour","description":"The access token time limit. After this limit expires, your user can't use their access token.","markdownDescription":"The access token time limit. After this limit expires, your user can't use their access token."},"refreshToken":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","default":"365 days","description":"The refresh token time limit. After this limit expires, your user can't use their refresh token.","markdownDescription":"The refresh token time limit. After this limit expires, your user can't use their refresh token."}},"additionalProperties":false,"default":{},"description":"Specifies the validity duration for every JWT token.","markdownDescription":"Specifies the validity duration for every JWT token."},"triggers":{"type":"object","properties":{"beforeToken":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A pre jwt token generation AWS Lambda trigger.","markdownDescription":"A pre jwt token generation AWS Lambda trigger."},"beforeLogin":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A pre user login AWS Lambda trigger.","markdownDescription":"A pre user login AWS Lambda trigger."},"afterLogin":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A post user login AWS Lambda trigger.","markdownDescription":"A post user login AWS Lambda trigger."},"beforeRegister":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A pre user register AWS Lambda trigger.","markdownDescription":"A pre user register AWS Lambda trigger."},"afterRegister":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A post user register AWS Lambda trigger.","markdownDescription":"A post user register AWS Lambda trigger."},"customMessage":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"A custom message AWS Lambda trigger.","markdownDescription":"A custom message AWS Lambda trigger."},"defineChallenge":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"Defines the authentication challenge.","markdownDescription":"Defines the authentication challenge."},"createChallenge":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"Creates an authentication challenge.","markdownDescription":"Creates an authentication challenge."},"verifyChallenge":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}],"description":"Verifies the authentication challenge response.","markdownDescription":"Verifies the authentication challenge response."}},"additionalProperties":false,"description":"Specifies the configuration for AWS Lambda triggers.","markdownDescription":"Specifies the configuration for AWS Lambda triggers."}},"additionalProperties":false},"default":{},"description":"Define the authenticatable users in your app.","markdownDescription":"Define the authenticatable users in your app."},"domains":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","pattern":"[a-z\\-\\_\\.]","description":"Define the domain name","markdownDescription":"Define the domain name"},"dns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","pattern":"[a-z\\-\\_\\.]","description":"Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical.","markdownDescription":"Enter a fully qualified domain name, for example, www.example.com. You can optionally include a trailing dot. If you omit the trailing dot, Amazon Route 53 assumes that the domain name that you specify is fully qualified. This means that Route 53 treats www.example.com (without a trailing dot) and www.example.com. (with a trailing dot) as identical."},"type":{"type":"string","enum":["A","AAAA","CAA","CNAME","DS","MX","NAPTR","NS","PTR","SOA","SPF","SRV","TXT"],"description":"The DNS record type.","markdownDescription":"The DNS record type."},"ttl":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","description":"The resource record cache time to live (TTL).","markdownDescription":"The resource record cache time to live (TTL)."},"records":{"type":"array","items":{"type":"string"},"description":"One or more values that correspond with the value that you specified for the Type property.","markdownDescription":"One or more values that correspond with the value that you specified for the Type property."}},"required":["type","ttl","records"],"additionalProperties":false},"description":"Define the domain dns records","markdownDescription":"Define the domain dns records"}},"required":["domain"],"additionalProperties":false},"description":"Define the domains for your application.","markdownDescription":"Define the domains for your application."},"function":{"type":"object","properties":{"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.","default":"index.default"},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code.","default":true},"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.","default":0},"vpc":{"type":"boolean","description":"Put the function inside your global VPC.","markdownDescription":"Put the function inside your global VPC.","default":false},"log":{"anyOf":[{"type":"boolean"},{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":{"retention":"7 days","level":"error","system":"warn","format":"json"}},"timeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":"10 seconds"},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime.","default":"nodejs20.x"},"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.","default":"128 MB"},"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.","default":"arm64"},"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.","default":"512 MB"},"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.","default":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."},"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."}},"additionalProperties":false,"default":{}},"instance":{"type":"object","properties":{"connect":{"type":"boolean","description":"Allows you to connect to all instances with an Instance Connect Endpoint.","markdownDescription":"Allows you to connect to all instances with an Instance Connect Endpoint.","default":false}},"additionalProperties":false,"default":{},"description":"Define the default settings for all instances in your stacks.","markdownDescription":"Define the default settings for all instances in your stacks."},"queue":{"type":"object","properties":{"retentionPeriod":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":"7 days"},"visibilityTimeout":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":"30 seconds"},"deliveryDelay":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":"0 seconds"},"receiveMessageWaitTime":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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.","default":"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.","default":10},"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?)$","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."}},"additionalProperties":false,"default":{}},"graphql":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your API with.","markdownDescription":"The domain id to link your API with."},"subDomain":{"type":"string"},"auth":{"anyOf":[{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$"},{"type":"object","properties":{"authorizer":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}]},"ttl":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","description":"The number of seconds a response should be cached for. The maximum value is one hour (3600 seconds). The Lambda function can override this by returning a ttlOverride key in its response.","markdownDescription":"The number of seconds a response should be cached for. The maximum value is one hour (3600 seconds). The Lambda function can override this by returning a ttlOverride key in its response.","default":"1 hour"}},"required":["authorizer"],"additionalProperties":false}]},"resolver":{"type":"string"}},"additionalProperties":false},"description":"Define the global GraphQL API's.","markdownDescription":"Define the global GraphQL API's."},"http":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your API with.","markdownDescription":"The domain id to link your API with."},"subDomain":{"type":"string"}},"required":["domain"],"additionalProperties":false},"description":"Define your global HTTP API's.","markdownDescription":"Define your global HTTP API's."},"rest":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your API with.","markdownDescription":"The domain id to link your API with."},"subDomain":{"type":"string"}},"additionalProperties":false},"description":"Define your global REST API's.","markdownDescription":"Define your global REST API's."},"pubsub":{"type":"object","additionalProperties":{"type":"object","properties":{"domain":{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$","description":"The domain id to link your Pubsub API with.","markdownDescription":"The domain id to link your Pubsub API with."},"subDomain":{"type":"string"},"auth":{"anyOf":[{"type":"string","minLength":3,"maxLength":24,"pattern":"^[a-z0-9\\-]+$"},{"type":"object","properties":{"authorizer":{"anyOf":[{"type":"string"},{"type":"object","properties":{"file":{"type":"string","description":"The file path of the function code.","markdownDescription":"The file path of the function code."},"description":{"type":"string","description":"A description of the function.","markdownDescription":"A description of the 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."},"minify":{"type":"boolean","description":"Minify the function code.","markdownDescription":"Minify the function code."},"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?)$","description":"The log retention duration.","markdownDescription":"The log retention duration."},{"type":"object","properties":{"retention":{"type":"string","pattern":"^[0-9]+ (seconds?|minutes?|hours?|days?)$","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?)$","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."},"runtime":{"type":"string","enum":["nodejs18.x","nodejs20.x"],"description":"The identifier of the function's runtime.","markdownDescription":"The identifier of the function's runtime."},"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."},"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":["file"],"additionalProperties":false}]}},"required":["authorizer"],"additionalProperties":false}]},"policy":{"type":"object","properties":{"publish":{"type":"array","items":{"type":"string"}},"subscribe":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"required":["auth"],"additionalProperties":false},"description":"Define the pubsub subscriber in your stack.","markdownDescription":"Define the pubsub subscriber in your stack."}},"additionalProperties":false,"default":{},"description":"Default properties\n\n@default {}","markdownDescription":"Default properties\n\n@default ```{}```"}},"required":["name","region","profile"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#","title":"Awsless App Config"}
|
package/dist/bin.js
CHANGED
|
@@ -782,7 +782,7 @@ var PubSubDefaultSchema = z13.record(
|
|
|
782
782
|
policy: z13.object({
|
|
783
783
|
publish: z13.array(z13.string()).optional(),
|
|
784
784
|
subscribe: z13.array(z13.string()).optional()
|
|
785
|
-
})
|
|
785
|
+
}).optional()
|
|
786
786
|
})
|
|
787
787
|
).optional().describe("Define the pubsub subscriber in your stack.");
|
|
788
788
|
var PubSubSchema = z13.record(
|
|
@@ -3642,7 +3642,10 @@ var pubsubFeature = defineFeature({
|
|
|
3642
3642
|
new aws12.iot.DomainConfiguration(group, "domain", {
|
|
3643
3643
|
name,
|
|
3644
3644
|
domainName,
|
|
3645
|
-
certificates: [ctx.shared.get(`local-certificate-${props.domain}-arn`)]
|
|
3645
|
+
certificates: [ctx.shared.get(`local-certificate-${props.domain}-arn`)],
|
|
3646
|
+
authorizer: {
|
|
3647
|
+
name
|
|
3648
|
+
}
|
|
3646
3649
|
// validationCertificate: ctx.shared.get(`global-certificate-${props.domain}-arn`),
|
|
3647
3650
|
});
|
|
3648
3651
|
new aws12.route53.RecordSet(group, "record", {
|
|
@@ -4589,6 +4592,14 @@ var getFiltersWithDeps = (stacks, filters) => {
|
|
|
4589
4592
|
walk(filters);
|
|
4590
4593
|
return list4;
|
|
4591
4594
|
};
|
|
4595
|
+
var assertDepsExists = (stack, stacks) => {
|
|
4596
|
+
for (const dep of stack.depends ?? []) {
|
|
4597
|
+
const found = stacks.find((i) => i.name === dep);
|
|
4598
|
+
if (!found) {
|
|
4599
|
+
throw new FileError(stack.file, `Stack "${stack.name}" depends on a stack "${dep}" that doesn't exist.`);
|
|
4600
|
+
}
|
|
4601
|
+
}
|
|
4602
|
+
};
|
|
4592
4603
|
var createApp = (props, filters = []) => {
|
|
4593
4604
|
const app = new App2(props.appConfig.name);
|
|
4594
4605
|
const base = new Stack(app, "base");
|
|
@@ -4608,6 +4619,9 @@ var createApp = (props, filters = []) => {
|
|
|
4608
4619
|
const globalPoliciesListeners = [];
|
|
4609
4620
|
const allLocalPolicies = {};
|
|
4610
4621
|
const allLocalPolicyListeners = {};
|
|
4622
|
+
for (const stackConfig of props.stackConfigs) {
|
|
4623
|
+
assertDepsExists(stackConfig, props.stackConfigs);
|
|
4624
|
+
}
|
|
4611
4625
|
for (const feature of features) {
|
|
4612
4626
|
feature.onApp?.({
|
|
4613
4627
|
...props,
|
|
@@ -4662,11 +4676,11 @@ var createApp = (props, filters = []) => {
|
|
|
4662
4676
|
filterdStacks = filterdStacks.filter((stack) => filtersWithDeps.includes(stack.name));
|
|
4663
4677
|
}
|
|
4664
4678
|
for (const stackConfig of filterdStacks) {
|
|
4679
|
+
const stack = new Stack(app, stackConfig.name);
|
|
4665
4680
|
const localPolicyListeners = [];
|
|
4666
4681
|
const localPolicies = [];
|
|
4667
4682
|
const localEnvListeners = [];
|
|
4668
4683
|
const localEnv = [];
|
|
4669
|
-
const stack = new Stack(app, stackConfig.name);
|
|
4670
4684
|
allLocalPolicyListeners[stack.name] = localPolicyListeners;
|
|
4671
4685
|
allLocalPolicies[stack.name] = localPolicies;
|
|
4672
4686
|
allLocalEnvListeners[stack.name] = localEnvListeners;
|
|
@@ -539,7 +539,7 @@ var PubSubDefaultSchema = z17.record(
|
|
|
539
539
|
policy: z17.object({
|
|
540
540
|
publish: z17.array(z17.string()).optional(),
|
|
541
541
|
subscribe: z17.array(z17.string()).optional()
|
|
542
|
-
})
|
|
542
|
+
}).optional()
|
|
543
543
|
})
|
|
544
544
|
).optional().describe("Define the pubsub subscriber in your stack.");
|
|
545
545
|
var PubSubSchema = z17.record(
|
package/dist/server.js
CHANGED
|
@@ -80,6 +80,12 @@ var mockFunction = (cb) => {
|
|
|
80
80
|
});
|
|
81
81
|
};
|
|
82
82
|
|
|
83
|
+
// src/lib/mock/pubsub.ts
|
|
84
|
+
import { mockIoT } from "@awsless/iot";
|
|
85
|
+
var mockPubSub = () => {
|
|
86
|
+
return mockIoT();
|
|
87
|
+
};
|
|
88
|
+
|
|
83
89
|
// src/lib/mock/queue.ts
|
|
84
90
|
import { mockSQS } from "@awsless/sqs";
|
|
85
91
|
|
|
@@ -292,6 +298,21 @@ var Config = /* @__PURE__ */ new Proxy(
|
|
|
292
298
|
}
|
|
293
299
|
);
|
|
294
300
|
|
|
301
|
+
// src/lib/server/pubsub.ts
|
|
302
|
+
import { publish as publish2, QoS } from "@awsless/iot";
|
|
303
|
+
var getPubSubTopic = (name) => {
|
|
304
|
+
return `${APP}/pubsub/${name}`;
|
|
305
|
+
};
|
|
306
|
+
var PubSub = {
|
|
307
|
+
async publish(topic, event, payload, opts = {}) {
|
|
308
|
+
await publish2({
|
|
309
|
+
topic: getPubSubTopic(topic),
|
|
310
|
+
payload: Buffer.from(JSON.stringify([event, payload])),
|
|
311
|
+
...opts
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
};
|
|
315
|
+
|
|
295
316
|
// src/lib/server/search.ts
|
|
296
317
|
import { define, searchClient } from "@awsless/open-search";
|
|
297
318
|
import { constantCase as constantCase3 } from "change-case";
|
|
@@ -366,6 +387,8 @@ export {
|
|
|
366
387
|
Config,
|
|
367
388
|
Fn,
|
|
368
389
|
Function,
|
|
390
|
+
PubSub,
|
|
391
|
+
QoS,
|
|
369
392
|
Queue,
|
|
370
393
|
STACK,
|
|
371
394
|
Search,
|
|
@@ -376,13 +399,17 @@ export {
|
|
|
376
399
|
getCacheProps,
|
|
377
400
|
getConfigName,
|
|
378
401
|
getFunctionName,
|
|
402
|
+
getPubSubTopic,
|
|
379
403
|
getQueueName,
|
|
404
|
+
getQueueUrl,
|
|
380
405
|
getSearchName,
|
|
406
|
+
getSearchProps,
|
|
381
407
|
getStoreName,
|
|
382
408
|
getTableName,
|
|
383
409
|
getTaskName,
|
|
384
410
|
getTopicName,
|
|
385
411
|
mockFunction,
|
|
412
|
+
mockPubSub,
|
|
386
413
|
mockQueue,
|
|
387
414
|
mockTask,
|
|
388
415
|
mockTopic
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@awsless/awsless",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.311",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -28,15 +28,16 @@
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
|
+
"@awsless/s3": "^0.0.17",
|
|
31
32
|
"@awsless/lambda": "^0.0.25",
|
|
32
33
|
"@awsless/open-search": "^0.0.15",
|
|
33
|
-
"@awsless/s3": "^0.0.17",
|
|
34
|
-
"@awsless/validate": "^0.0.14",
|
|
35
|
-
"@awsless/redis": "^0.0.12",
|
|
36
34
|
"@awsless/sns": "^0.0.7",
|
|
35
|
+
"@awsless/validate": "^0.0.14",
|
|
37
36
|
"@awsless/ssm": "^0.0.7",
|
|
38
37
|
"@awsless/sqs": "^0.0.7",
|
|
39
|
-
"@awsless/weak-cache": "^0.0.1"
|
|
38
|
+
"@awsless/weak-cache": "^0.0.1",
|
|
39
|
+
"@awsless/redis": "^0.0.12",
|
|
40
|
+
"@awsless/iot": "^0.0.2"
|
|
40
41
|
},
|
|
41
42
|
"dependencies": {
|
|
42
43
|
"@arcanyx/cidr-slicer": "^0.3.0",
|
|
@@ -105,13 +106,13 @@
|
|
|
105
106
|
"zip-a-folder": "^3.1.6",
|
|
106
107
|
"zod": "^3.21.4",
|
|
107
108
|
"zod-to-json-schema": "^3.22.3",
|
|
108
|
-
"@awsless/graphql": "^0.0.9",
|
|
109
|
-
"@awsless/size": "^0.0.1",
|
|
110
109
|
"@awsless/duration": "^0.0.1",
|
|
111
|
-
"@awsless/ts-file-cache": "^0.0.1",
|
|
112
110
|
"@awsless/formation": "^0.0.42",
|
|
113
|
-
"@awsless/
|
|
114
|
-
"@awsless/
|
|
111
|
+
"@awsless/size": "^0.0.1",
|
|
112
|
+
"@awsless/ts-file-cache": "^0.0.1",
|
|
113
|
+
"@awsless/code": "^0.0.10",
|
|
114
|
+
"@awsless/graphql": "^0.0.9",
|
|
115
|
+
"@awsless/validate": "^0.0.14"
|
|
115
116
|
},
|
|
116
117
|
"scripts": {
|
|
117
118
|
"test": "pnpm code test",
|
package/dist/bin.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
package/dist/client.d.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
interface AuthResources {
|
|
2
|
-
}
|
|
3
|
-
declare const Auth: AuthResources;
|
|
4
|
-
declare const getAuthProps: (name: string) => {
|
|
5
|
-
readonly userPoolId: string;
|
|
6
|
-
readonly clientId: string;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
interface GraphQLSchema {
|
|
10
|
-
}
|
|
11
|
-
interface GraphQLResources {
|
|
12
|
-
}
|
|
13
|
-
declare const GraphQL: GraphQLResources;
|
|
14
|
-
declare const getGraphQLProps: (name: string) => {
|
|
15
|
-
endpoint: string;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
interface HTTP {
|
|
19
|
-
}
|
|
20
|
-
type Method = 'GET' | 'POST';
|
|
21
|
-
type Path = string;
|
|
22
|
-
type Params = Record<string, string | number>;
|
|
23
|
-
type Query = Record<string, string>;
|
|
24
|
-
type Body = unknown;
|
|
25
|
-
type Route = {
|
|
26
|
-
param?: Params;
|
|
27
|
-
query?: Query;
|
|
28
|
-
body?: Body;
|
|
29
|
-
response: unknown;
|
|
30
|
-
};
|
|
31
|
-
type Routes = Record<Path, Route>;
|
|
32
|
-
type Schema = Partial<Record<Method, Routes>>;
|
|
33
|
-
type GetRoute<S extends Schema, M extends keyof S, P extends keyof S[M]> = S[M] extends Routes ? S[M][P] : never;
|
|
34
|
-
type Props<R extends Route> = {
|
|
35
|
-
headers?: Record<string, string>;
|
|
36
|
-
params?: R['param'] extends Params ? R['param'] : never;
|
|
37
|
-
query?: R['query'] extends Query ? R['query'] : never;
|
|
38
|
-
body?: R['body'] extends Body ? R['body'] : never;
|
|
39
|
-
};
|
|
40
|
-
type HttpFetcher = (props: {
|
|
41
|
-
method: Method;
|
|
42
|
-
path: Path;
|
|
43
|
-
headers: Headers;
|
|
44
|
-
query?: Query;
|
|
45
|
-
body?: Body;
|
|
46
|
-
}) => unknown;
|
|
47
|
-
declare const createHttpFetcher: (host: string) => HttpFetcher;
|
|
48
|
-
declare const createHttpClient: <S extends Partial<Record<Method, Routes>>>(fetcher: HttpFetcher) => {
|
|
49
|
-
fetch: <M extends keyof S, P extends keyof S[M]>(method: M, routeKey: Extract<P, string>, props?: Props<GetRoute<S, M, P>> | undefined) => Promise<GetRoute<S, M, P>["response"]>;
|
|
50
|
-
get<P_1 extends keyof S["GET"]>(routeKey: Extract<P_1, string>, props?: Props<GetRoute<S, "GET", P_1>> | undefined): Promise<GetRoute<S, "GET", P_1>["response"]>;
|
|
51
|
-
post<P_2 extends keyof S["POST"]>(routeKey: Extract<P_2, string>, props?: Props<GetRoute<S, "POST", P_2>> | undefined): Promise<GetRoute<S, "POST", P_2>["response"]>;
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export { Auth, AuthResources, GraphQL, GraphQLResources, GraphQLSchema, HTTP, HttpFetcher, createHttpClient, createHttpFetcher, getAuthProps, getGraphQLProps };
|
package/dist/server.d.ts
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { AwsCredentialIdentityProvider } from '@aws-sdk/types';
|
|
2
|
-
|
|
3
|
-
declare const regions: readonly ["us-east-2", "us-east-1", "us-west-1", "us-west-2", "af-south-1", "ap-east-1", "ap-south-2", "ap-southeast-3", "ap-southeast-4", "ap-south-1", "ap-northeast-3", "ap-northeast-2", "ap-southeast-1", "ap-southeast-2", "ap-northeast-1", "ca-central-1", "eu-central-1", "eu-west-1", "eu-west-2", "eu-south-1", "eu-west-3", "eu-south-2", "eu-north-1", "eu-central-2", "me-south-1", "me-central-1", "sa-east-1"];
|
|
4
|
-
type Region = (typeof regions)[number];
|
|
5
|
-
|
|
6
|
-
type Credentials = AwsCredentialIdentityProvider;
|
|
7
|
-
|
|
8
|
-
type CommandContext = {
|
|
9
|
-
region: Region;
|
|
10
|
-
credentials: Credentials;
|
|
11
|
-
accountId: string;
|
|
12
|
-
update: (msg: string) => void;
|
|
13
|
-
};
|
|
14
|
-
type CommandHandler = (options: CommandOptions, context: CommandContext) => Promise<string | undefined | void>;
|
|
15
|
-
declare class CommandOptions {
|
|
16
|
-
private opts;
|
|
17
|
-
constructor(args: string[]);
|
|
18
|
-
get(name: string): any;
|
|
19
|
-
private getAssertType;
|
|
20
|
-
number(name: string): number;
|
|
21
|
-
string(name: string): string;
|
|
22
|
-
boolean(name: string): boolean;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
interface FunctionMock {
|
|
26
|
-
}
|
|
27
|
-
interface FunctionMockResponse {
|
|
28
|
-
}
|
|
29
|
-
declare const mockFunction: (cb: (mock: FunctionMock) => void) => FunctionMockResponse;
|
|
30
|
-
|
|
31
|
-
interface QueueMock {
|
|
32
|
-
}
|
|
33
|
-
interface QueueMockResponse {
|
|
34
|
-
}
|
|
35
|
-
declare const mockQueue: (cb: (mock: QueueMock) => void) => QueueMockResponse;
|
|
36
|
-
|
|
37
|
-
interface TaskMock {
|
|
38
|
-
}
|
|
39
|
-
interface TaskMockResponse {
|
|
40
|
-
}
|
|
41
|
-
declare const mockTask: (cb: (mock: TaskMock) => void) => TaskMockResponse;
|
|
42
|
-
|
|
43
|
-
interface TopicMock {
|
|
44
|
-
}
|
|
45
|
-
interface TopicMockResponse {
|
|
46
|
-
}
|
|
47
|
-
declare const mockTopic: (cb: (mock: TopicMock) => void) => TopicMockResponse;
|
|
48
|
-
|
|
49
|
-
declare const getCacheProps: (name: string, stack?: string) => {
|
|
50
|
-
readonly host: string;
|
|
51
|
-
readonly port: number;
|
|
52
|
-
};
|
|
53
|
-
interface CacheResources {
|
|
54
|
-
}
|
|
55
|
-
declare const Cache: CacheResources;
|
|
56
|
-
|
|
57
|
-
declare const getConfigName: (name: string) => string;
|
|
58
|
-
interface ConfigResources {
|
|
59
|
-
}
|
|
60
|
-
declare const Config: ConfigResources;
|
|
61
|
-
|
|
62
|
-
declare const getFunctionName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app--${S}--function--${N}`;
|
|
63
|
-
interface FunctionResources {
|
|
64
|
-
}
|
|
65
|
-
declare const Function: FunctionResources;
|
|
66
|
-
declare const Fn: FunctionResources;
|
|
67
|
-
|
|
68
|
-
declare const getQueueName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app--${S}--queue--${N}`;
|
|
69
|
-
interface QueueResources {
|
|
70
|
-
}
|
|
71
|
-
declare const Queue: QueueResources;
|
|
72
|
-
|
|
73
|
-
declare const getSearchName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app--${S}--search--${N}`;
|
|
74
|
-
interface SearchResources {
|
|
75
|
-
}
|
|
76
|
-
declare const Search: SearchResources;
|
|
77
|
-
|
|
78
|
-
declare const getStoreName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app--${S}--store--${N}`;
|
|
79
|
-
interface StoreResources {
|
|
80
|
-
}
|
|
81
|
-
declare const Store: StoreResources;
|
|
82
|
-
|
|
83
|
-
declare const getTableName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app--${S}--table--${N}`;
|
|
84
|
-
interface TableResources {
|
|
85
|
-
}
|
|
86
|
-
declare const Table: TableResources;
|
|
87
|
-
|
|
88
|
-
declare const getTaskName: <N extends string, S extends string = "stack">(name: N, stack?: S) => `app--${S}--task--${N}`;
|
|
89
|
-
interface TaskResources {
|
|
90
|
-
}
|
|
91
|
-
declare const Task: TaskResources;
|
|
92
|
-
|
|
93
|
-
declare const getTopicName: <N extends string>(name: N) => `app--topic--${N}`;
|
|
94
|
-
interface TopicResources {
|
|
95
|
-
}
|
|
96
|
-
declare const Topic: TopicResources;
|
|
97
|
-
|
|
98
|
-
declare const APP: "app";
|
|
99
|
-
declare const STACK: "stack";
|
|
100
|
-
|
|
101
|
-
export { APP, Cache, CacheResources, CommandContext, CommandHandler, CommandOptions, Config, ConfigResources, Fn, Function, FunctionMock, FunctionMockResponse, FunctionResources, Queue, QueueMock, QueueMockResponse, QueueResources, STACK, Search, SearchResources, Store, StoreResources, Table, TableResources, Task, TaskMock, TaskMockResponse, TaskResources, Topic, TopicMock, TopicMockResponse, TopicResources, getCacheProps, getConfigName, getFunctionName, getQueueName, getSearchName, getStoreName, getTableName, getTaskName, getTopicName, mockFunction, mockQueue, mockTask, mockTopic };
|