Definitions for @turbot/aws-glue

cloudWatchEncryptionMode

{
"type": "string",
"enum": [
"DISABLED",
"SSE-KMS"
],
"tests": [
{
"input": "SSE-KMS"
},
{
"description": "invalid - encryption not in the list",
"input": "SQS-S3",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/cloudWatchEncryptionMode",
"modUri": "tmod:@turbot/aws-glue"
}
}

crawler

{
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"Role": {
"type": "string"
},
"Targets": {
"type": "object",
"properties": {
"S3Targets": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"Path": {
"type": "string"
},
"Exclusions": {
"type": "array",
"items": {
"type": "string"
}
},
"ConnectionName": {
"type": "string"
}
}
},
"JdbcTargets": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"ConnectionName": {
"type": "string"
},
"Path": {
"type": "string"
},
"Exclusions": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"MongoDBTargets": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"ConnectionName": {
"type": "string"
},
"Path": {
"type": "string"
},
"ScanAll": {
"type": "boolean"
}
}
},
"DynamoDBTargets": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"Path": {
"type": "string"
},
"scanAll": {
"type": "boolean"
},
"scanRate": {
"type": "number"
}
}
},
"CatalogTargets": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"DatabaseName": {
"type": "string"
},
"Tables": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
},
"DatabaseName": {
"type": "string"
},
"Description": {
"type": "string"
},
"Classifiers": {
"type": "array",
"items": {
"type": "string"
}
},
"RecrawlPolicy": {
"type": "object",
"properties": {
"RecrawlBehavior": {
"$ref": "#/definitions/RecrawlBehavior"
}
}
},
"SchemaChangePolicy": {
"type": "object",
"properties": {
"UpdateBehavior": {
"$ref": "#/definitions/UpdateBehavior"
},
"DeleteBehavior": {
"$ref": "#/definitions/DeleteBehavior"
}
}
},
"LineageConfiguration": {
"type": "object",
"properties": {
"CrawlerLineageSettings": {
"$ref": "#/definitions/CrawlerLineageSettings"
}
}
},
"State": {
"$ref": "#/definitions/State"
},
"TablePrefix": {
"type": "string"
},
"Schedule": {
"type": "object",
"properties": {
"ScheduleExpression": {
"type": "string"
},
"State": {
"$ref": "#/definitions/State"
}
}
},
"CrawlElapsedTime": {
"type": "integer"
},
"CreationTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastUpdated": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastCrawl": {
"type": "object",
"properties": {
"Status": {
"$ref": "#/definitions/Status"
},
"ErrorMessage": {
"type": "string"
},
"LogGroup": {
"type": "string"
},
"LogStream": {
"type": "string"
},
"MessagePrefix": {
"type": "string"
},
"StartTime": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
},
"Version": {
"type": "integer"
},
"Configuration": {
"type": "string"
},
"CrawlerSecurityConfiguration": {
"type": "string"
},
"Tags": {
"type": "object"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/crawlerAka"
}
},
"title": {
"$ref": "#/definitions/crawlerName"
},
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
}
}
}
},
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/crawler",
"modUri": "tmod:@turbot/aws-glue"
}
}

crawlerAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:glue:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:crawler/([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"description": "correct arn",
"input": "arn:aws:glue:us-east-1:123456789012:crawler/test-123"
},
{
"description": "invalid - crawler arn is invalid",
"input": "arn:aws:glue:us-east-1:123456789012:test-123",
"expected": false
},
{
"description": "invalid - array passed instead of string",
"input": [
"foo"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/crawlerAka",
"modUri": "tmod:@turbot/aws-glue"
}
}

CrawlerLineageSettings

{
"type": "string",
"enum": [
"ENABLE",
"DISABLE"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/CrawlerLineageSettings",
"modUri": "tmod:@turbot/aws-glue"
}
}

crawlerName

{
"type": "string",
"pattern": "^([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"input": "$test-01."
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - max length exceeded",
"input": "crawlertest01crawlertest01crawlertest01crawlertest01crawlertest01crawlertest01crawlertest01crawlertest01crawlertest01crawlertest01crawlertest01crawlertest01crawler-$098765test01crawlertest01crawlertest01crawlertest01crawlertest01crawlertest01crawlertest011",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/crawlerName",
"modUri": "tmod:@turbot/aws-glue"
}
}

CrawlState

{
"type": "string",
"enum": [
"RUNNING",
"CANCELLING",
"CANCELLED",
"SUCCEEDED",
"FAILE"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/CrawlState",
"modUri": "tmod:@turbot/aws-glue"
}
}

database

