Definitions for @turbot/aws-events

arn

{
"type": "string",
"minLength": 1,
"maxLength": 1600,
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "arn:aws:events:us-east-1:123456789012:rule/test"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "min length",
"input": "1"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/arn",
"modUri": "tmod:@turbot/aws-events"
}
}

attempts

{
"type": "integer",
"minimum": 1,
"maximum": 10,
"tests": [
{
"input": 5
},
{
"input": 1
},
{
"description": "minimum value",
"input": 1
},
{
"description": "maximum value",
"input": 10
},
{
"description": "invalid - string type provided",
"input": "hello",
"expected": false
},
{
"description": "invalid - greater than maximum allowed",
"input": 11111111,
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - null value",
"input": null,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/attempts",
"modUri": "tmod:@turbot/aws-events"
}
}

batchArrayParameters

{
"type": "object",
"properties": {
"Aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"Size": {
"$ref": "#/definitions/batchArrayParametersSize"
}
},
"required": [
"Size"
],
"tests": [
{
"description": "base case",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"Size": 1
},
"expected": false
},
{
"description": "additional property added",
"input": {
"Size": 10000,
"Hola": "Namaste!"
}
},
{
"description": "invalid - string type provided",
"input": {
"Size": "three"
},
"expected": false
},
{
"description": "invalid - less than minimum",
"input": {
"Size": 0
},
"expected": false
},
{
"description": "invalid - required size details not provided",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/batchArrayParameters",
"modUri": "tmod:@turbot/aws-events"
}
}

batchArrayParametersSize

{
"type": "integer",
"minimum": 2,
"maximum": 10000,
"tests": [
{
"input": 123
},
{
"input": 83
},
{
"description": "minimum value",
"input": 2
},
{
"description": "maximum value",
"input": 10000
},
{
"description": "invalid - null value",
"input": null,
"expected": false
},
{
"description": "invalid - string type provided",
"input": "hello",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/batchArrayParametersSize",
"modUri": "tmod:@turbot/aws-events"
}
}

batchParameters

{
"type": "object",
"properties": {
"Aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"ArrayProperties": {
"$ref": "#/definitions/batchArrayParameters"
},
"JobDefinition": {
"$ref": "#/definitions/jobDefinition"
},
"JobName": {
"$ref": "#/definitions/jobName"
},
"RetryStrategy": {
"$ref": "#/definitions/batchRetryStrategy"
}
},
"required": [
"JobDefinition",
"JobName"
],
"tests": [
{
"description": "base case",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"JobDefinition": "arn:aws:batch:us-west-2:012345678910:job-definition/nvidia-smi:1",
"JobName": "unique-job-name",
"ArrayProperties": {
"Size": 5
},
"RetryStrategy": {
"Attempts": 1
}
}
},
{
"description": "invalid - required value of JobName not provided",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"JobDefinition": "arn:aws:batch:us-west-2:012345678910:job-definition/nvidia-smi:1"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/batchParameters",
"modUri": "tmod:@turbot/aws-events"
}
}

batchRetryStrategy

{
"type": "object",
"properties": {
"Aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"Attempts": {
"$ref": "#/definitions/attempts"
}
},
"required": [
"Attempts"
],
"tests": [
{
"description": "base case",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"Attempts": 1
}
},
{
"description": "invalid - less than minimum allowed",
"input": {
"Attempts": 0
},
"expected": false
},
{
"description": "invalid - string data type provided",
"input": {
"Attempts": "Five"
},
"expected": false
},
{
"description": "invalid - greater than maximum allowed",
"input": {
"Attempts": 100
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/batchRetryStrategy",
"modUri": "tmod:@turbot/aws-events"
}
}

escParameters

{
"type": "object",
"properties": {
"Aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"TaskCount": {
"$ref": "#/definitions/taskCount"
},
"TaskDefinitionArn": {
"$ref": "#/definitions/taskDefinitionArn"
}
},
"required": [
"TaskDefinitionArn"
],
"tests": [
{
"description": "base case",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"TaskDefinitionArn": "arn:aws:batch:us-west-2:012345678910:job-definition/nvidia-smi:1",
"TaskCount": 100
}
},
{
"description": "invalid - empty string",
"input": {
"Aws": {
"AccountId": 123456789012,
"RegionName": "us-east-1"
},
"TaskDefinitionArn": "",
"TaskCount": 100
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/escParameters",
"modUri": "tmod:@turbot/aws-events"
}
}

