Definitions for @turbot/aws-dynamodb

backup

{
"type": "object",
"properties": {
"BackupName": {
"$ref": "#/definitions/backupName"
},
"BackupArn": {
"$ref": "#/definitions/backupArn"
},
"TableName": {
"$ref": "#/definitions/tableName"
},
"BackupDetails": {
"$ref": "#/definitions/backupDetails"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/backupArn"
}
},
"title": {
"$ref": "#/definitions/backupName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"BackupName": "foo_backup",
"TableName": "foo",
"BackupArn": "arn:aws:dynamodb:us-west-2:492552618977:table/test01/backup/01542628384598-cdbfacd8",
"turbot": {
"akas": [
"arn:aws:dynamodb:us-west-2:492552618977:table/test01/backup/01542628384598-cdbfacd8"
],
"title": "foo_backup",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing tablename",
"input": {
"BackupName": "foo_backup",
"BackupArn": "arn:aws:dynamodb:us-west-2:492552618977:table/test01/backup/01542628384598-cdbf4628",
"turbot": {
"akas": [
"arn:aws:dynamodb:us-west-2:492552618977:table/test01/backup/01542628384598-cdbf4628"
],
"title": "foo_backup",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Missing turbot data",
"input": {
"BackupName": "foo_backup",
"TableName": "foo",
"BackupArn": "arn:aws:dynamodb:us-west-2:492552618977:table/test01/backup/01542628384598-cdbf4628"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/backup",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

backupArn

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:dynamodb:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:table/[-_.a-zA-Z0-9]{3,255}/backup/[0-9a-f]{14}-[a-f0-9]{8}?",
"tests": [
{
"input": "arn:aws:dynamodb:us-west-2:492552618977:table/test01/backup/01542628384598-cdbf4628"
},
{
"input": "arn:aws:dynamodb:us-west-2:492552618977:table/test01/backup/01542628384598-cdbfacd8"
},
{
"description": "invalid - input not expected",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:dynamodb:us-west-2:49255268977:table/test01/backup/01542628384598-cdbfacd8",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/backupArn",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

backupDetails

{
"type": "object",
"properties": {
"BackupStatus": {
"$ref": "#/definitions/backupStatus"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/backupDetails",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

backupName

{
"type": "string",
"pattern": "^[a-zA-Z0-9_.-]{3,255}$",
"tests": [
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"description": "min length",
"input": "a23"
},
{
"description": "max length",
"input": "a23456789_123456790_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_12345"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "invalid - too short",
"input": "a2",
"expected": false
},
{
"description": "invalid - too long",
"input": "a23456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/backupName",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

backupPrefixName

{
"type": "string",
"pattern": "^[a-zA-Z0-9_.-]{3,255}$",
"tests": [
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"description": "min length",
"input": "aaa"
},
{
"description": "max length",
"input": "a23456789_123456790_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_12345"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "invalid - too short",
"input": "a",
"expected": false
},
{
"description": "invalid - too long",
"input": "a23456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456",
"expected": false
}
],
"example": [
"turbot_"
],
"default": "",
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/backupPrefixName",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

backupScheduleOptions

{
"type": "string",
"enum": [
"None",
"Daily for 3 days",
"Daily for 7 days",
"Daily for 14 days",
"Daily for 30 days",
"Daily for 90 days",
"Daily with backoff to 3 months",
"Daily with backoff to 1 year",
"Daily with backoff",
"Hourly with backoff to 7 days",
"Hourly with backoff to 14 days",
"Hourly with backoff to 1 month",
"Hourly with backoff to 3 months",
"Hourly with backoff to 1 year",
"Hourly with backoff to 3 years",
"Hourly with backoff"
],
"example": [
"Daily for 14 days"
],
"default": "None",
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/backupScheduleOptions",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

backupStatus

{
"type": "string",
"enum": [
"CREATING",
"DELETED",
"AVAILABLE"
],
"tests": [
{
"input": "CREATING"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/backupStatus",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

dynamodb

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

dynamodbAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:dynamodb:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}$",
"tests": [
{
"description": "Valid AWS Partition Non-Gov",
"input": "arn:aws:dynamodb:us-east-1:560741234067"
},
{
"description": "Valid AWS Partition US Gov",
"input": "arn:aws-us-gov:dynamodb:us-gov-east-1:560741234067"
},
{
"description": "Valid AWS Partition CHINA Gov",
"input": "arn:aws-cn:dynamodb:cn-north-1:560741234067"
},
{
"description": "Invalid Service Name in the AKA",
"input": "arn:aws:ds11:us-east-1:560741234067",
"expected": false
},
{
"description": "Invalid Region Name in the AKA",
"input": "arn:aws:dynamodb:us-easted-441:560741234067",
"expected": false
},
{
"description": "Invalid Account Id in the AKA",
"input": "arn:aws:dynamodb:us-east-1:12345678905512",
"expected": false
},
{
"description": "Invalid AKA pattern",
"input": "dynamodbV2|us-east-1:560741234067",
"expected": false
},
{
"description": "Invalid AWS partition name",
"input": "arn:aws-eu:dynamodb:us-east-1:560741234067",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/dynamodbAka",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

dynamodbLockdownTableApprovedRegionsList

{
"description": "Internal format for CIDR range.",
"type": "array",
"items": {
"$ref": "aws#/definitions/regionNameMatcher"
},
"tests": [
{
"description": "base",
"input": [
"*"
]
},
{
"description": "invalid region",
"input": [
"us.+"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/dynamodbLockdownTableApprovedRegionsList",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

dynamodbSourceCidrList

{
"description": "Internal format for CIDR range.",
"type": "array",
"items": {
"description": "An IPv4 CIDR block.",
"type": "string",
"pattern": "^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}/[0-9]{1,2}$",
"tests": [
{
"description": "all zero octects and prefix.",
"input": "0.0.0.0/0"
},
{
"description": "invalid - missing first octect",
"input": "0.0.0/0",
"expected": false
},
{
"description": "invalid - missing prefix",
"input": "0.0.0.0/",
"expected": false
},
{
"description": "invalid - prefix too many digits",
"input": "0.0.0.0/123",
"expected": false
},
{
"description": "invalid - octect too many digits",
"input": "1234.0.0.0/0",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws#/definitions/cidrBlock",
"modUri": "tmod:@turbot/aws"
}
},
"default": [
"0.0.0.0/0"
],
"tests": [
{
"description": "base",
"input": [
"0.0.0.0/0"
]
},
{
"description": "invalid cidr",
"input": [
"10"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/dynamodbSourceCidrList",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

enabledStatus

{
"type": "string",
"enum": [
"ENABLED",
"DISABLED"
],
"tests": [
{
"input": "ENABLED"
},
{
"input": "DISABLED"
},
{
"description": "invalid - lowercase",
"input": "enabled",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/enabledStatus",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

epochTimeSeconds

{
"type": "number",
"minimum": 0,
"tests": [
{
"description": "zero",
"input": 0
},
{
"desciption": "one",
"input": 1
},
{
"description": "float",
"input": 1531927298.166
},
{
"description": "invalid - negative integer",
"input": -1,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/epochTimeSeconds",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

globalTable

{
"type": "object",
"properties": {
"GlobalTableName": {
"$ref": "#/definitions/tableName"
},
"ReplicationGroup": {
"$ref": "#/definitions/replicationGroup"
},
"Arn": {
"$ref": "#/definitions/globalTableAka"
},
"GlobalTableStatus": {
"$ref": "#/definitions/globalTableStatus"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/globalTableAka"
}
},
"title": {
"$ref": "#/definitions/tableName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "single region replica",
"input": {
"GlobalTableName": "foo",
"ReplicationGroup": [
{
"RegionName": "us-east-1"
}
],
"Arn": "arn:aws:dynamodb::123456789012:global-table/foo",
"GlobalTableStatus": "ACTIVE",
"turbot": {
"akas": [
"arn:aws:dynamodb::123456789012:global-table/foo"
],
"title": "foo",
"custom": {
"aws": {
"accountId": 123456789012
},
"createTimestamp": "2018-12-21T18:15:20.000Z"
}
}
}
},
{
"description": "valid - two region replicas",
"input": {
"GlobalTableName": "foo",
"ReplicationGroup": [
{
"RegionName": "us-east-1"
},
{
"RegionName": "eu-central-1"
}
],
"Arn": "arn:aws:dynamodb::123456789012:global-table/foo",
"GlobalTableStatus": "ACTIVE",
"turbot": {
"akas": [
"arn:aws:dynamodb::123456789012:global-table/foo"
],
"title": "foo",
"custom": {
"aws": {
"accountId": 123456789012
},
"createTimestamp": "2018-12-21T18:15:20.000Z"
}
}
}
},
{
"description": "invalid - no table name",
"input": {
"ReplicationGroup": [
{
"RegionName": "us-east-1",
"aws": {
"account": {
"id": 123456789012
}
}
}
],
"Arn": "arn:aws:dynamodb::123456789012:global-table/test_global_table",
"GlobalTableStatus": "ACTIVE",
"turbot": {
"akas": [
"arn:aws:dynamodb::123456789012:global-table/test_global_table"
],
"title": "foo",
"custom": {
"aws": {
"accountId": 123456789012
},
"createTimestamp": "2018-12-21T18:15:20.000Z"
}
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/globalTable",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

globalTableAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:dynamodb::[0-9]{12}:global-table/[A-Za-z0-9_.-]{3,255}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:dynamodb::123456789012:global-table/test_global_table"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:ec2::123456789012:global-table/i-a2345678",
"expected": false
},
{
"description": "Invalid - account id not valid",
"input": "arn:aws:dynamodb::1234234456789012:global-table/hash",
"expected": false
},
{
"description": "Invalid - special character _.- are allowed",
"input": "arn:aws:dynamodb::123456789012:global-table/bob!!",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/globalTableAka",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

globalTableRegionName

{
"type": "string",
"enum": [
"eu-central-1",
"eu-west-1",
"ap-southeast-1",
"us-east-1",
"us-east-2",
"us-west-2"
],
"tests": [
{
"input": "us-east-1"
},
{
"description": "invalid - non-existent region",
"input": "does-not-exist",
"expected": false
},
{
"description": "invalid - incorrect data type",
"input": true,
"expected": false
},
{
"description": "invalid - unsupported region",
"input": "us-west-1",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/globalTableRegionName",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

globalTableRegionsList

{
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/definitions/globalTableRegionName"
},
"example": [
"eu-central-1",
"eu-west-1"
],
"default": [
"eu-central-1",
"eu-west-1",
"ap-southeast-1",
"us-east-1",
"us-east-2",
"us-west-2"
],
"tests": [
{
"description": "one region",
"input": [
"us-east-1"
]
},
{
"description": "all supported regions",
"input": [
"eu-central-1",
"eu-west-1",
"ap-southeast-1",
"us-east-1",
"us-east-2",
"us-west-2"
]
},
{
"description": "invalid - no regions",
"input": [],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/globalTableRegionsList",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

globalTableStatus

{
"type": "string",
"enum": [
"CREATING",
"ACTIVE",
"DELETING",
"UPDATING"
],
"tests": [
{
"input": "UPDATING"
},
{
"description": "invalid input",
"input": "Import",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/globalTableStatus",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

pointInTimeRecoveryDescription

{
"type": "object",
"properties": {
"PointInTimeRecoveryStatus": {
"$ref": "#/definitions/enabledStatus"
},
"EarliestRestorableDateTime": {
"$ref": "#/definitions/epochTimeSeconds"
},
"LatestRestorableDateTime": {
"$ref": "#/definitions/epochTimeSeconds"
}
},
"required": [
"PointInTimeRecoveryStatus"
],
"tests": [],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/pointInTimeRecoveryDescription",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

replica

{
"type": "object",
"properties": {
"RegionName": {
"$ref": "#/definitions/globalTableRegionName"
}
},
"required": [
"RegionName"
],
"additionalProperties": false,
"tests": [
{
"description": "single region",
"input": {
"RegionName": "us-east-1"
}
},
{
"description": "invalid - unsupported region",
"input": {
"RegionName": "does-not-exist"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/replica",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

replicationGroup

{
"type": "array",
"items": {
"$ref": "#/definitions/replica"
},
"minItems": 1,
"tests": [
{
"description": "single replica",
"input": [
{
"RegionName": "us-east-1"
}
]
},
{
"description": "two replicas",
"input": [
{
"RegionName": "us-east-1"
},
{
"RegionName": "eu-central-1"
}
]
},
{
"description": "invalid - no region specified",
"input": [],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/replicationGroup",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

sseSpecification

{
"type": "boolean",
"tests": [
{
"input": true
},
{
"input": false
},
{
"input": "true"
},
{
"input": 0
},
{
"input": "false"
},
{
"description": "invalid - string",
"input": "foo",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/sseSpecification",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

streamArn

{
"type": "string",
"minLength": 37,
"maxLength": 1024,
"tests": [
{
"input": "arn:aws:dynamodb:us-east-1:123456789012:table/test/stream/2018-07-16T11:06:52.105"
},
{
"description": "invalid - too short",
"input": "foo",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/streamArn",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

streamSpecification

{
"type": "object",
"properties": {
"StreamViewType": {
"$ref": "#/definitions/streamViewType"
}
},
"required": [
"StreamViewType"
],
"tests": [
{
"description": "all required properties given",
"input": {
"StreamViewType": "KEYS_ONLY"
}
},
{
"description": "additional properties given",
"input": {
"StreamEnabled": true,
"StreamViewType": "KEYS_ONLY",
"for": "bar"
}
},
{
"description": "invalid - missing StreamViewType required property",
"input": {
"StreamEnabled": true
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/streamSpecification",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

streamViewType

{
"type": "string",
"enum": [
"KEYS_ONLY",
"NEW_IMAGE",
"OLD_IMAGE",
"NEW_AND_OLD_IMAGES"
],
"tests": [
{
"input": "KEYS_ONLY"
},
{
"input": "NEW_IMAGE"
},
{
"description": "invalid - lowercase value",
"input": "keys_only",
"expected": false
},
{
"description": "invalid - foo",
"input": "foo",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/streamViewType",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

table

{
"type": "object",
"properties": {
"AttributeDefinitions": {
"type": "array"
},
"KeySchema": {
"type": "array"
},
"ContinuousBackupDescription": {
"$ref": "#/definitions/tableContinuousBackupDescription"
},
"ProvisionedThroughput": {
"type": "object"
},
"TableSizeBytes": {
"type": "number"
},
"ItemCount": {
"type": "number"
},
"TableArn": {
"type": "string"
},
"TableId": {
"type": "string"
},
"BillingModeSummary": {
"type": "object"
},
"LocalSecondaryIndexes": {
"type": "array"
},
"GlobalSecondaryIndexes": {
"type": "array"
},
"GlobalTableVersion": {
"type": "string"
},
"Replicas": {
"type": "array"
},
"RestoreSummary": {
"type": "object"
},
"SSEDescription": {
"type": "object"
},
"ArchivalSummary": {
"type": "object"
},
"CreationDateTime": {
"$ref": "#/definitions/epochTimeSeconds"
},
"LatestStreamArn": {
"$ref": "#/definitions/streamArn"
},
"LatestStreamLabel": {
"$ref": "aws#/definitions/isoTimestampNoTimeZone"
},
"SSESpecification": {
"$ref": "#/definitions/sseSpecification"
},
"StreamSpecification": {
"$ref": "#/definitions/streamSpecification"
},
"TableName": {
"$ref": "#/definitions/tableName"
},
"Tags": {
"$ref": "aws#/definitions/tagList"
},
"TableStatus": {
"$ref": "#/definitions/tableStatus"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/tableAka"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/tableName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"test": [
{
"description": "Valid - All properties",
"input": {
"TableName": "foo",
"SSESpecification": true,
"StreamSpecification": {
"StreamEnabled": true,
"StreamViewType": "KEYS_ONLY"
},
"CreationDateTime": 1531927298.166,
"Tags": [
{
"Key": "foo",
"Value": "bar"
}
],
"turbot": {
"akas": [
"arn:aws:dynamodb:us-east-1:123456789012:table/foo"
],
"tags": {
"foo": "bar"
},
"title": "foo",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing table name",
"input": {
"SSESpecification": true,
"turbot": {
"akas": [
"arn:aws:dynamodb:us-east-1:123456789012:table/foo"
],
"tags": {
"foo": "bar"
},
"title": "foo",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
},
{
"description": "Invalid - Missing turbot data",
"input": {
"SSESpecification": true,
"TableName": "foo",
"Tags": [
{
"Key": "foo",
"Value": "bar"
}
],
"expected": false
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/table",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

tableAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:dynamodb:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:table/[-_.a-zA-Z0-9]{3,255}$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:dynamodb:us-east-1:123456789012:table/foo"
},
{
"description": "Invalid - Malformed resource collection",
"input": "arn:aws:dynamodb:us-east-1:123456789012:tables/foo",
"expected": false
},
{
"description": "Invalid - Malformed region name",
"input": "aarn:aws:dynamodb:use-east-1:123456789012:table/foo",
"expected": false
},
{
"description": "Invalid - Malformed account ID",
"input": "arn:aws:dynamodb:us-east-1:1234567890123:table/foo",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/tableAka",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

tableContinuousBackupDescription

{
"type": "object",
"properties": {
"ContinuousBackup": {
"$ref": "#/definitions/enabledStatus"
},
"PointInTimeRecoveryDescription": {
"$ref": "#/definitions/pointInTimeRecoveryDescription"
}
},
"required": [
"ContinuousBackup",
"PointInTimeRecoveryDescription"
],
"tests": [],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/tableContinuousBackupDescription",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

tableName

{
"type": "string",
"pattern": "^[a-zA-Z0-9._-]{3,255}$",
"tests": [
{
"input": "test"
},
{
"input": "foo.bar.baz"
},
{
"input": 111111111
},
{
"input": "foo_bar_baz"
},
{
"description": "min length",
"input": "a23"
},
{
"description": "max length",
"input": "_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_12345_123454344454536123"
},
{
"input": "Test.The-Kitchen_Sink"
},
{
"description": "invalid - dollar symbol not allowed",
"input": "invalid - foo$bar",
"expected": false
},
{
"description": "invalid - too short",
"input": "a2",
"expected": false
},
{
"description": "invalid - too long",
"input": "a23456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/tableName",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}

tableStatus

{
"type": "string",
"enum": [
"CREATING",
"UPDATING",
"DELETING",
"ACTIVE"
],
"tests": [
{
"input": "CREATING"
},
{
"description": "invalid - incorrect value provided",
"input": "Enabled",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-dynamodb#/definitions/tableStatus",
"modUri": "tmod:@turbot/aws-dynamodb"
}
}