{
"type": "object",
"properties": {
"Name": {
"$ref": "#/definitions/databaseName"
},
"Description": {
"type": "string"
},
"LocationUri": {
"type": "string"
},
"Parameters": {
"type": "object"
},
"CreateTime": {
"type": "string"
},
"CreateTableDefaultPermissions": {
"type": "array"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/databaseAka"
}
},
"title": {
"$ref": "#/definitions/databaseName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All details provided",
"input": {
"Name": "default",
"turbot": {
"akas": [
"arn:aws:glue:us-east-1:123456789012:database/test-123"
],
"title": "default",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - missing name property",
"input": {
"turbot": {
"akas": [
"arn:aws:glue:us-east-1:123456789012:database/test-123"
],
"title": "default",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/database",
"modUri": "tmod:@turbot/aws-glue"
}
}

databaseAka

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:glue:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-[0-9]:[0-9]{12}:database/([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"description": "correct arn",
"input": "arn:aws:glue:us-east-1:123456789012:database/test-123"
},
{
"description": "invalid - database arn is invalid",
"input": "arn:aws:glue:us-east-1:123456789012:test-123",
"expected": false
},
{
"description": "invalid - array passed instead of string",
"input": [
"foo"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/databaseAka",
"modUri": "tmod:@turbot/aws-glue"
}
}

databaseName

{
"type": "string",
"pattern": "^([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"input": "$test-01."
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - max length exceeded",
"input": "databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01database-$098765test01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest011",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/databaseName",
"modUri": "tmod:@turbot/aws-glue"
}
}

dataCatalog

{
"type": "object",
"properties": {
"DataCatalogEncryptionSettings": {
"type": "object",
"properties": {
"EncryptionAtRest": {
"type": "object",
"properties": {
"CatalogEncryptionMode": {
"type": "string"
},
"SseAwsKmsKeyId": {
"type": "string"
}
}
},
"ConnectionPasswordEncryption": {
"type": "object",
"properties": {
"ReturnConnectionPasswordEncrypted": {
"type": "boolean"
},
"AwsKmsKeyId": {
"type": "string"
}
}
}
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/dataCatalogAka"
}
},
"title": {
"const": "Data Catalog"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"DataCatalogEncryptionSettings": {
"EncryptionAtRest": {
"CatalogEncryptionMode": "DISABLED"
},
"ConnectionPasswordEncryption": {
"ReturnConnectionPasswordEncrypted": true,
"AwsKmsKeyId": "arn:aws:kms:ap-south-1:986325076436:key/1575b3af-4133-4da1-9187-0e2d5f872c86"
}
},
"turbot": {
"akas": [
"arn:aws:glue:ap-south-1:986325076436:datacatalog"
],
"title": "Data Catalog",
"custom": {
"aws": {
"accountId": 986325076436
},
"createTimestamp": "2018-12-05T14:53:33.000Z"
}
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/dataCatalog",
"modUri": "tmod:@turbot/aws-glue"
}
}

dataCatalogAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:glue:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}:datacatalog$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:glue:us-west-2:492552618977:datacatalog"
},
{
"description": "Invalid - account Id",
"input": "arn:aws:glue:us-east-2:1116660:datacatalog",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/dataCatalogAka",
"modUri": "tmod:@turbot/aws-glue"
}
}

DeleteBehavior

{
"type": "string",
"enum": [
"LOG",
"DELETE_FROM_DATABASE",
"DEPRECATE_IN_DATABASE"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/DeleteBehavior",
"modUri": "tmod:@turbot/aws-glue"
}
}

devEndpoint

{
"type": "object",
"properties": {
"EndpointName": {
"type": "string"
},
"RoleArn": {
"type": "string"
},
"SecurityGroupIds": {
"type": "array",
"items": {
"type": "string"
}
},
"SubnetId": {
"type": "string"
},
"YarnEndpointAddress": {
"type": "string"
},
"PrivateAddress": {
"type": "string"
},
"ZeppelinRemoteSparkInterpreterPort": {
"type": "integer"
},
"PublicAddress": {
"type": "string"
},
"Status": {
"type": "string"
},
"WorkerType": {
"$ref": "#/definitions/WorkerType"
},
"GlueVersion": {
"type": "string"
},
"NumberOfWorkers": {
"type": "integer"
},
"NumberOfNodes": {
"type": "integer"
},
"AvailabilityZone": {
"type": "string"
},
"VpcId": {
"type": "string"
},
"ExtraPythonLibsS3Path": {
"type": "string"
},
"ExtraJarsS3Path": {
"type": "string"
},
"FailureReason": {
"type": "string"
},
"LastUpdateStatus": {
"type": "string"
},
"CreatedTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastModifiedTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"PublicKey": {
"type": "string"
},
"PublicKeys": {
"type": "array",
"items": {
"type": "string"
}
},
"SecurityConfiguration": {
"type": "string"
},
"Arguments": {
"type": "object"
},
"Tags": {
"type": "object"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/devEndpointAka"
}
},
"title": {
"$ref": "#/definitions/devEndpointName"
},
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
}
}
}
},
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/devEndpoint",
"modUri": "tmod:@turbot/aws-glue"
}
}