eventBus

{
"type": "object",
"properties": {
"Arn": {
"$ref": "#/definitions/arn"
},
"Name": {
"type": "string"
},
"Policy": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/eventBusAka"
}
},
"title": {
"$ref": "#/definitions/eventBusName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Name": "turbotEventBus",
"Arn": "arn:aws:events:us-east-1:123456789012:event-bus/turbotEventBus",
"Policy": "hello",
"turbot": {
"akas": [
"arn:aws:events:us-east-1:123456789012:event-bus/turbotEventBus"
],
"title": "turbotEventBus",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1",
"partition": "aws"
}
}
}
}
},
{
"description": "Invalid - Missing Name",
"input": {
"Arn": "arn:aws:events:us-east-1:123456789012:event-bus/turbotEventBus",
"Policy": "hello",
"turbot": {
"akas": [
"arn:aws:events:us-east-1:123456789012:event-bus/turbotEventBus"
],
"title": "turbotEventBus",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1",
"partition": "aws"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Missing turbot data",
"input": {
"Name": "turbotEventBus",
"Arn": "arn:aws:events:us-east-1:123456789012:event-bus/turbotEventBus",
"Policy": "hello"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/eventBus",
"modUri": "tmod:@turbot/aws-events"
}
}

eventBusAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:events:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:event-bus/[A-Za-z0-9_.-]{1,256}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:events:us-east-1:123456789012:event-bus/turbotEventBus"
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:events:use-east-12:123456789012:event-bus/turbotEventBus",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:events:us-east-1:1234567890123:event-bus/turbotEventBus",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/eventBusAka",
"modUri": "tmod:@turbot/aws-events"
}
}

eventBusName

{
"type": "string",
"pattern": "^[A-Za-z0-9_.-]{1,256}$",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "min length",
"input": "1"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - at symbol does not match regex pattern",
"input": "Hello@123",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/eventBusName",
"modUri": "tmod:@turbot/aws-events"
}
}

eventPattern

{
"type": "string",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "Test rule for Auto Scaling events"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - array type",
"input": [
1
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/eventPattern",
"modUri": "tmod:@turbot/aws-events"
}
}

