Definitions for @turbot/aws-lambda

code

{
"type": "object",
"properties": {
"Location": {
"$ref": "#/definitions/location"
},
"RepositoryType": {
"$ref": "#/definitions/repositoryType"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"Location": "http://turbot.com/lambda.zip",
"RepositoryType": "http://s3.turbot.com/lambda.zip"
}
},
{
"description": "invalid - array is passed for string type",
"input": {
"Location": [
"location"
],
"RepositoryType": [
"http://s3.turbot.com/lambda.zip"
]
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/code",
"modUri": "tmod:@turbot/aws-lambda"
}
}

codeSha256

{
"type": "string",
"tests": [
{
"input": "hk1BHMP4pu+6E86rO4XZa47bwCP8jC14DqxyyEOWUKc="
},
{
"description": "empty string",
"input": ""
},
{
"description": "invalid - object provided instead of string",
"input": {
"hello": null
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/codeSha256",
"modUri": "tmod:@turbot/aws-lambda"
}
}

codeSize

{
"type": "integer",
"tests": [
{
"input": 12312
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - string type provided",
"input": "Hello",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/codeSize",
"modUri": "tmod:@turbot/aws-lambda"
}
}

compatibleArchitectures

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/compatibleArchitectures",
"modUri": "tmod:@turbot/aws-lambda"
}
}

compatibleArchitecturesList

{
"type": "array",
"items": {
"$ref": "#/definitions/compatibleArchitectures"
},
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/compatibleArchitecturesList",
"modUri": "tmod:@turbot/aws-lambda"
}
}

compatibleRuntime

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/compatibleRuntime",
"modUri": "tmod:@turbot/aws-lambda"
}
}

compatibleRuntimeList

{
"type": "array",
"items": {
"$ref": "#/definitions/compatibleRuntime"
},
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/compatibleRuntimeList",
"modUri": "tmod:@turbot/aws-lambda"
}
}

concurrency