devEndpointAka

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:glue:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:devEndpoint/([\\s\\S\\d\\D\\w\\W]+)$",
"tests": [
{
"description": "correct arn",
"input": "arn:aws:glue:us-east-1:123456789012:devEndpoint/test-123"
},
{
"description": "invalid - devEndpoint arn is invalid",
"input": "arn:aws:glue:us-east-1:123456789012:test-123",
"expected": false
},
{
"description": "invalid - array passed instead of string",
"input": [
"foo"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/devEndpointAka",
"modUri": "tmod:@turbot/aws-glue"
}
}

devEndpointName

{
"type": "string",
"pattern": "^([\\s\\S\\d\\D\\w\\W]+)$",
"minLength": 1,
"tests": [
{
"input": "test@123"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/devEndpointName",
"modUri": "tmod:@turbot/aws-glue"
}
}

encryptionConfig

{
"type": "object",
"properties": {
"S3Encryption": {
"type": "array",
"items": {
"$ref": "#/definitions/s3Encryption"
}
},
"CloudWatchEncryption": {
"type": "object",
"properties": {
"CloudWatchEncryptionMode": {
"$ref": "#/definitions/cloudWatchEncryptionMode"
},
"KmsKeyArn": {
"$ref": "#/definitions/kmsKeyArn"
}
}
},
"JobBookmarksEncryption": {
"type": "object",
"properties": {
"JobBookmarksEncryptionMode": {
"$ref": "#/definitions/jobBookmarksEncryptionMode"
},
"KmsKeyArn": {
"$ref": "#/definitions/kmsKeyArn"
}
}
}
},
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/encryptionConfig",
"modUri": "tmod:@turbot/aws-glue"
}
}

glue

{
"allOf": [
{
"$ref": "turbot#/definitions/service"
},
{
"type": "object",
"properties": {
"name": {
"const": "Glue"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/glueAka"
}
},
"title": {
"const": "Glue"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Glue",
"input": {
"name": "Glue",
"turbot": {
"akas": [
"arn:aws:glue:us-east-1:123456789012"
],
"title": "Glue",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1",
"partition": "aws"
}
}
}
}
},
{
"description": "Invalid - aws glue",
"input": {
"name": "aws glue",
"turbot": null,
"akas": [
"arn:aws:glue:us-east-1:123456789012"
],
"title": "Glue",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1",
"partition": "aws"
}
}
},
"expected": false
},
{
"description": "Invalid - Service name missing",
"input": {
"turbot": null,
"akas": [
"arn:aws:glue:us-east-1:123456789012"
],
"title": "Glue",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1",
"partition": "aws"
}
}
},
"expected": false
}
]
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/glue",
"modUri": "tmod:@turbot/aws-glue"
}
}

glueAka

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

job

{
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"LogUri": {
"type": "string"
},
"Role": {
"type": "string"
},
"CreatedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastModifiedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"ExecutionProperty": {
"type": "object",
"properties": {
"MaxConcurrentRuns": {
"type": "integer"
}
}
},
"Command": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"ScriptLocation": {
"type": "string"
},
"PythonVersion": {
"type": "string"
}
}
},
"DefaultArguments": {
"type": "object"
},
"NonOverridableArguments": {
"type": "object"
},
"Connections": {
"type": "object",
"properties": {
"Connections": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"MaxRetries": {
"type": "integer"
},
"AllocatedCapacity": {
"type": "integer"
},
"Timeout": {
"type": "integer"
},
"MaxCapacity": {
"type": "number"
},
"WorkerType": {
"$ref": "#/definitions/WorkerType"
},
"NumberOfWorkers": {
"type": "integer"
},
"SecurityConfiguration": {
"type": "string"
},
"NotificationProperty": {
"type": "object",
"properties": {
"NotifyDelayAfter": {
"type": "integer"
}
}
},
"GlueVersion": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/jobAka"
}
},
"title": {
"$ref": "#/definitions/jobName"
}
}
}
},
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/job",
"modUri": "tmod:@turbot/aws-glue"
}
}

jobAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:glue:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:job/([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"description": "correct arn",
"input": "arn:aws:glue:us-east-1:123456789012:job/test-123"
},
{
"description": "invalid - job arn is invalid",
"input": "arn:aws:glue:us-east-1:123456789012:test-123",
"expected": false
},
{
"description": "invalid - array passed instead of string",
"input": [
"foo"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/jobAka",
"modUri": "tmod:@turbot/aws-glue"
}
}

jobBookmarksEncryptionMode

{
"type": "string",
"enum": [
"DISABLED",
"CSE-KMS"
],
"tests": [
{
"input": "CSE-KMS"
},
{
"description": "invalid - encryption not in the list",
"input": "SQS-S3",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/jobBookmarksEncryptionMode",
"modUri": "tmod:@turbot/aws-glue"
}
}

jobName

{
"type": "string",
"pattern": "^([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"input": "$test-01."
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - max length exceeded",
"input": "jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01job-$098765test01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01job-$098765test01jobtest01jobtest01jobtest01jobtest01jobtest01jobtest01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/jobName",
"modUri": "tmod:@turbot/aws-glue"
}
}

JobRunState

{
"type": "string",
"enum": [
"STARTING",
"RUNNING",
"STOPPING",
"STOPPED",
"SUCCEEDED",
"FAILED",
"TIMEOU"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/JobRunState",
"modUri": "tmod:@turbot/aws-glue"
}
}

kmsKeyArn

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:kms:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:key/[0-9a-f-]+(?:[0-9a-f]{1,255})?$",
"tests": [
{
"description": "Valid - Base case",
"input": "arn:aws:kms:us-west-2:492552618977:key/39dcbfab-70e6-4368-b592-6f547c2afe7f"
},
{
"description": "Invalid - Malformed aka",
"input": "arn:aws:kms:usa-west-2:49255261897322237:keys/39dcbfab-70e6-4368-b592-6f547c2afe7f",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/kmsKeyArn",
"modUri": "tmod:@turbot/aws-glue"
}
}

Logical

{
"type": "string",
"enum": [
"AND",
"AN"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/Logical",
"modUri": "tmod:@turbot/aws-glue"
}
}

LogicalOperator

{
"type": "string",
"enum": [
"EQUAL"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/LogicalOperator",
"modUri": "tmod:@turbot/aws-glue"
}
}

mlTransform

{
"type": "object",
"properties": {
"TransformId": {
"$ref": "#/definitions/mlTransformId"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Status": {
"$ref": "#/definitions/Status"
},
"CreatedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastModifiedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"InputRecordTables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"DatabaseName": {
"type": "string"
},
"TableName": {
"type": "string"
},
"CatalogId": {
"type": "string"
},
"ConnectionName": {
"type": "string"
}
}
}
},
"Parameters": {
"type": "object",
"properties": {
"TransformType": {
"$ref": "#/definitions/TransformType"
},
"FindMatchesParameters": {
"type": "object",
"properties": {
"PrimaryKeyColumnName": {
"type": "string"
},
"PrecisionRecallTradeoff": {
"type": "number"
},
"AccuracyCostTradeoff": {
"type": "number"
},
"EnforceProvidedLabels": {
"type": "boolean"
}
}
}
}
},
"EvaluationMetrics": {
"type": "object",
"properties": {
"TransformType": {
"$ref": "#/definitions/TransformType"
},
"FindMatchesMetrics": {
"type": "object",
"properties": {
"AreaUnderPRCurve": {
"type": "number"
},
"Precision": {
"type": "number"
},
"Recall": {
"type": "number"
},
"F1": {
"type": "number"
},
"ConfusionMatrix": {
"type": "object",
"properties": {
"NumTruePositives": {
"type": "integer"
},
"NumFalsePositives": {
"type": "integer"
},
"NumTrueNegatives": {
"type": "integer"
},
"NumFalseNegatives": {
"type": "integer"
}
}
},
"ColumnImportances": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"ColumnName": {
"type": "string"
},
"Importance": {
"type": "number"
}
}
}
}
}
}
},
"LabelCount": {
"type": "integer"
},
"Schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"DataType": {
"type": "string"
}
}
}
},
"Role": {
"type": "string"
},
"GlueVersion": {
"type": "string"
},
"MaxCapacity": {
"type": "number"
},
"WorkerType": {
"$ref": "#/definitions/WorkerType"
},
"NumberOfWorkers": {
"type": "integer"
},
"Timeout": {
"type": "integer"
},
"MaxRetries": {
"type": "integer"
},
"TransformEncryption": {
"type": "object",
"properties": {
"MlUserDataEncryption": {
"type": "object",
"properties": {
"MlUserDataEncryptionMode": {
"$ref": "#/definitions/MlUserDataEncryptionMode"
},
"KmsKeyId": {
"type": "string"
}
}
},
"TaskRunSecurityConfigurationName": {
"type": "string"
}
}
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/mlTransformAka"
}
},
"title": {
"$ref": "#/definitions/mlTransformName"
},
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
}
}
}
},
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/mlTransform",
"modUri": "tmod:@turbot/aws-glue"
}
}

mlTransformAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:glue:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:mlTransform/tfm-([0-9a-z]{40})$",
"tests": [
{
"description": "correct arn",
"input": "arn:aws:glue:us-east-1:123456789012:mlTransform/tfm-5e6r4t7a8a9e6r5q567rt6a78sd345yd134gc45a"
},
{
"description": "invalid - mlTransform arn is invalid",
"input": "arn:aws:glue:us-east-1:123456789012:tfm-5e6r4t7a8a9e6r5q567rt6a78sd345yd134gc45a",
"expected": false
},
{
"description": "invalid - array passed instead of string",
"input": [
"foo"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/mlTransformAka",
"modUri": "tmod:@turbot/aws-glue"
}
}

mlTransformId

{
"type": "string",
"pattern": "^tfm-([0-9a-z]{40})$",
"tests": [
{
"description": "invalid - transformID",
"input": "345tgfdv75658ggfgddgfdg",
"expected": false
},
{
"description": "invalid - length",
"input": "tfm-123",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/mlTransformId",
"modUri": "tmod:@turbot/aws-glue"
}
}

mlTransformName

{
"type": "string",
"pattern": "^([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"input": "$test-01."
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - max length exceeded",
"input": "mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransform-$098765test01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest01mlTransformtest011",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/mlTransformName",
"modUri": "tmod:@turbot/aws-glue"
}
}

MlUserDataEncryptionMode

{
"type": "string",
"enum": [
"DISABLED",
"SSE-KMS"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/MlUserDataEncryptionMode",
"modUri": "tmod:@turbot/aws-glue"
}
}

RecrawlBehavior

{
"type": "string",
"enum": [
"CRAWL_EVERYTHING",
"CRAWL_NEW_FOLDERS_ONLY"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/RecrawlBehavior",
"modUri": "tmod:@turbot/aws-glue"
}
}

s3Encryption

{
"type": "object",
"properties": {
"S3EncryptionMode": {
"$ref": "#/definitions/s3EncryptionMode"
},
"KmsKeyArn": {
"$ref": "#/definitions/kmsKeyArn"
}
},
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/s3Encryption",
"modUri": "tmod:@turbot/aws-glue"
}
}