events

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/eventsAka"
}
},
"title": {
"const": "Events"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"required": [
"turbot"
],
"additionalProperties": true,
"tests": [
{
"description": "All data are valid",
"input": {
"name": "Events",
"turbot": {
"akas": [
"arn:aws:events:us-east-1:123123123123"
],
"title": "Comprehend",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/events",
"modUri": "tmod:@turbot/aws-events"
}
}

eventsAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:events:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}",
"tests": [
{
"description": "base",
"input": "arn:aws:events:us-east-1:123123123123"
},
{
"description": "base",
"input": "arn:aws-us-gov:events:us-gov-east-1:123123123123"
},
{
"description": "invalid service name",
"input": "arn:aws:events12121:us-east-1:123123123123",
"expected": false
},
{
"description": "invalid region name",
"input": "arn:aws:events:us-eastdk-74381:123456786354",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/eventsAka",
"modUri": "tmod:@turbot/aws-events"
}
}

eventsSupportedRegions

{
"type": "array",
"items": {
"$ref": "#/definitions/regionName"
},
"minItems": 1,
"example": [
[
"us-east-2",
"us-east-1"
]
],
"default": [
"ap-northeast-1",
"ap-northeast-2",
"ap-northeast-3",
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
"ca-central-1",
"cn-north-1",
"cn-northwest-1",
"eu-central-1",
"eu-west-1",
"eu-west-2",
"eu-west-3",
"sa-east-1",
"us-east-1",
"us-east-2",
"us-gov-west-1",
"us-west-1",
"us-west-2"
],
"tests": [
{
"description": "one region",
"input": [
"us-east-1"
]
},
{
"description": "all supported regions",
"input": [
"ap-northeast-1",
"ap-northeast-2",
"ap-northeast-3",
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
"ca-central-1",
"cn-north-1",
"cn-northwest-1",
"eu-central-1",
"eu-west-1",
"eu-west-2",
"eu-west-3",
"sa-east-1",
"us-east-1",
"us-east-2",
"us-gov-west-1",
"us-west-1",
"us-west-2"
]
},
{
"description": "invalid - no regions",
"input": [],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/eventsSupportedRegions",
"modUri": "tmod:@turbot/aws-events"
}
}

inputPathsMap

{
"type": "string",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - empty string",
"input": ""
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/inputPathsMap",
"modUri": "tmod:@turbot/aws-events"
}
}

inputTemplate

{
"type": "string",
"minLength": 1,
"maxLength": 8192,
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "min length",
"input": "1"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/inputTemplate",
"modUri": "tmod:@turbot/aws-events"
}
}

inputTransformer

{
"type": "object",
"properties": {
"Aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"InputPathsMap": {
"$ref": "#/definitions/inputPathsMap"
},
"InputTemplate": {
"$ref": "#/definitions/inputTemplate"
}
},
"required": [
"InputTemplate"
],
"tests": [
{
"description": "base case",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"InputTemplate": "{\"commands\": <commandsToRun>}",
"InputPathsMap": "Hello"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/inputTransformer",
"modUri": "tmod:@turbot/aws-events"
}
}

jobDefinition

{
"type": "string",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "Test rule for Auto Scaling events"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - array type",
"input": [
1
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/jobDefinition",
"modUri": "tmod:@turbot/aws-events"
}
}

jobName

{
"type": "string",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "Test rule for Auto Scaling events"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - array type",
"input": [
1
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/jobName",
"modUri": "tmod:@turbot/aws-events"
}
}

kinesisParameters

{
"type": "object",
"properties": {
"Aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"PartitionKeyPath": {
"$ref": "#/definitions/partitionKeyPath"
}
},
"required": [
"PartitionKeyPath"
],
"tests": [
{
"description": "base case",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"PartitionKeyPath": "$.detail.instance-id"
}
},
{
"description": "invalid - max length",
"input": {
"PartitionKeyPath": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/kinesisParameters",
"modUri": "tmod:@turbot/aws-events"
}
}

messageGroupId

{
"type": "string",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "Test rule for Auto Scaling events"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - array type",
"input": [
1
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/messageGroupId",
"modUri": "tmod:@turbot/aws-events"
}
}

partitionKeyPath

{
"type": "string",
"maxLength": 256,
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - too long",
"input": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/partitionKeyPath",
"modUri": "tmod:@turbot/aws-events"
}
}

regionName