{
"type": "object",
"properties": {
"ReservedConcurrentExecutions": {
"$ref": "#/definitions/reservedConcurrentExecutions"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"ReservedConcurrentExecutions": 12345
}
},
{
"description": "invalid - lesss than min value",
"input": {
"ReservedConcurrentExecutions": -123
},
"expected": false
},
{
"description": "invalid - string type provided",
"input": {
"ReservedConcurrentExecutions": "Hello"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/concurrency",
"modUri": "tmod:@turbot/aws-lambda"
}
}

configuration

{
"type": "object",
"properties": {
"CodeSha256": {
"$ref": "#/definitions/codeSha256"
},
"CodeSize": {
"$ref": "#/definitions/codeSize"
},
"Description": {
"$ref": "#/definitions/description"
},
"FunctionArn": {
"$ref": "#/definitions/functionArn"
},
"Handler": {
"$ref": "#/definitions/handler"
},
"KMSKeyArn": {
"$ref": "#/definitions/kmsKeyArn"
},
"LastModified": {
"type": "string"
},
"MasterArn": {
"$ref": "#/definitions/masterArn"
},
"MemorySize": {
"$ref": "#/definitions/memorySize"
},
"RevisionId": {
"$ref": "#/definitions/revisionId"
},
"Role": {
"$ref": "#/definitions/role"
},
"Runtime": {
"$ref": "#/definitions/runtime"
},
"Timeout": {
"$ref": "#/definitions/timeout"
},
"Version": {
"$ref": "#/definitions/version"
},
"DeadLetterConfig": {
"$ref": "#/definitions/deadLetterConfig"
},
"Environment": {
"$ref": "#/definitions/environment"
},
"TracingConfig": {
"$ref": "#/definitions/tracingConfig"
},
"VpcConfig": {
"$ref": "#/definitions/vpcConfig"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"CodeSha256": "7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069",
"CodeSize": 12312,
"Description": "00123",
"FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords",
"Handler": 83,
"KMSKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef",
"LastModified": "2018-07-16T19:20:30+01:00",
"MasterArn": null,
"MemorySize": 1234,
"RevisionId": "v.01",
"Role": "arn:aws:iam::123456789012:role/S3Access",
"Runtime": "nodejs4.3-edge",
"Timeout": 234,
"Version": 12,
"DeadLetterConfig": {
"TargetArn": "arn:aws:iam::123456789012:role/S3Access"
},
"Environment": {
"Error": {
"ErrorCode": 400,
"Message": "Not Found"
},
"Variables": "f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"TracingConfig": {
"Mode": "Active"
},
"VpcConfig": {
"SecurityGroupIds": [
1234567
],
"SubnetIds": [
"subnet-570da01b"
],
"VpcId": "vpc-1234567890abcdef0"
}
}
},
{
"description": "invalid - string type provided",
"input": {
"CodeSha256": "7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069",
"CodeSize": 12355,
"Description": "12345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012112345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012_"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/configuration",
"modUri": "tmod:@turbot/aws-lambda"
}
}

deadLetterConfig

{
"type": "object",
"properties": {
"TargetArn": {
"$ref": "#/definitions/targetArn"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"TargetArn": "arn:aws:iam::123456789012:role/S3Access"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/deadLetterConfig",
"modUri": "tmod:@turbot/aws-lambda"
}
}

description

{
"type": "string",
"minLength": 0,
"maxLength": 256,
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "2017-03-15T01:36:41.958Z"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "min length",
"input": ""
},
{
"description": "max length",
"input": "1234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012"
},
{
"description": "invalid - too long",
"input": "12345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012112345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012_",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/description",
"modUri": "tmod:@turbot/aws-lambda"
}
}

environment

{
"type": "object",
"properties": {
"Error": {
"$ref": "#/definitions/error"
},
"Variables": {
"$ref": "#/definitions/variables"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"Error": {
"ErrorCode": 400,
"Message": "Not Found"
},
"Variables": "f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
}
},
{
"description": "invalid - array passed insted of string",
"input": {
"Error": {
"ErrorCode": [
400
],
"Message": "Not Found"
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/environment",
"modUri": "tmod:@turbot/aws-lambda"
}
}

error

{
"type": "object",
"properties": {
"ErrorCode": {
"$ref": "#/definitions/errorCode"
},
"Message": {
"$ref": "#/definitions/message"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"ErrorCode": 400,
"Message": "Not Found"
}
},
{
"description": "invalid - array passed insted of string",
"input": {
"ErrorCode": [
400
],
"Message": "Not Found"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/error",
"modUri": "tmod:@turbot/aws-lambda"
}
}

errorCode

{
"type": "string",
"pattern": "^[0-9]{3}$",
"tests": [
{
"input": 400
},
{
"input": 403
},
{
"input": 200
},
{
"description": "invalid - array passed",
"input": [
500
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/errorCode",
"modUri": "tmod:@turbot/aws-lambda"
}
}

function

{
"type": "object",
"properties": {
"FunctionName": {
"$ref": "#/definitions/functionName"
},
"FunctionArn": {
"$ref": "#/definitions/functionAka"
},
"Qualifier": {
"$ref": "#/definitions/qualifier"
},
"Code": {
"$ref": "#/definitions/code"
},
"Concurrency": {
"$ref": "#/definitions/concurrency"
},
"Configuration": {
"$ref": "#/definitions/configuration"
},
"Tags": {
"$ref": "#/definitions/tags"
},
"Policy": {
"$ref": "#/definitions/policy"
},
"RevisionId": {
"$ref": "#/definitions/revisionId"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/functionAka"
}
},
"title": {
"$ref": "#/definitions/functionName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"lastUsedTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"FunctionName": "topic",
"FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords",
"Qualifier": "testing$qualifier",
"Code": {
"Location": "http://turbot.com/lambda.zip",
"RepositoryType": "http://s3.turbot.com/lambda.zip"
},
"Concurrency": {
"ReservedConcurrentExecutions": 1234
},
"Configuration": {
"CodeSha256": "7f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069",
"CodeSize": 12312,
"Description": "00123",
"FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords",
"Handler": 83,
"KMSKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef",
"LastModified": "2020-01-09T13:53:34.774+0000",
"MasterArn": "arn:aws:lambda:us-east-1:123456789012:function:abcd1234-a123-456a-a12b-a123b4cd56ef",
"MemorySize": 1234,
"RevisionId": "v.01",
"Role": "arn:aws:iam::123456789012:role/S3Access",
"Runtime": "nodejs4.3-edge",
"Timeout": 234,
"Version": 12,
"DeadLetterConfig": {
"TargetArn": "arn:aws:iam::123456789012:role/S3Access"
},
"Environment": {
"Error": {
"ErrorCode": 400,
"Message": "Not Found"
},
"Variables": "f83b1657ff1fc53b92dc18148a1d65dfc2d4b1fa3d677284addd200126d9069"
},
"TracingConfig": {
"Mode": "Active"
},
"VpcConfig": {
"SecurityGroupIds": [
"1234567"
],
"SubnetIds": [
"subnet-570da01b"
],
"VpcId": "vpc-1234567890abcdef0"
}
},
"Tags": {
"foo": "bar"
},
"Policy": {
"Version": "2012-10-17",
"Id": "default",
"Statement": [
{
"Sid": "AWSEvents_turbot-test-001_Id486653191267",
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-east-2:624358524054:function:test-ved-3",
"Condition": {
"ArnLike": {
"AWS:SourceArn": "arn:aws:events:us-east-2:624358524054:rule/turbot-test-001"
}
}
},
{
"Sid": "AWSEvents_ved-test-1_Id3143705120938",
"Effect": "Allow",
"Principal": {
"Service": "events.amazonaws.com"
},
"Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-east-2:624358524054:function:test-ved-3",
"Condition": {
"ArnLike": {
"AWS:SourceArn": "arn:aws:events:us-east-2:624358524054:rule/ved-test-1"
}
}
}
]
},
"RevisionId": "938287c6-4f39-4567-a0ac-30d4508cb555",
"turbot": {
"akas": [
"arn:aws:lambda:us-east-1:123456789012:function:function-name"
],
"title": "topic",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/function",
"modUri": "tmod:@turbot/aws-lambda"
}
}

functionAka

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:lambda:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:\\d{12}:function:[a-zA-Z0-9-.]+(:($LATEST|[a-zA-Z0-9-]+))?",
"tests": [
{
"input": "arn:aws-us-gov:lambda:us-gov-east-1:123456789012:function:ProcessKinesisRecords"
},
{
"description": "Valid - Base case",
"input": "arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:lambda:us-east-1:123456789012:functions:ProcessKinesisRecords",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:lambda:use-east-1:123456789012:function:ProcessKinesisRecords",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:lambda:us-east-1:123456789012789:function:ProcessKinesisRecords",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/functionAka",
"modUri": "tmod:@turbot/aws-lambda"
}
}

functionAlias

{
"type": "object",
"properties": {
"AliasArn": {
"$ref": "#/definitions/functionAliasAka"
},
"Description": {
"type": "string"
},
"FunctionName": {
"$ref": "#/definitions/functionName"
},
"FunctionVersion": {
"type": "string"
},
"Name": {
"$ref": "#/definitions/functionAliasName"
},
"RevisionId": {
"$ref": "#/definitions/revisionID"
},
"RoutingConfig": {
"type": "object",
"properties": {
"AdditionalVersionWeights": {
"type": "object"
}
}
},
"turbot": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"AliasArn": "arn:aws:lambda:us-east-2:986325076436:function:turbottest17131:turbottest25628",
"Name": "turbottest25628",
"FunctionVersion": null,
"Description": "1",
"RevisionId": "36316590-c141-4ebc-abf9-34d4ebe904ef",
"RoutingConfig": {
"AdditionalVersionWeights": {
"1": 0
}
},
"turbot": {
"akas": [
"arn:aws:lambda:us-east-2:986325076436:function:turbottest17131:turbottest25628"
],
"title": "topic",
"custom": {
"FunctionName": "turbottest17131",
"createTimestamp": "2020-10-13T11:00:20.000Z",
"aws": {
"accountId": 986325076436,
"partition": "aws",
"regionName": "us-east-2"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/functionAlias",
"modUri": "tmod:@turbot/aws-lambda"
}
}

functionAliasAka

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:lambda:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:\\d{12}:function:[a-zA-Z0-9-.]+(:([a-zA-Z0-9-_]{1,20}))",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords:test01"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:lambda:us-east-1:123456789012:functions:ProcessKinesisRecords:test01",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:lambda:use-east-1:123456789012:function:ProcessKinesisRecords:test01",
"expected": false
},
{
"description": "Invalid - Function Alias name is missing",
"input": "arn:aws:lambda:use-east-1:123456789012:function:ProcessKinesisRecords:",
"expected": false
},
{
"description": "Invalid - Invalid Function alias length",
"input": "arn:aws:lambda:use-east-1:123456789012:function:ProcessKinesisRecords:test01ytgfhydjskljhu77",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:lambda:us-east-1:123456789012789:function:ProcessKinesisRecords:test01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/functionAliasAka",
"modUri": "tmod:@turbot/aws-lambda"
}
}

functionAliasName

{
"type": "string",
"pattern": "^[a-zA-Z-_][a-zA-Z0-9-_]{1,20}$",
"tests": [
{
"input": "_turbottest123"
},
{
"description": "Valid - Base case",
"input": "turbottest01"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "Invalid - Invalid Function alias length",
"input": "test01ytgfhydjskljhu77",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/functionAliasName",
"modUri": "tmod:@turbot/aws-lambda"
}
}

functionArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:lambda:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:\\d{12}:function:[a-zA-Z0-9-.]+(:($LATEST|[a-zA-Z0-9-]+))?",
"tests": [
{
"input": "arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords"
},
{
"input": "arn:aws:lambda:us-east-1:123456789012:function:ProcessKinesisRecords:1.0"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:lambda:us-east-1:12345678902:function:ProcessKinesisRecords",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/functionArn",
"modUri": "tmod:@turbot/aws-lambda"
}
}

functionName

{
"type": "string",
"pattern": "^[a-zA-Z0-9_-]{1,64}$",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "TestThe-Kitchen_Sink"
},
{
"description": "min length",
"input": "1"
},
{
"description": "max length",
"input": "1234567890123456789012345678901234567890123456712345678901234567"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/functionName",
"modUri": "tmod:@turbot/aws-lambda"
}
}

functionVersion

{
"type": "object",
"properties": {
"CodeSha256": {
"type": "string"
},
"CodeSize": {
"type": "integer"
},
"DeadLetterConfig": {
"type": "object",
"properties": {
"TargetArn": {
"type": "string"
}
}
},
"Description": {
"type": "string"
},
"Environment": {
"type": "object",
"properties": {
"Error": {
"type": "object",
"properties": {
"ErrorCode": {
"type": "string"
},
"Message": {
"type": "string"
}
}
},
"Variables": {
"type": "object"
}
}
},
"FileSystemConfigs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Arn": {
"type": "string"
},
"LocalMountPath": {
"type": "string"
}
}
}
},
"FunctionArn": {
"$ref": "#/definitions/functionAka"
},
"FunctionName": {
"type": "string"
},
"Handler": {
"type": "string"
},
"KMSKeyArn": {
"type": "string"
},
"LastModified": {
"type": "string"
},
"LastUpdateStatus": {
"$ref": "#/definitions/LastUpdateStatus"
},
"LastUpdateStatusReason": {
"type": "string"
},
"LastUpdateStatusReasonCode": {
"$ref": "#/definitions/LastUpdateStatusReasonCode"
},
"Layers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Arn": {
"type": "string"
},
"CodeSize": {
"type": "integer"
}
}
}
},
"MasterArn": {
"type": "string"
},
"MemorySize": {
"type": "integer"
},
"RevisionId": {
"type": "string"
},
"Role": {
"type": "string"
},
"Runtime": {
"$ref": "#/definitions/Runtime"
},
"State": {
"$ref": "#/definitions/State"
},
"StateReason": {
"type": "string"
},
"StateReasonCode": {
"$ref": "#/definitions/StateReasonCode"
},
"Timeout": {
"type": "integer"
},
"TracingConfig": {
"type": "object",
"properties": {
"Mode": {
"$ref": "#/definitions/Mode"
}
}
},
"Version": {
"type": "string"
},
"VpcConfig": {
"type": "object",
"properties": {
"SecurityGroupIds": {
"type": "array",
"items": {
"type": "string"
}
},
"SubnetIds": {
"type": "array",
"items": {
"type": "string"
}
},
"VpcId": {
"type": "string"
}
}
},
"Aliases": {
"type": "array",
"items": {
"type": "object",
"properties": {
"AliasArn": {
"type": "string"
},
"Name": {
"type": "string"
},
"FunctionVersion": {
"type": "string"
},
"Description": {
"type": "string"
},
"RoutingConfig": {
"type": "array",
"items": {
"type": "object",
"properties": {
"AdditionalVersionWeights": {
"type": "object"
}
}
}
},
"RevisionId": {
"type": "string"
}
}
}
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/functionVersionAka"
}
},
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Aliases": [],
"CodeSha256": "KGEkwkPO/hIudbdd3s5mWBJaG5INbNC5CxIDv+UbtkY=",
"CodeSize": 226,
"Description": "",
"FunctionArn": "arn:aws:lambda:us-east-2:986325076436:function:api_gateway_authorizer:$LATEST",
"FunctionName": "api_gateway_authorizer",
"Handler": "exports.example",
"LastModified": "2020-10-06T07:23:44.815+0000",
"MemorySize": 128,
"RevisionId": "d3f17820-4b6d-40bb-99d7-bac79697ec9c",
"Role": "arn:aws:iam::986325076436:role/turbottest61606",
"Runtime": "python3.7",
"Timeout": 3,
"TracingConfig": {
"Mode": "PassThrough"
},
"Version": "$LATEST",
"turbot": {
"akas": [
"arn:aws:lambda:us-east-2:986325076436:function:api_gateway_authorizer:$LATEST"
],
"custom": {
"aws": {
"accountId": "986325076436",
"partition": "aws",
"regionName": "us-east-2"
}
},
"title": "api_gateway_authorizer:$LATEST"
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/functionVersion",
"modUri": "tmod:@turbot/aws-lambda"
}
}

functionVersionAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:lambda:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[0-9]+))$",
"tests": [
{
"description": "Valid - Base Case",
"input": "arn:aws:lambda:us-east-2:986325076436:function:api_gateway_authorizer:$LATEST"
},
{
"description": "Invalid - version is missing",
"input": "arn:aws:lambda:us-east-2:986325076436:function:api_gateway_authorizer",
"expected": false
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:lambda:us-east-2:986325076436:functions:api_gateway_authorizer:$LATEST",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:lambda:use-east-1:986325076436:function:api_gateway_authorizer:$LATEST",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:lambda:us-east-2:986325076436789:function:api_gateway_authorizer:$LATEST",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/functionVersionAka",
"modUri": "tmod:@turbot/aws-lambda"
}
}

handler

{
"type": "string",
"maxLength": 128,
"pattern": "^[^\\s]+$",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "2017-03-15T01:36:41.958Z"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "max length",
"input": "12345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012"
},
{
"description": "invalid - too long",
"input": "123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121_",
"expected": false
},
{
"description": "invalid - spaces not allowed",
"input": "hi hi",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/handler",
"modUri": "tmod:@turbot/aws-lambda"
}
}