s3EncryptionMode

{
"type": "string",
"enum": [
"DISABLED",
"SSE-KMS",
"SSE-S3"
],
"tests": [
{
"input": "SSE-S3"
},
{
"description": "invalid - encryption not in the list",
"input": "SQS-KMS",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/s3EncryptionMode",
"modUri": "tmod:@turbot/aws-glue"
}
}

securityConfiguration

{
"type": "object",
"properties": {
"Name": {
"$ref": "#/definitions/securityConfigurationName"
},
"CreatedTimeStamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"EncryptionConfiguration": {
"$ref": "#/definitions/encryptionConfig"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/securityConfigurationAka"
}
},
"title": {
"$ref": "#/definitions/securityConfigurationName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Name": "testsecconfig01",
"CreatedTimeStamp": "2019-10-09T07:08:27.000Z",
"EncryptionConfiguration": {
"S3Encryption": [
{
"S3EncryptionMode": "SSE-KMS",
"KmsKeyArn": "arn:aws:kms:us-east-2:123456789012:key/623bb0ef-f647-4e74-9246-2eade7186b59"
}
],
"CloudWatchEncryption": {
"CloudWatchEncryptionMode": "SSE-KMS",
"KmsKeyArn": "arn:aws:kms:us-east-2:123456789012:key/4849ca53-b3f7-4630-9034-09af27fbb76e"
},
"JobBookmarksEncryption": {
"JobBookmarksEncryptionMode": "DISABLED"
}
},
"turbot": {
"akas": [
"arn:aws:glue:us-east-2:123456789012:securityConfiguration/testsecconfig01"
],
"title": "testsecconfig01",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-2"
}
}
}
}
},
{
"description": "invalid - missing Name property",
"input": {
"turbot": {
"akas": [
"arn:aws:glue:us-east-1:123456789012:securityConfiguration/testSecCon01"
],
"title": "testSecCon01",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/securityConfiguration",
"modUri": "tmod:@turbot/aws-glue"
}
}

securityConfigurationAka

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:glue:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:securityConfiguration/([><?@+_'`~^%&\\*\\[\\]\\{\\}.!#|\\\"$';,:;=/\\(\\),\\-a-z\\s\\d+]{1,255})$",
"tests": [
{
"description": "correct arn",
"input": "arn:aws:glue:us-east-1:123456789012:securityConfiguration/test-123"
},
{
"description": "invalid - database arn is invalid",
"input": "arn:aws:glue:us-east-1:123456789012:test-123",
"expected": false
},
{
"description": "invalid - array passed instead of string",
"input": [
"arn:aws:glue:us-east-1:123456789012:securityConfiguration/test-123"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/securityConfigurationAka",
"modUri": "tmod:@turbot/aws-glue"
}
}

securityConfigurationName

{
"type": "string",
"pattern": "^([><?@+_'`~^%&\\*\\[\\]\\{\\}.!#|\\\"$';,:;=/\\(\\),\\-a-z\\s\\d+]{1,255})$",
"tests": [
{
"input": "testsecconf01"
},
{
"description": "invalid - max length exceeded",
"input": "testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01testsecconf01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/securityConfigurationName",
"modUri": "tmod:@turbot/aws-glue"
}
}

State

{
"type": "string",
"enum": [
"RUNNING",
"CANCELLING",
"CANCELLED",
"SUCCEEDED",
"FAILE",
"FAILED",
"TIMEOUT"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/State",
"modUri": "tmod:@turbot/aws-glue"
}
}

Status

{
"type": "string",
"enum": [
"RUNNING",
"COMPLETED",
"STOPPING",
"STOPPED",
"ERROR"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/Status",
"modUri": "tmod:@turbot/aws-glue"
}
}

table

{
"type": "object",
"properties": {
"CreatedBy": {
"type": "string"
},
"CreateTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"DatabaseName": {
"$ref": "#/definitions/databaseName"
},
"Description": {
"type": "string"
},
"IsRegisteredWithLakeFormation": {
"type": "boolean"
},
"LastAccessTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastAnalyzedTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"Name": {
"$ref": "#/definitions/tableName"
},
"Owner": {
"type": "string"
},
"Parameters": {
"type": "object"
},
"PartitionKeys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Comment": {
"type": "string"
},
"Name": {
"type": "string"
},
"Parameters": {
"type": "object"
},
"Type": {
"type": "string"
}
}
}
},
"PolicyInJson": {
"type": "string"
},
"Retention": {
"type": "integer"
},
"StorageDescriptor": {
"type": "object",
"properties": {
"BucketColumns": {
"type": "array",
"items": {
"type": "string"
}
},
"Columns": {
"type": "array",
"items": {
"type": "object"
},
"properties": {
"Comment": {
"type": "string"
},
"Name": {
"type": "string"
},
"Parameters": {
"type": "object"
},
"Type": {
"type": "string"
}
}
},
"Compressed": {
"type": "boolean"
},
"InputFormat": {
"type": "string"
},
"Location": {
"type": "string"
},
"NumberOfBuckets": {
"type": "integer"
},
"OutputFormat": {
"type": "string"
},
"Parameters": {
"type": "object"
},
"SerdeInfo": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"Parameters": {
"type": "object"
},
"SerializationLibrary": {
"type": "string"
}
}
},
"SkewedInfo": {
"type": "object",
"properties": {
"SkewedColumnNames": {
"type": "array",
"items": {
"type": "string"
}
},
"SkewedColumnValueLocationMaps": {
"type": "object"
},
"SkewedColumnValues": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"SortColumns": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"Column": {
"type": "string"
},
"SortOrder": {
"type": "integer"
}
}
},
"StoredAsSubDirectories": {
"type": "boolean"
}
}
},
"TableType": {
"type": "string"
},
"UpdateTime": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"ViewExpandedText": {
"type": "string"
},
"ViewOriginalText": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/tableAka"
}
},
"title": {
"$ref": "#/definitions/tableName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"databaseName": {
"$ref": "#/definitions/databaseName"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"Name": "elb_logs",
"DatabaseName": "sampledb",
"Owner": "hadoop",
"CreateTime": "2019-10-09T07:08:27.000Z",
"UpdateTime": "2019-10-09T07:08:27.000Z",
"LastAccessTime": "2019-10-09T07:08:27.000Z",
"Retention": 0,
"StorageDescriptor": {
"Columns": [
{
"Name": "request_timestamp",
"Type": "string"
}
]
},
"Location": "s3://athena-examples-us-east-1/elb/plaintext",
"InputFormat": "org.apache.hadoop.mapred.TextInputFormat",
"OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat",
"Compressed": false,
"NumberOfBuckets": -1,
"SerdeInfo": {
"SerializationLibrary": "org.apache.hadoop.hive.serde2.RegexSerDe"
},
"PartitionKeys": [],
"TableType": "EXTERNAL_TABLE",
"CreatedBy": "arn:aws:sts::560741234067:assumed-role/superuser/avishek@turbot.com-8v9orZhOdtbEIHAAaPk",
"turbot": {
"akas": [
"arn:aws:glue:us-east-1:123456789012:table/table01"
],
"title": "table01",
"custom": {
"databaseName": "test01",
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - missing Name property",
"input": {
"turbot": {
"akas": [
"arn:aws:glue:us-east-1:123456789012:table/table01"
],
"title": "table01",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "invalid - missing turbot property",
"input": {
"Name": "table01"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/table",
"modUri": "tmod:@turbot/aws-glue"
}
}

tableAka

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:glue:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:table/([><?@+_'`~^%&\\*\\[\\]\\{\\}.!#|\\\"$';,:;=/\\(\\),\\-a-z\\s\\d+]{1,255})$",
"tests": [
{
"description": "correct arn",
"input": "arn:aws:glue:us-east-1:123456789012:table/test-123/test-123"
},
{
"description": "invalid - database arn is invalid",
"input": "arn:aws:glue:us-east-1:123456789012:test-123",
"expected": false
},
{
"description": "invalid - array passed instead of string",
"input": [
"arn:aws:glue:us-east-1:123456789012:table/test-123"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/tableAka",
"modUri": "tmod:@turbot/aws-glue"
}
}

tableName

{
"type": "string",
"pattern": "^([><?@+_'`~^%&\\*\\[\\]\\{\\}.!#|\\\"$';,:;=/\\(\\),\\-a-z\\s\\d+]{1,255})$",
"tests": [
{
"input": "table01"
},
{
"description": "invalid - max length exceeded",
"input": "table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01table01",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/tableName",
"modUri": "tmod:@turbot/aws-glue"
}
}

TransformType

{
"type": "string",
"enum": [
"FIND_MATCHES"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/TransformType",
"modUri": "tmod:@turbot/aws-glue"
}
}

trigger

{
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"WorkflowName": {
"type": "string"
},
"Id": {
"type": "string"
},
"Type": {
"$ref": "#/definitions/Type"
},
"State": {
"$ref": "#/definitions/State"
},
"Description": {
"type": "string"
},
"Schedule": {
"type": "string"
},
"Actions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"JobName": {
"type": "string"
},
"Arguments": {
"type": "object"
},
"Timeout": {
"type": "integer"
},
"SecurityConfiguration": {
"type": "string"
},
"NotificationProperty": {
"type": "array",
"items": {
"type": "object",
"properties": {
"NotifyDelayAfter": {
"type": "integer"
}
}
}
},
"CrawlerName": {
"type": "string"
}
}
}
},
"Predicate": {
"type": "object",
"properties": {
"Logical": {
"$ref": "#/definitions/Logical"
},
"Conditions": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"LogicalOperator": {
"$ref": "#/definitions/LogicalOperator"
},
"JobName": {
"type": "string"
},
"State": {
"$ref": "#/definitions/State"
},
"CrawlerName": {
"type": "string"
},
"CrawlState": {
"$ref": "#/definitions/CrawlState"
}
}
}
}
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/triggerAka"
}
},
"title": {
"$ref": "#/definitions/triggerName"
},
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
}
}
}
},
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/trigger",
"modUri": "tmod:@turbot/aws-glue"
}
}