{
"type": "string",
"enum": [
"ap-northeast-1",
"ap-northeast-2",
"ap-northeast-3",
"ap-south-1",
"ap-southeast-1",
"ap-southeast-2",
"ca-central-1",
"cn-north-1",
"cn-northwest-1",
"eu-central-1",
"eu-west-1",
"eu-west-2",
"eu-west-3",
"sa-east-1",
"us-east-1",
"us-east-2",
"us-gov-west-1",
"us-west-1",
"us-west-2"
],
"tests": [
{
"input": "us-east-1"
},
{
"description": "invalid - usea1",
"input": "usea1",
"expected": false
},
{
"description": "invalid - au-north-1",
"input": "au-north-1",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/regionName",
"modUri": "tmod:@turbot/aws-events"
}
}

resourceTargets

{
"type": "array",
"items": {
"Id": {
"type": "string"
},
"Arn": {
"type": "string"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/resourceTargets",
"modUri": "tmod:@turbot/aws-events"
}
}

roleArn

{
"type": "string",
"minLength": 1,
"maxLength": 1600,
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "arn:aws:events:us-east-1:123456789012:rule/test"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "min length",
"input": "1"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/roleArn",
"modUri": "tmod:@turbot/aws-events"
}
}

rule

{
"type": "object",
"properties": {
"Arn": {
"$ref": "#/definitions/arn"
},
"Name": {
"$ref": "#/definitions/ruleName"
},
"RoleArn": {
"$ref": "#/definitions/roleArn"
},
"Description": {
"$ref": "#/definitions/ruleDescription"
},
"EventPattern": {
"$ref": "#/definitions/eventPattern"
},
"ScheduleExpression": {
"$ref": "#/definitions/scheduleExpression"
},
"State": {
"$ref": "#/definitions/ruleState"
},
"Targets": {
"$ref": "#/definitions/resourceTargets"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/ruleAka"
}
},
"title": {
"$ref": "#/definitions/ruleName"
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Name": "testrulename",
"Arn": "arn:aws:events:us-east-1:123456789012:rule/test",
"Description": "Test rule for Auto Scaling events",
"ScheduleExpression": "cron(0 20 * * ? *)",
"EventPattern": "{\"source\":[\"aws.autoscaling\"],\"detail-type\":[\"EC2 Instance Launch Successful\",\"EC2 Instance Terminate Successful\",\"EC2 Instance Launch Unsuccessful\",\"EC2 Instance Terminate Unsuccessful\"]}",
"RoleArn": "arn:aws:events:us-east-1:123456789012:rule/test",
"State": "DISABLED",
"turbot": {
"akas": [
"arn:aws:events:us-east-1:123456789012:rule/testrulename"
],
"title": "rulename",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing Name",
"input": {
"Arn": "arn:aws:events:us-east-1:123456789012:rule/test",
"Description": "Test rule for Auto Scaling events",
"ScheduleExpression": "cron(0 20 * * ? *)",
"EventPattern": "{\"source\":[\"aws.autoscaling\"],\"detail-type\":[\"EC2 Instance Launch Successful\",\"EC2 Instance Terminate Successful\",\"EC2 Instance Launch Unsuccessful\",\"EC2 Instance Terminate Unsuccessful\"]}",
"RoleArn": "arn:aws:events:us-east-1:123456789012:rule/test",
"State": "DISABLED",
"turbot": {
"akas": [
"arn:aws:events:us-east-1:123456789012:rule/testrulename"
],
"title": "rulename",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Missing turbot data",
"input": {
"Name": "testrulename",
"Arn": "arn:aws:events:us-east-1:123456789012:rule/test",
"Description": "Test rule for Auto Scaling events",
"ScheduleExpression": "cron(0 20 * * ? *)",
"EventPattern": "{\"source\":[\"aws.autoscaling\"],\"detail-type\":[\"EC2 Instance Launch Successful\",\"EC2 Instance Terminate Successful\",\"EC2 Instance Launch Unsuccessful\",\"EC2 Instance Terminate Unsuccessful\"]}",
"RoleArn": "arn:aws:events:us-east-1:123456789012:rule/test",
"State": "DISABLED"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/rule",
"modUri": "tmod:@turbot/aws-events"
}
}

ruleAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:events:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:rule/[A-Za-z0-9_.-]{1,64}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:events:us-east-1:123456789012:rule/testrulename"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:events:us-east-1:123456789012:rules/testrulename",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:events:use-east-12:123456789012:rule/testrulename",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:events:us-east-1:1234567890123:rule/testrulename",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/ruleAka",
"modUri": "tmod:@turbot/aws-events"
}
}

ruleDescription

{
"type": "string",
"maxLength": 512,
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "Test rule for Auto Scaling events"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "null value",
"input": null
},
{
"description": "invalid - array type",
"input": [
1
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/ruleDescription",
"modUri": "tmod:@turbot/aws-events"
}
}

ruleName

{
"type": "string",
"pattern": "^[A-Za-z0-9_.-]{1,64}$",
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "min length",
"input": "1"
},
{
"description": "invalid - too long",
"input": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678",
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - at symbol does not match regex pattern",
"input": "Hello@123",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/ruleName",
"modUri": "tmod:@turbot/aws-events"
}
}

ruleState

{
"type": "string",
"enum": [
"ENABLED",
"DISABLED"
],
"tests": [
{
"input": "ENABLED"
},
{
"input": "DISABLED"
},
{
"description": "invalid - null value",
"input": null,
"expected": false
},
{
"description": "invalid - array type, not in allowed values",
"input": 1,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/ruleState",
"modUri": "tmod:@turbot/aws-events"
}
}

runCommandParameters

{
"type": "object",
"properties": {
"Aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"RunCommandTargets": {
"type": "array",
"items": {
"$ref": "#/definitions/runCommandTarget"
},
"minItems": 1,
"maxItems": 5
}
},
"required": [
"RunCommandTargets"
],
"tests": [
{
"description": "base case",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"RunCommandTargets": [
{
"Key": "InstanceIds",
"Values": [
"i-123456789012",
"i-098765432109"
]
},
{
"Key": "InstanceIds",
"Values": [
"i-123456789012",
"i-098765432109"
]
}
]
}
},
{
"description": "invalid - max items",
"input": {
"RunCommandTargets": [
{
"Key": "Id1",
"Values": [
"i1"
]
},
{
"Key": "Id2",
"Values": [
"i2"
]
},
{
"Key": "Id3",
"Values": [
"i3"
]
},
{
"Key": "Id4",
"Values": [
"i4"
]
},
{
"Key": "Id5",
"Values": [
"i5"
]
},
{
"Key": "Id6",
"Values": [
"i6"
]
}
]
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/runCommandParameters",
"modUri": "tmod:@turbot/aws-events"
}
}

runCommandTarget

{
"type": "object",
"properties": {
"Aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"Key": {
"$ref": "#/definitions/runCommandTargetKey"
},
"Values": {
"$ref": "#/definitions/runCommandTargetValues"
}
},
"required": [
"Key",
"Values"
],
"tests": [
{
"description": "base case",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"Key": "InstanceIds",
"Values": [
"i-123456789012",
"i-098765432109"
]
}
},
{
"description": "invalid - incorrect format for key",
"input": {
"Aws": {
"accountId": 123456789012
},
"Key": [
"i-123456789012",
"i-098765432109"
],
"Values": [
"i-123456789012",
"i-098765432109"
]
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/runCommandTarget",
"modUri": "tmod:@turbot/aws-events"
}
}

runCommandTargetKey

{
"type": "string",
"minLength": 1,
"maxLength": 128,
"tests": [
{
"input": "InstanceIds"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "min length",
"input": "1"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - too long",
"input": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/runCommandTargetKey",
"modUri": "tmod:@turbot/aws-events"
}
}

runCommandTargetValues

{
"type": "array",
"minItems": 1,
"maxItems": 50,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"tests": [
{
"input": [
"i-123456789012",
"i-098765432109"
]
},
{
"description": "min Items",
"input": [
"hello"
]
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - max items",
"input": [
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i",
"i"
],
"expected": false
},
{
"description": "invalid - max length of string in array",
"input": [
"12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/runCommandTargetValues",
"modUri": "tmod:@turbot/aws-events"
}
}

scheduleExpression

{
"type": "string",
"maxLength": 256,
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "Test rule for Auto Scaling events"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "null value",
"input": null
},
{
"description": "max length",
"input": "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678"
},
{
"description": "invalid - array type",
"input": [
1
],
"expected": false
},
{
"description": "invalid - too long",
"input": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/scheduleExpression",
"modUri": "tmod:@turbot/aws-events"
}
}

sqsParameters

{
"type": "object",
"properties": {
"Aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"MessageGroupId": {
"$ref": "#/definitions/messageGroupId"
}
},
"required": [
"MessageGroupId"
],
"tests": [
{
"description": "base case",
"input": {
"Aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"MessageGroupId": "testgroupid"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/sqsParameters",
"modUri": "tmod:@turbot/aws-events"
}
}

target

{
"type": "object",
"properties": {
"Id": {
"$ref": "#/definitions/targetId"
},
"Arn": {
"$ref": "#/definitions/arn"
},
"RoleArn": {
"$ref": "#/definitions/roleArn"
},
"Rule": {
"$ref": "#/definitions/ruleName"
},
"BatchParameters": {
"$ref": "#/definitions/batchParameters"
},
"EcsParameters": {
"$ref": "#/definitions/escParameters"
},
"Input": {
"$ref": "#/definitions/targetInput"
},
"InputPath": {
"$ref": "#/definitions/targetInputPath"
},
"InputTransformer": {
"$ref": "#/definitions/inputTransformer"
},
"KinesisParameters": {
"$ref": "#/definitions/kinesisParameters"
},
"RunCommandParameters": {
"$ref": "#/definitions/runCommandParameters"
},
"SqsParameters": {
"$ref": "#/definitions/sqsParameters"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/targetAka"
}
},
"title": {
"$ref": "#/definitions/targetId"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Id": "id123456789",
"Arn": "arn:aws:batch:us-west-2:012345678910:job-queue/default",
"Rule": "abcde",
"turbot": {
"akas": [
"arn:aws:events:us-east-1:123456789012:rule/ghjj/target/id123456789"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"title": "my-bucket",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"createTimestamp": "2018-12-05T14:53:33.000Z"
}
}
}
},
{
"description": "Invalid - Missing Id",
"input": {
"Arn": "arn:aws:batch:us-west-2:012345678910:job-queue/default",
"Rule": "abcde",
"turbot": {
"akas": [
"arn:aws:events:us-east-1:123456789012:rule/ghjj/target/id123456789"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"title": "my-bucket",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
},
"createTimestamp": "2018-12-05T14:53:33.000Z"
}
}
},
"expected": false
},
{
"description": "Invalid - Missing turbot data",
"input": {
"Id": "id123456789",
"Arn": "arn:aws:batch:us-west-2:012345678910:job-queue/default"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/target",
"modUri": "tmod:@turbot/aws-events"
}
}

targetAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:events:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:rule/[A-Za-z0-9_.-]+/target/[A-Za-z0-9_.-]+$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:events:us-east-1:123456789012:rule/ghdjk/target/Id123456789"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:events:us-east-1:123456789012:rule/ghjf/targets/Id123456789",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "arn:aws:events:use-east-12:123456789012:t/rule/ghj/target/turbot_aws_api_events",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:events:us-east-1:1234567890123:rule/ghj/target/turbot_aws_api_events",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/targetAka",
"modUri": "tmod:@turbot/aws-events"
}
}

targetId

{
"type": "string",
"minLenght": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9._-]+$",
"tests": [
{
"input": "Id123456789"
},
{
"input": "00123"
},
{
"input": "Id73114138971"
},
{
"description": "min length",
"input": "1"
},
{
"description": "invalid - too long",
"input": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678",
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - at symbol not in regex",
"input": "Hello@123",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/targetId",
"modUri": "tmod:@turbot/aws-events"
}
}

targetInput

{
"type": "string",
"maxLength": 8192,
"tests": [
{
"input": "id123456789"
},
{
"input": "00123"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "empty string",
"input": ""
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/targetInput",
"modUri": "tmod:@turbot/aws-events"
}
}

targetInputPath

{
"type": "string",
"maxLength": 256,
"tests": [
{
"input": "id123456789"
},
{
"input": "00123"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "empty string",
"input": ""
},
{
"description": "invalid - too long",
"input": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/targetInputPath",
"modUri": "tmod:@turbot/aws-events"
}
}

targetName

{
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9._-]+$",
"tests": [
{
"input": "turbot_aws_api_handler"
},
{
"input": "00123"
},
{
"input": "Id73114138971"
},
{
"description": "min length",
"input": "1"
},
{
"description": "invalid - too long",
"input": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678",
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - at symbol not in regex",
"input": "Hello@123",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/targetName",
"modUri": "tmod:@turbot/aws-events"
}
}

taskCount

{
"type": "integer",
"minimum": 1,
"default": 1,
"tests": [
{
"input": 5
},
{
"input": 1
},
{
"description": "null value",
"input": null,
"expected": false
},
{
"description": "minimum value",
"input": 1
},
{
"description": "invalid - string type provided",
"input": "hello",
"expected": false
},
{
"description": "invalid - less than minimum allowed",
"input": 0,
"expected": false
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/taskCount",
"modUri": "tmod:@turbot/aws-events"
}
}

taskDefinitionArn

{
"type": "string",
"minLength": 1,
"maxLength": 1600,
"tests": [
{
"input": "foo"
},
{
"input": "00123"
},
{
"input": "abcde"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "min length",
"input": "1"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-events#/definitions/taskDefinitionArn",
"modUri": "tmod:@turbot/aws-events"
}
}