id

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/id",
"modUri": "tmod:@turbot/aws-lambda"
}
}

kmsKeyArn

{
"anyOf": [
{
"type": "string",
"pattern": "^(arn:aws(-us-gov|-cn)?:[a-z0-9-.]+:.*)$"
},
{
"type": "null"
}
],
"tests": [
{
"description": "invalid - not null or not in pattern",
"input": "foo",
"expected": false
},
{
"description": "invalid - not null or not in pattern",
"input": "00123",
"expected": false
},
{
"input": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef"
},
{
"description": "null value",
"input": null
},
{
"description": "empty string",
"input": ""
},
{
"description": "invalid - passed array instead of string",
"input": [
"foo"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/kmsKeyArn",
"modUri": "tmod:@turbot/aws-lambda"
}
}

lambda

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"name": {
"const": "Lambda"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/lambdaAka"
}
},
"title": {
"const": "Lambda"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"name": "Lambda",
"turbot": {
"akas": [
"arn:aws:lambda:us-east-1:123456789012"
],
"title": "Lambda",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1",
"partition": "aws"
}
}
}
}
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/lambda",
"modUri": "tmod:@turbot/aws-lambda"
}
}

lambdaAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:lambda:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}$",
"tests": [
{
"description": "Base",
"input": "arn:aws:lambda:us-east-1:123456789012"
},
{
"description": "Valid - gov partition",
"input": "arn:aws-us-gov:lambda:us-gov-east-1:123456786354"
},
{
"description": "Valid - china partition",
"input": "arn:aws-cn:lambda:cn-north-1:123456786354"
},
{
"description": "Invalid us gov partition",
"input": "arn:aws-cn-gov:lambda:us-gov-east-1:123456786354",
"expected": false
},
{
"description": "Invalid china partition",
"input": "arn:aws-us-cn:lambda:cn-north-1:123456786354",
"expected": false
},
{
"description": "Invalid service name",
"input": "arn:aws:amplifye:us-east-1:123456789012",
"expected": false
},
{
"description": "Invalid region name",
"input": "arn:aws:lambda:us-eastdk-74381:123456786354",
"expected": false
},
{
"description": "Invalid gov region",
"input": "arn:aws-us-gov:lambda:us-east-2-74381:123456786354",
"expected": false
},
{
"description": "Invalid china partition",
"input": "arn:aws-us-cn:lambda:cn-north-1:123456786354",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/lambdaAka",
"modUri": "tmod:@turbot/aws-lambda"
}
}