triggerAka

{
"type": "string",
"pattern": "arn:aws(-us-gov|-cn)?:glue:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:trigger/([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"description": "correct arn",
"input": "arn:aws:glue:us-east-1:123456789012:trigger/test-123"
},
{
"description": "invalid - trigger arn is invalid",
"input": "arn:aws:glue:us-east-1:123456789012:test-123",
"expected": false
},
{
"description": "invalid - array passed instead of string",
"input": [
"foo"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/triggerAka",
"modUri": "tmod:@turbot/aws-glue"
}
}

triggerName

{
"type": "string",
"pattern": "^([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"input": "$test-01."
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - max length exceeded",
"input": "databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest01database-$098765test01databasetest01databasetest01databasetest01databasetest01databasetest01databasetest011",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/triggerName",
"modUri": "tmod:@turbot/aws-glue"
}
}

Type

{
"type": "string",
"enum": [
"SCHEDULED",
"CONDITIONAL",
"ON_DEMAN"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/Type",
"modUri": "tmod:@turbot/aws-glue"
}
}

UpdateBehavior

{
"type": "string",
"enum": [
"LOG",
"UPDATE_IN_DATABASE"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/UpdateBehavior",
"modUri": "tmod:@turbot/aws-glue"
}
}

WorkerType

{
"type": "string",
"enum": [
"Standard",
"G.1X",
"G.2"
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/WorkerType",
"modUri": "tmod:@turbot/aws-glue"
}
}

workflow

{
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"DefaultRunProperties": {
"type": "object"
},
"CreatedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastModifiedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastRun": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"WorkflowRunId": {
"type": "string"
},
"PreviousRunId": {
"type": "string"
},
"WorkflowRunProperties": {
"type": "object"
},
"StartedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"CompletedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"Status": {
"$ref": "#/definitions/Status"
},
"ErrorMessage": {
"type": "string"
},
"Statistics": {
"type": "object",
"properties": {
"TotalActions": {
"type": "integer"
},
"TimeoutActions": {
"type": "integer"
},
"FailedActions": {
"type": "integer"
},
"StoppedActions": {
"type": "integer"
},
"SucceededActions": {
"type": "integer"
},
"RunningActions": {
"type": "integer"
}
}
},
"Graph": {
"type": "object",
"properties": {
"Nodes": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"Type": {
"$ref": "#/definitions/Type"
},
"Name": {
"type": "string"
},
"UniqueId": {
"type": "string"
},
"TriggerDetails": {
"type": "object",
"properties": {
"Trigger": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"WorkflowName": {
"type": "string"
},
"Id": {
"type": "string"
},
"Type": {
"$ref": "#/definitions/Type"
},
"State": {
"$ref": "#/definitions/State"
},
"Description": {
"type": "string"
},
"Schedule": {
"type": "string"
},
"Actions": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"JobName": {
"type": "string"
},
"Arguments": {
"type": "object"
},
"Timeout": {
"type": "integer"
},
"SecurityConfiguration": {
"type": "string"
},
"NotificationProperty": {
"type": "object",
"properties": {
"NotifyDelayAfter": {
"type": "integer"
}
}
},
"CrawlerName": {
"type": "string"
}
}
},
"Predicate": {
"type": "object",
"properties": {
"Logical": {
"$ref": "#/definitions/Logical"
},
"Conditions": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"LogicalOperator": {
"$ref": "#/definitions/LogicalOperator"
},
"JobName": {
"type": "string"
},
"State": {
"$ref": "#/definitions/State"
},
"CrawlerName": {
"type": "string"
},
"CrawlState": {
"$ref": "#/definitions/CrawlState"
}
}
}
}
}
}
}
}
},
"JobDetails": {
"type": "object",
"properties": {
"JobRuns": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"Id": {
"type": "string"
},
"Attempt": {
"type": "integer"
},
"PreviousRunId": {
"type": "string"
},
"TriggerName": {
"type": "string"
},
"JobName": {
"type": "string"
},
"StartedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastModifiedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"CompletedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"JobRunState": {
"$ref": "#/definitions/JobRunState"
},
"Arguments": {
"type": "object"
},
"ErrorMessage": {
"type": "string"
},
"PredecessorRuns": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"JobName": {
"type": "string"
},
"RunId": {
"type": "string"
}
}
},
"AllocatedCapacity": {
"type": "integer"
},
"ExecutionTime": {
"type": "integer"
},
"Timeout": {
"type": "integer"
},
"MaxCapacity": {
"type": "number"
},
"WorkerType": {
"$ref": "#/definitions/WorkerType"
},
"NumberOfWorkers": {
"type": "integer"
},
"SecurityConfiguration": {
"type": "string"
},
"LogGroupName": {
"type": "string"
},
"NotificationProperty": {
"type": "object",
"properties": {
"NotifyDelayAfter": {
"type": "integer"
}
}
},
"GlueVersion": {
"type": "string"
}
}
}
}
},
"CrawlerDetails": {
"type": "object",
"properties": {
"Crawls": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"State": {
"$ref": "#/definitions/State"
},
"StartedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"CompletedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"ErrorMessage": {
"type": "string"
},
"LogGroup": {
"type": "string"
},
"LogStream": {
"type": "string"
}
}
}
}
}
}
},
"Edges": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"SourceId": {
"type": "string"
},
"DestinationId": {
"type": "string"
}
}
}
}
}
}
},
"Graph": {
"type": "object",
"properties": {
"Nodes": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"Type": {
"$ref": "#/definitions/Type"
},
"Name": {
"type": "string"
},
"UniqueId": {
"type": "string"
},
"TriggerDetails": {
"type": "object",
"properties": {
"Trigger": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"WorkflowName": {
"type": "string"
},
"Id": {
"type": "string"
},
"Type": {
"$ref": "#/definitions/Type"
},
"State": {
"$ref": "#/definitions/State"
},
"Description": {
"type": "string"
},
"Schedule": {
"type": "string"
},
"Actions": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"JobName": {
"type": "string"
},
"Arguments": {
"type": "object"
},
"Timeout": {
"type": "integer"
},
"SecurityConfiguration": {
"type": "string"
},
"NotificationProperty": {
"type": "object",
"properties": {
"NotifyDelayAfter": {
"type": "integer"
}
}
},
"CrawlerName": {
"type": "string"
}
}
},
"Predicate": {
"type": "object",
"properties": {
"Logical": {
"$ref": "#/definitions/Logical"
},
"Conditions": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"LogicalOperator": {
"$ref": "#/definitions/LogicalOperator"
},
"JobName": {
"type": "string"
},
"State": {
"$ref": "#/definitions/State"
},
"CrawlerName": {
"type": "string"
},
"CrawlState": {
"$ref": "#/definitions/CrawlState"
}
}
}
}
}
}
}
}
},
"JobDetails": {
"type": "object",
"properties": {
"JobRuns": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"Id": {
"type": "string"
},
"Attempt": {
"type": "integer"
},
"PreviousRunId": {
"type": "string"
},
"TriggerName": {
"type": "string"
},
"JobName": {
"type": "string"
},
"StartedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"LastModifiedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"CompletedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"JobRunState": {
"$ref": "#/definitions/JobRunState"
},
"Arguments": {
"type": "object"
},
"ErrorMessage": {
"type": "string"
},
"PredecessorRuns": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"JobName": {
"type": "string"
},
"RunId": {
"type": "string"
}
}
},
"AllocatedCapacity": {
"type": "integer"
},
"ExecutionTime": {
"type": "integer"
},
"Timeout": {
"type": "integer"
},
"MaxCapacity": {
"type": "number"
},
"WorkerType": {
"$ref": "#/definitions/WorkerType"
},
"NumberOfWorkers": {
"type": "integer"
},
"SecurityConfiguration": {
"type": "string"
},
"LogGroupName": {
"type": "string"
},
"NotificationProperty": {
"type": "object",
"properties": {
"NotifyDelayAfter": {
"type": "integer"
}
}
},
"GlueVersion": {
"type": "string"
}
}
}
}
},
"CrawlerDetails": {
"type": "object",
"properties": {
"Crawls": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"State": {
"$ref": "#/definitions/State"
},
"StartedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"CompletedOn": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"ErrorMessage": {
"type": "string"
},
"LogGroup": {
"type": "string"
},
"LogStream": {
"type": "string"
}
}
}
}
}
}
},
"Edges": {
"type": "object",
"items": {
"type": "object"
},
"properties": {
"SourceId": {
"type": "string"
},
"DestinationId": {
"type": "string"
}
}
}
}
},
"MaxConcurrentRuns": {
"type": "integer"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/workflowAka"
}
},
"title": {
"$ref": "#/definitions/workflowName"
},
"metadata": {
"type": "object",
"properties": {
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
}
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
}
}
}
},
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/workflow",
"modUri": "tmod:@turbot/aws-glue"
}
}

workflowAka

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:glue:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:workflow/([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"description": "correct arn",
"input": "arn:aws:glue:us-east-1:123456789012:workflow/test-123"
},
{
"description": "invalid - workflow arn is invalid",
"input": "arn:aws:glue:us-east-1:123456789012:test-123",
"expected": false
},
{
"description": "invalid - array passed instead of string",
"input": [
"foo"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/workflowAka",
"modUri": "tmod:@turbot/aws-glue"
}
}

workflowName

{
"type": "string",
"pattern": "^([\\s\\S\\d\\D\\w\\W]{1,255})$",
"tests": [
{
"input": "$test-01."
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - max length exceeded",
"input": "workflowtest01workflowtest01workflowtest01workflowtest01workflowtest01workflowtest01workflowtest01workflowtest01workflowtest01workflowtest01workflowtest01workflowtest01workflow-$098765test01workflowtest01workflowtest01workflowtest01workflowtest01workflowtest01workflowtest011",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-glue#/definitions/workflowName",
"modUri": "tmod:@turbot/aws-glue"
}
}