LastUpdateStatus

{
"type": "string",
"enum": [
"Successful",
"Failed",
"InProgress"
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/LastUpdateStatus",
"modUri": "tmod:@turbot/aws-lambda"
}
}

LastUpdateStatusReasonCode

{
"type": "string",
"enum": [
"EniLimitExceeded",
"InsufficientRolePermissions",
"InvalidConfiguration",
"InternalError",
"SubnetOutOfIPAddresses",
"InvalidSubnet",
"InvalidSecurityGroup"
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/LastUpdateStatusReasonCode",
"modUri": "tmod:@turbot/aws-lambda"
}
}

layer

{
"type": "object",
"properties": {
"LayerName": {
"type": "string"
},
"LayerArn": {
"$ref": "#/definitions/layerAka"
},
"LatestMatchingVersion": {
"type": "object",
"properties": {
"LayerVersionArn": {
"type": "string"
},
"Version": {
"type": "integer"
},
"CreatedDate": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"CompatibleRuntimes": {
"$ref": "#/definitions/compatibleRuntimeList"
},
"CompatibleArchitectures": {
"$ref": "#/definitions/compatibleArchitecturesList"
}
}
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/layerAka"
}
},
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"LayerName": "testlayer",
"LayerArn": "arn:aws:lambda:us-east-2:986325076436:layer:testlayer",
"LatestMatchingVersion": {
"LayerVersionArn": "arn:aws:lambda:us-east-2:986325076436:layer:testlayer:3",
"Version": 3,
"CreatedDate": "2020-10-13T11:00:20.000Z",
"CompatibleRuntimes": [
"python3.8",
"python3.7"
],
"CompatibleArchitectures": [
"x86_64"
]
},
"turbot": {
"akas": [
"arn:aws:lambda:us-east-2:986325076436:layer:testlayer"
],
"custom": {
"aws": {
"accountId": "986325076436",
"partition": "aws",
"regionName": "us-east-2"
}
},
"title": "testlayer"
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/layer",
"modUri": "tmod:@turbot/aws-lambda"
}
}

layerAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:lambda:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:\\d{12}:layer:[a-zA-Z0-9-_]+$",
"tests": [
{
"description": "Valid - Base Case",
"input": "arn:aws:lambda:us-east-2:986325076436:layer:testlayer"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:lambda:us-east-2:986325076436:layers:testlayer",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:lambda:use-east-2:986325076436:layer:testlayer",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:lambda:us-east-2:9863250764361231:layer:testlayer",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/layerAka",
"modUri": "tmod:@turbot/aws-lambda"
}
}

location

{
"type": "string",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "TestThe-Kitchen_Sink"
},
{
"input": "http://turbot.com/lambda.zip"
},
{
"description": "invalid - array in string",
"input": [
"12312"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/location",
"modUri": "tmod:@turbot/aws-lambda"
}
}

masterArn

{
"anyOf": [
{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:lambda:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?$"
},
{
"type": "null"
}
],
"tests": [
{
"description": "invalid - not null or not in pattern",
"input": "foo",
"expected": false
},
{
"description": "invalid - not null or not in pattern",
"input": "00123",
"expected": false
},
{
"input": "arn:aws:lambda:us-east-1:123456789012:function:abcd1234-a123-456a-a12b-a123b4cd56ef"
},
{
"description": "null value",
"input": null
},
{
"description": "empty string",
"input": ""
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/masterArn",
"modUri": "tmod:@turbot/aws-lambda"
}
}

memorySize

{
"type": "integer",
"minimum": 128,
"maximum": 3008,
"tests": [
{
"input": 1234
},
{
"description": "min value",
"input": 128
},
{
"description": "max value",
"input": 3008
},
{
"description": "invalid - string type provided",
"input": "Hello",
"expected": false
},
{
"description": "invalid - less than min value",
"input": 127,
"expected": false
},
{
"description": "invalid - greater than max value",
"input": 11111111111,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/memorySize",
"modUri": "tmod:@turbot/aws-lambda"
}
}

message

{
"type": "string",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "2017-03-15T01:36:41.958Z"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "invalid - array passed",
"input": [
500
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/message",
"modUri": "tmod:@turbot/aws-lambda"
}
}

mode

{
"type": "string",
"enum": [
"Active",
"PassThrough"
],
"tests": [
{
"input": "Active"
},
{
"input": "PassThrough"
},
{
"description": "invalid - case sensitive",
"input": "ACTIVE",
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/mode",
"modUri": "tmod:@turbot/aws-lambda"
}
}

Mode

{
"type": "string",
"enum": [
"Active",
"PassThrough"
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/Mode",
"modUri": "tmod:@turbot/aws-lambda"
}
}

policy

{
"type": "object",
"properties": {
"Version": {
"$ref": "#/definitions/policyVersion"
},
"Id": {
"$ref": "#/definitions/id"
},
"Statement": {
"$ref": "#/definitions/statement"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/policy",
"modUri": "tmod:@turbot/aws-lambda"
}
}

policyVersion

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/policyVersion",
"modUri": "tmod:@turbot/aws-lambda"
}
}

qualifier

{
"type": "string",
"pattern": "^[a-zA-Z0-9$_-]+$",
"minLength": 1,
"maxLength": 128,
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "TestThe-Kitchen_Sink"
},
{
"description": "min length",
"input": "1"
},
{
"description": "max length",
"input": "1234567890123456789012345678901234567890123456712345678901234567"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - cannot start with dot",
"input": ".aaa",
"expected": false
},
{
"description": "invalid - cannot end with dot",
"input": "aaa.",
"expected": false
},
{
"description": "invalid - too short",
"input": "",
"expected": false
},
{
"description": "invalid - too long",
"input": "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789",
"expected": false
},
{
"description": "invalid - percentile not allowed pattern",
"input": "aaa%bbb",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/qualifier",
"modUri": "tmod:@turbot/aws-lambda"
}
}

repositoryType

{
"type": "string",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "TestThe-Kitchen_Sink"
},
{
"input": "http://s3.turbot.com/lambda.zip"
},
{
"description": "invalid - array in string",
"input": [
"12312"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/repositoryType",
"modUri": "tmod:@turbot/aws-lambda"
}
}

reservedConcurrentExecutions

{
"type": "integer",
"minimum": 0,
"tests": [
{
"input": 12345
},
{
"description": "min value",
"input": 0
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - string type provided",
"input": "Hello",
"expected": false
},
{
"description": "invalid - less than min value",
"input": -1,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/reservedConcurrentExecutions",
"modUri": "tmod:@turbot/aws-lambda"
}
}

revisionId

{
"type": "string",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "v.01"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "null value",
"input": null
},
{
"description": "empty string",
"input": ""
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/revisionId",
"modUri": "tmod:@turbot/aws-lambda"
}
}

revisionID

{
"type": "string",
"pattern": "^[0-9a-z-]{36}$",
"tests": [
{
"description": "Valid - Base case",
"input": "36316590-c141-4ebc-abf9-34d4ebe904ef"
},
{
"description": "invalid - revision id length",
"input": "36316590-c141-4ebc-abf9-34d4e04ef",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/revisionID",
"modUri": "tmod:@turbot/aws-lambda"
}
}

role

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
"tests": [
{
"input": "arn:aws:iam::123456789012:role/S3Access"
},
{
"input": "arn:aws:iam::123456789012:role/application_abc/component_xyz/S3Acces"
},
{
"input": "arn:aws-us-gov:iam::123456789012:role/application_abc/component_xyz/S3Acces"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - cannot start with dot",
"input": ".aaa",
"expected": false
},
{
"description": "invalid - cannot end with dot",
"input": "aaa.",
"expected": false
},
{
"description": "invalid - percentile not allowed pattern",
"input": "aaa%bbb",
"expected": false
},
{
"description": "invalid - number provided",
"input": 123,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/role",
"modUri": "tmod:@turbot/aws-lambda"
}
}

runtime

{
"type": "string",
"tests": [
{
"input": "go1.x"
},
{
"input": "java8"
},
{
"description": "invalid - array passed instead of string",
"input": [
"foo"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/runtime",
"modUri": "tmod:@turbot/aws-lambda"
}
}

Runtime

{
"type": "string",
"enum": [
"nodejs",
"nodejs4.3",
"nodejs6.10",
"nodejs8.10",
"nodejs10.x",
"nodejs12.x",
"java8",
"java11",
"python2.7",
"python3.6",
"python3.7",
"python3.8",
"dotnetcore1.0",
"dotnetcore2.0",
"dotnetcore2.1",
"dotnetcore3.1",
"nodejs4.3-edge",
"go1.x",
"ruby2.5",
"ruby2.7",
"provided"
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/Runtime",
"modUri": "tmod:@turbot/aws-lambda"
}
}

securityGroupIds

{
"type": "array",
"maxItems": 5,
"items": {
"type": "string"
},
"tests": [
{
"input": [
"1234567",
"1234561"
]
},
{
"description": "max items",
"input": [
"1234567",
"1234561",
"6544561",
"1234561",
"hello"
]
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/securityGroupIds",
"modUri": "tmod:@turbot/aws-lambda"
}
}

State

{
"type": "string",
"enum": [
"Pending",
"Active",
"Inactive",
"Failed"
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/State",
"modUri": "tmod:@turbot/aws-lambda"
}
}

statement

{
"type": "array",
"items": {
"type": "object"
},
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/statement",
"modUri": "tmod:@turbot/aws-lambda"
}
}

StateReasonCode

{
"type": "string",
"enum": [
"Idle",
"Creating",
"Restoring",
"EniLimitExceeded",
"InsufficientRolePermissions",
"InvalidConfiguration",
"InternalError",
"SubnetOutOfIPAddresses",
"InvalidSubnet",
"InvalidSecurityGroup"
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/StateReasonCode",
"modUri": "tmod:@turbot/aws-lambda"
}
}

subnetIds

{
"type": "array",
"maxItems": 16,
"items": {
"type": "string"
},
"tests": [
{
"input": [
"subnet-570da01b",
"subnet-subnet-570da01b"
]
},
{
"description": "max items",
"input": [
"1234567",
"1234561",
"6544561",
"1234561",
"hello"
]
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/subnetIds",
"modUri": "tmod:@turbot/aws-lambda"
}
}

tags

{
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/tagValue"
},
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/tags",
"modUri": "tmod:@turbot/aws-lambda"
}
}

tagValue

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/tagValue",
"modUri": "tmod:@turbot/aws-lambda"
}
}

targetArn

{
"anyOf": [
{
"type": "string",
"pattern": "^(arn:aws(-us-gov|-cn)?:[a-z0-9-.]+:.*)$"
},
{
"type": "null"
}
],
"tests": [
{
"description": "invalid - not null or not in pattern",
"input": "foo",
"expected": false
},
{
"description": "invalid - not null or not in pattern",
"input": "00123",
"expected": false
},
{
"input": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef"
},
{
"description": "null value",
"input": null
},
{
"description": "empty string",
"input": ""
},
{
"description": "invalid - passed array instead of string",
"input": [
"foo"
],
"expected": false
},
{
"input": "arn:aws:iam::123456789012:role/S3Access"
},
{
"input": "arn:aws:iam::123456789012:role/application_abc/component_xyz/S3Acces"
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/targetArn",
"modUri": "tmod:@turbot/aws-lambda"
}
}

timeout

{
"type": "integer",
"minimum": 1,
"default": 3,
"tests": [
{
"input": 1234
},
{
"description": "min value",
"input": 1
},
{
"description": "invalid - string type provided",
"input": "Hello",
"expected": false
},
{
"description": "invalid - less than min value",
"input": -2,
"expected": false
},
{
"description": "invalid - null value",
"input": null,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/timeout",
"modUri": "tmod:@turbot/aws-lambda"
}
}

tracingConfig

{
"type": "object",
"properties": {
"Mode": {
"$ref": "#/definitions/mode"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"Mode": "Active"
}
},
{
"description": "invalid - case sensitive mode",
"input": null,
"Mode": "ACTIVE",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/tracingConfig",
"modUri": "tmod:@turbot/aws-lambda"
}
}

variables

{
"type": "string",
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/variables",
"modUri": "tmod:@turbot/aws-lambda"
}
}

version

{
"type": "string",
"pattern": "^(\\$LATEST|[0-9]+)$",
"minLength": 1,
"maxLength": 1024,
"tests": [
{
"input": 1
},
{
"input": 12
},
{
"description": "min length",
"input": "1"
},
{
"description": "max length",
"input": "1234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - cannot start with dot",
"input": ".aaa",
"expected": false
},
{
"description": "invalid - cannot end with dot",
"input": "aaa.",
"expected": false
},
{
"description": "invalid - too short",
"input": "",
"expected": false
},
{
"description": "invalid - percentile not allowed pattern",
"input": "aaa%bbb",
"expected": false
},
{
"description": "invalid - char in verison provided",
"input": "123A",
"expected": false
},
{
"description": "invalid - too long",
"input": "12345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/version",
"modUri": "tmod:@turbot/aws-lambda"
}
}

vpcConfig

{
"type": "object",
"properties": {
"SecurityGroupIds": {
"$ref": "#/definitions/securityGroupIds"
},
"SubnetIds": {
"$ref": "#/definitions/subnetIds"
},
"VpcId": {
"$ref": "#/definitions/vpcId"
}
},
"tests": [
{
"description": "all details provided",
"input": {
"SecurityGroupIds": [
1234567
],
"SubnetIds": [
"subnet-570da01b"
],
"VpcId": "vpc-1234567890abcdef0"
}
},
{
"description": "invalid - wrong input details provided",
"input": null,
"SecurityGroupIds": 1234567,
"SubnetIds": "subnet-570da01b",
"VpcId": "vpc-1234567890abcdef01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/vpcConfig",
"modUri": "tmod:@turbot/aws-lambda"
}
}

vpcId

{
"type": "string",
"pattern": "^(vpc-[0-9a-f]{1,17}$)$|^$",
"tests": [
{
"input": "vpc-1234567890abcdef0"
},
{
"input": "vpc-dfafe5b7"
},
{
"input": ""
},
{
"description": "invalid - cannot start with dot",
"input": ".aaa",
"expected": false
},
{
"description": "invalid - cannot end with dot",
"input": "aaa.",
"expected": false
},
{
"description": "invalid - percentile not allowed pattern",
"input": "aaa%bbb",
"expected": false
},
{
"description": "invalid - number provided",
"input": 123,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-lambda#/definitions/vpcId",
"modUri": "tmod:@turbot/aws-lambda"
}
}