Definitions for @turbot/aws-ecs

add

{
"type": "string",
"enum": [
"ALL",
"AUDIT_CONTROL",
"AUDIT_WRITE",
"BLOCK_SUSPEND",
"CHOWN",
"DAC_OVERRIDE",
"DAC_READ_SEARCH",
"FOWNER",
"FSETID",
"IPC_LOCK",
"IPC_OWNER",
"KILL",
"LEASE",
"LINUX_IMMUTABLE",
"MAC_ADMIN",
"MAC_OVERRIDE",
"MKNOD",
"NET_ADMIN",
"NET_BIND_SERVICE",
"NET_BROADCAST",
"NET_RAW",
"SETFCAP",
"SETGID",
"SETPCAP",
"SETUID",
"SYS_ADMIN",
"SYS_BOOT",
"SYS_CHROOT",
"SYS_MODULE",
"SYS_NICE",
"SYS_PACCT",
"SYS_PTRACE",
"SYS_RAWIO",
"SYS_RESOURCE",
"SYS_TIME",
"SYS_TTY_CONFIG",
"SYSLOG",
"WAKE_ALARM"
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/add",
"modUri": "tmod:@turbot/aws-ecs"
}
}

cluster

{
"type": "object",
"properties": {
"clusterName": {
"$ref": "#/definitions/clusterName"
},
"clusterArn": {
"$ref": "#/definitions/clusterArn"
},
"status": {
"$ref": "#/definitions/clusterStatus"
},
"tags": {
"$ref": "#/definitions/tagList"
},
"registeredContainerInstancesCount": {
"type": "integer"
},
"runningTasksCount": {
"type": "integer"
},
"pendingTasksCount": {
"type": "integer"
},
"activeServicesCount": {
"type": "integer"
},
"statistics": {
"type": "array"
},
"settings": {
"type": "array"
},
"capacityProviders": {
"type": "array"
},
"defaultCapacityProviderStrategy": {
"type": "array"
},
"failure": {
"type": "array"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/clusterArn"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/clusterName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"descriprion": "Valid - All properties",
"input": {
"clusterName": "test",
"clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/my-cluster",
"status": "ACTIVE",
"tags": [
{
"key": "Env",
"value": "Test"
},
{
"key": "App",
"value": "Facebook"
}
],
"turbot": {
"akas": [
"arn:aws:ecs:us-east-1:123456789012:cluster/my-cluster"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"title": "testing",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing turbot data",
"input": {
"clusterName": "test",
"clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/my-cluster",
"status": "ACTIVE",
"tags": [
{
"Key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "Facebook"
}
]
},
"expected": false
},
{
"description": "Invalid - Missing clusterName",
"input": {
"clusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/my-cluster",
"status": "ACTIVE",
"tags": [
{
"key": "Env",
"Value": "Test"
},
{
"Key": "App",
"Value": "Facebook"
}
],
"turbot": {
"akas": [
"arn:aws:ecs:us-east-1:123456789012:cluster/my-cluster"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"title": "testing",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/cluster",
"modUri": "tmod:@turbot/aws-ecs"
}
}

clusterArn

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ecs:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-[0-9]{1}:[0-9]{12}:cluster/[a-zA-Z][a-zA-Z0-9-]{1,107}$",
"tests": [
{
"input": "arn:aws-us-gov:ecs:us-east-1:012345678910:cluster/my-cluster"
},
{
"description": "invalid - cluster cannot start with numeric",
"input": [
"123cluster"
],
"expected": false
},
{
"description": "invalid - cluster cannot be more than 18 characters",
"input": "Turbot-mine-cluster-smart",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/clusterArn",
"modUri": "tmod:@turbot/aws-ecs"
}
}

clusterInstanceStatus

{
"type": "string",
"enum": [
"ACTIVE",
"INACTIVE",
"DRAINING"
],
"tests": [
{
"input": "ACTIVE"
},
{
"input": "INACTIVE"
},
{
"description": "invalid - not listed in options",
"input": "reactive",
"expected": false
},
{
"description": "invalid - null value",
"input": "",
"expected": false
},
{
"description": "invalid - status in lower case",
"input": "active",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/clusterInstanceStatus",
"modUri": "tmod:@turbot/aws-ecs"
}
}

clusterName

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

clusterStatus

{
"type": "string",
"enum": [
"ACTIVE",
"INACTIVE"
],
"tests": [
{
"description": "base case",
"input": "ACTIVE"
},
{
"description": "invalid - lowercase value",
"input": "inactive",
"expected": false
},
{
"description": "invalid - not listed in the options",
"input": "ON",
"expected": false
},
{
"description": "invalid - array type provided",
"input": [
"active",
"inactive"
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/clusterStatus",
"modUri": "tmod:@turbot/aws-ecs"
}
}

condition

{
"type": "string",
"enum": [
"START",
"COMPLETE",
"SUCCESS",
"HEALTHY"
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/condition",
"modUri": "tmod:@turbot/aws-ecs"
}
}

containerInstance

{
"type": "object",
"properties": {
"containerInstanceArn": {
"$ref": "#/definitions/containerInstanceArn"
},
"cluster": {
"$ref": "#/definitions/clusterName"
},
"containerInstanceId": {
"$ref": "#/definitions/containerInstanceId"
},
"clusterName": {
"type": "string"
},
"status": {
"$ref": "#/definitions/clusterInstanceStatus"
},
"tags": {
"$ref": "#/definitions/tagList"
},
"ec2InstanceId": {
"type": "string"
},
"version": {
"type": "integer"
},
"versionInfo": {
"type": "object"
},
"remainingResources": {
"type": "array"
},
"registeredResources": {
"type": "array"
},
"agentConnected": {
"type": "boolean"
},
"runningTasksCount": {
"type": "integer"
},
"pendingTasksCount": {
"type": "integer"
},
"attributes": {
"type": "array"
},
"registeredAt": {
"type": "string"
},
"attachments": {
"type": "array"
},
"failures": {
"type": "array"
},
"agentUpdateStatus": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/containerInstanceArn"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/containerInstanceId"
},
"custom": {
"type": "object",
"properties": {
"clusterName": {
"$ref": "#/definitions/clusterName"
},
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"descriprion": "Valid - All properties",
"input": {
"status": "INACTIVE",
"containerInstanceArn": "arn:aws:ecs:us-west-2:492552618977:container-instance/93ac7b1a-f263-488a-875f-9f657d4ab50c",
"tags": [
{
"key": "Env",
"value": "Test"
},
{
"key": "App",
"value": "Facebook"
}
],
"turbot": {
"akas": [
"arn:aws:ecs:us-east-1:123456789012:container-instance/93ac7b1a-f263-488a-875f-9f657d4ab50c"
],
"tags": {
"Env": "Test",
"App": "Facebook"
},
"title": "93ac7b1a-f263-488a-875f-9f657d4ab50c",
"custom": {
"aws": {
"accountId": 123456789012,
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing turbot data",
"input": {
"status": "INACTIVE",
"containerInstanceArn": "arn:aws:ecs:us-west-2:492552618977:container-instance/93ac7b1a-f263-488a-875f-9f657d4ab50c",
"tags": [
{
"key": "Env",
"value": "Test"
},
{
"key": "App",
"value": "Facebook"
}
]
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/containerInstance",
"modUri": "tmod:@turbot/aws-ecs"
}
}

containerInstanceArn

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ecs:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-[0-9]{1}:[0-9]{12}:container-instance/[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$",
"tests": [
{
"input": "arn:aws:ecs:us-west-2:492552618977:container-instance/93ac7b1a-f263-488a-875f-9f657d4ab50c"
},
{
"description": "invalid - should start with arn",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:ecs:us-west-2:492552618987977:container-instance/93ac7b1a-f263-488a-875f-9f657d4ab50c",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/containerInstanceArn",
"modUri": "tmod:@turbot/aws-ecs"
}
}

containerInstanceId

{
"type": "string",
"pattern": "^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$",
"tests": [
{
"input": "93ac7b1a-f263-488a-875f-9f657d4ab50c"
},
{
"description": "invalid - cannot use hash, asterisk, ampersand, cap, percentile not allowed",
"input": "93ac7b1*-f26#-488a-87&f-9f657d4a^50c",
"expected": false
},
{
"description": "invalid - cannot start with at character",
"input": "@93ac7b1a-f263-488a-875f-9f657d4ab50c",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/containerInstanceId",
"modUri": "tmod:@turbot/aws-ecs"
}
}

drop

{
"type": "string",
"enum": [
"ALL",
"AUDIT_CONTROL",
"AUDIT_WRITE",
"BLOCK_SUSPEND",
"CHOWN",
"DAC_OVERRIDE",
"DAC_READ_SEARCH",
"FOWNER",
"FSETID",
"IPC_LOCK",
"IPC_OWNER",
"KILL",
"LEASE",
"LINUX_IMMUTABLE",
"MAC_ADMIN",
"MAC_OVERRIDE",
"MKNOD",
"NET_ADMIN",
"NET_BIND_SERVICE",
"NET_BROADCAST",
"NET_RAW",
"SETFCAP",
"SETGID",
"SETPCAP",
"SETUID",
"SYS_ADMIN",
"SYS_BOOT",
"SYS_CHROOT",
"SYS_MODULE",
"SYS_NICE",
"SYS_PACCT",
"SYS_PTRACE",
"SYS_RAWIO",
"SYS_RESOURCE",
"SYS_TIME",
"SYS_TTY_CONFIG",
"SYSLOG",
"WAKE_ALARM"
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/drop",
"modUri": "tmod:@turbot/aws-ecs"
}
}

ecs

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

ecsAka

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

mountOptions

{
"type": "string",
"enum": [
"defaults",
"ro",
"rw",
"suid",
"nosuid",
"dev",
"nodev",
"exec",
"noexec",
"sync",
"async",
"dirsync",
"remount",
"mand",
"nomand",
"atime",
"noatime",
"diratime",
"nodiratime",
"bind",
"rbind",
"unbindable",
"runbindable",
"private",
"rprivate",
"shared",
"rshared",
"slave",
"rslave",
"relatime",
"norelatime",
"strictatime",
"nostrictatime",
"mode",
"uid",
"gid",
"nr_inodes",
"nr_blocks",
"mpol"
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/mountOptions",
"modUri": "tmod:@turbot/aws-ecs"
}
}

networkMode

{
"type": "string",
"enum": [
"bridge",
"host",
"awsvpc",
"none"
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/networkMode",
"modUri": "tmod:@turbot/aws-ecs"
}
}

protocol

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

service

{
"type": "object",
"properties": {
"serviceName": {
"$ref": "#/definitions/serviceName"
},
"serviceArn": {
"$ref": "#/definitions/serviceArn"
},
"clusterArn": {
"$ref": "#/definitions/clusterArn"
},
"loadBalancers": {
"type": "array"
},
"serviceRegistries": {
"type": "array"
},
"status": {
"$ref": "#/definitions/serviceStatus"
},
"desiredCount": {
"type": "integer"
},
"runningCount": {
"type": "integer"
},
"pendingCount": {
"type": "integer"
},
"launchType": {
"$ref": "#/definitions/serviceLaunchType"
},
"capacityProviderStrategy": {
"type": "array"
},
"platformVersion": {
"type": "string"
},
"taskDefinition": {
"type": "string"
},
"deploymentConfiguration": {
"type": "object"
},
"taskSets": {
"type": "array"
},
"deployments": {
"type": "array"
},
"roleArn": {
"type": "string"
},
"events": {
"type": "array"
},
"createdAt": {
"$ref": "turbot#/definitions/isoTimestamp"
},
"placementConstraints": {
"type": "array"
},
"placementStrategy": {
"type": "array"
},
"networkConfiguration": {
"type": "object"
},
"healthCheckGracePeriodSeconds": {
"type": "integer"
},
"schedulingStrategy": {
"type": "string"
},
"deploymentController": {
"type": "object"
},
"createdBy": {
"type": "string"
},
"propagateTags": {
"type": "string"
},
"turbot": {
"type": "object",
"properties": {
"akas": {
"type": "array",
"items": {
"$ref": "#/definitions/serviceArn"
}
},
"tags": {
"$ref": "aws#/definitions/tagsMap"
},
"title": {
"$ref": "#/definitions/serviceName"
},
"custom": {
"type": "object",
"properties": {
"aws": {
"$ref": "aws#/definitions/awsMetadata"
},
"clusterName": {
"$ref": "#/definitions/clusterName"
},
"createTimestamp": {
"$ref": "turbot#/definitions/isoTimestamp"
}
}
}
}
}
},
"additionalProperties": true,
"tests": [
{
"description": "Valid - All properties",
"input": {
"serviceName": "sample-app-service",
"serviceArn": "arn:aws:ecs:us-east-1:039305405804:service/test-cluster/sample-app-service",
"clusterArn": "arn:aws:ecs:us-east-1:039305405804:cluster/test-cluster",
"turbot": {
"akas": [
"arn:aws:ecs:us-east-1:039305405804:service/test-cluster/sample-app-service"
],
"title": "sample-app-service",
"custom": {
"clusterName": "test-cluster",
"aws": {
"accountId": "039305405804",
"regionName": "us-east-1"
}
}
}
}
},
{
"description": "Invalid - Missing turbot data",
"input": {
"serviceName": "sample-app-service",
"serviceArn": "arn:aws:ecs:us-east-1:039305405804:service/test-cluster/sample-app-service"
}
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/service",
"modUri": "tmod:@turbot/aws-ecs"
}
}

serviceArn

{
"type": "string",
"pattern": "^arn:aws(-us-gov|-cn)?:ecs:[a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-[0-9]{1}:[0-9]{12}:service/[a-zA-Z][a-zA-Z0-9-]{1,107}/[a-zA-Z0-9_-]{1,255}$",
"tests": [
{
"input": "arn:aws:ecs:us-east-1:039305405804:service/test-cluster/sample-app-service"
},
{
"description": "invalid - should start with arn",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:ecs:us-east-1:492552618987977:service/test-cluster/sample-app-service",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/serviceArn",
"modUri": "tmod:@turbot/aws-ecs"
}
}

serviceLaunchType

{
"type": "string",
"enum": [
"EC2",
"FARGATE"
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/serviceLaunchType",
"modUri": "tmod:@turbot/aws-ecs"
}
}

serviceName

{
"type": "string",
"pattern": "^[a-zA-Z0-9_-]{1,255}$",
"tests": [
{
"input": "sample-app-service"
},
{
"description": "invalid characters",
"input": "hi hi",
"expected": false
},
{
"description": "invalid - AWS account id is wrong",
"input": "arn:aws:ecs:us-east-1:492552618987977:service/test-cluster/sample-app-service",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/serviceName",
"modUri": "tmod:@turbot/aws-ecs"
}
}

serviceStatus

{
"type": "string",
"enum": [
"ACTIVE",
"DRAINING",
"INACTIVE"
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/serviceStatus",
"modUri": "tmod:@turbot/aws-ecs"
}
}

status

{
"type": "string",
"enum": [
"ACTIVE",
"INACTIVE"
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/status",
"modUri": "tmod:@turbot/aws-ecs"
}
}

tag

{
"type": "object",
"properties": {
"key": {
"$ref": "#/definitions/tagKey"
},
"value": {
"$ref": "#/definitions/tagValue"
}
},
"required": [
"key",
"value"
],
"tests": [
{
"description": "valid - base case",
"input": {
"key": "foo",
"value": "bar"
}
},
{
"description": "invalid - empty key",
"input": {
"key": "",
"value": "bar"
},
"expected": false
},
{
"description": "invalid - no key",
"input": {
"value": "bar"
},
"expected": false
},
{
"description": "invalid - no value",
"input": {
"key": "foo"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/tag",
"modUri": "tmod:@turbot/aws-ecs"
}
}

tagKey

{
"allOf": [
{
"$ref": "#/definitions/tagString"
},
{
"type": "string",
"minLength": 1,
"maxLength": 128
}
],
"tests": [
{
"description": "valid - min length",
"input": "a"
},
{
"description": "valid - max length",
"input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345678"
},
{
"description": "invalid - empty string",
"input": "",
"expected": false
},
{
"description": "invalid - too long",
"input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/tagKey",
"modUri": "tmod:@turbot/aws-ecs"
}
}

tagList

{
"type": "array",
"items": {
"$ref": "#/definitions/tag"
},
"minLength": 0,
"tests": [
{
"description": "valid - empty list",
"input": []
},
{
"description": "valid - single item",
"input": [
{
"key": "foo",
"value": "bar"
}
]
},
{
"description": "valid - multiple items",
"input": [
{
"key": "one",
"value": 1
},
{
"key": "two",
"value": 2
},
{
"key": "three",
"value": 3
},
{
"key": "four",
"value": 4
}
]
},
{
"description": "invalid - missing value",
"input": [
{
"key": "one"
},
{
"key": "two",
"value": 2
}
],
"expected": false
},
{
"description": "invalid - empty item",
"input": [
{
"key": "one",
"value": 1
},
null,
{
"key": "two",
"value": 2
}
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/tagList",
"modUri": "tmod:@turbot/aws-ecs"
}
}

tagsMap

{
"type": "object",
"patternProperties": {
"^[-+=\\._:@/\\sA-Za-z0-9\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19]{1,128}$": {
"$ref": "#/definitions/tagValue"
}
},
"additionalProperties": false,
"tests": [
{
"description": "valid - base case",
"input": {
"foo": "bar"
}
},
{
"description": "valid - kitchen sink",
"input": {
"küßî123": "küßî123",
"test": ""
}
},
{
"description": "valid - key min length",
"input": {
"a": "bar"
}
},
{
"description": "invalid - empty key",
"input": {
"": "bar"
},
"expected": false
},
{
"description": "valid - key max length",
"input": {
"123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345678": "bar"
}
},
{
"description": "invalid - key too long",
"input": {
"123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789": "bar"
},
"expected": false
},
{
"description": "valid - empty",
"input": {}
},
{
"description": "invalid - $ in key",
"input": {
"$foo": "bar"
},
"expected": false
},
{
"description": "invalid - $ in value",
"input": {
"foo": "$bar"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/tagsMap",
"modUri": "tmod:@turbot/aws-ecs"
}
}

tagsTemplateTag

{
"type": "object",
"patternProperties": {
"^(?!aws:)[-+=\\._:@/\\sA-Za-z0-9\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19]{1,128}$": {
"$ref": "#/definitions/tagValue"
}
},
"minProperties": 1,
"maxProperties": 1,
"additionalProperties": false,
"tests": [
{
"description": "valid - base case",
"input": {
"foo": "bar"
}
},
{
"description": "invalid - starts with \"aws:\"",
"input": {
"aws:test": "bar"
},
"expected": false
},
{
"description": "invalid - below min properties",
"input": {},
"expected": false
},
{
"description": "invalid - above max properties",
"input": {
"foo": "bar",
"foo1": "bar1"
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/tagsTemplateTag",
"modUri": "tmod:@turbot/aws-ecs"
}
}

tagsTemplateTagList

{
"type": "array",
"items": {
"$ref": "#/definitions/tagsTemplateTag"
},
"minLength": 0,
"tests": [
{
"description": "valid - empty list",
"input": []
},
{
"description": "valid - single item",
"input": [
{
"foo": "bar"
}
]
},
{
"description": "valid - multiple items",
"input": [
{
"foo": "bar"
},
{
"foo1": "bar1"
},
{
"foo2": "bar2"
}
]
},
{
"description": "invalid - empty item",
"input": [
{
"foo": "bar"
},
null,
{
"foo2": "bar2"
}
],
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/tagsTemplateTagList",
"modUri": "tmod:@turbot/aws-ecs"
}
}

tagString

{
"type": "string",
"pattern": "^[-+=\\._@:/\\sA-Za-z0-9\\u00AA\\u00B5\\u00BA\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B4\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0AF9\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58-\\u0C5A\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D5F-\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F5\\u13F8-\\u13FD\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16F1-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2183\\u2184\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005\\u3006\\u3031-\\u3035\\u303B\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FD5\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6E5\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA7AD\\uA7B0-\\uA7B7\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA8FD\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB65\\uAB70-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC\\u0660-\\u0669\\u06F0-\\u06F9\\u07C0-\\u07C9\\u0966-\\u096F\\u09E6-\\u09EF\\u0A66-\\u0A6F\\u0AE6-\\u0AEF\\u0B66-\\u0B6F\\u0BE6-\\u0BEF\\u0C66-\\u0C6F\\u0CE6-\\u0CEF\\u0D66-\\u0D6F\\u0DE6-\\u0DEF\\u0E50-\\u0E59\\u0ED0-\\u0ED9\\u0F20-\\u0F29\\u1040-\\u1049\\u1090-\\u1099\\u17E0-\\u17E9\\u1810-\\u1819\\u1946-\\u194F\\u19D0-\\u19D9\\u1A80-\\u1A89\\u1A90-\\u1A99\\u1B50-\\u1B59\\u1BB0-\\u1BB9\\u1C40-\\u1C49\\u1C50-\\u1C59\\uA620-\\uA629\\uA8D0-\\uA8D9\\uA900-\\uA909\\uA9D0-\\uA9D9\\uA9F0-\\uA9F9\\uAA50-\\uAA59\\uABF0-\\uABF9\\uFF10-\\uFF19]*$",
"tests": [
{
"input": "küßî"
},
{
"input": "Peter Dinklage as Tyrion Lannister"
},
{
"input": "Filip Lozić as Young Nobleman"
},
{
"description": "invalid - includes $",
"input": "$56",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/tagString",
"modUri": "tmod:@turbot/aws-ecs"
}
}

tagValue

{
"allOf": [
{
"$ref": "#/definitions/tagString"
},
{
"type": "string",
"minLength": 0,
"maxLength": 256
}
],
"tests": [
{
"description": "valid - empty string",
"input": ""
},
{
"description": "valid - 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 123456789 123456789 123456"
},
{
"description": "invalid - too long",
"input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/tagValue",
"modUri": "tmod:@turbot/aws-ecs"
}
}

taskDefinition

{
"type": "object",
"properties": {
"containerDefinitions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"command": {
"type": "array",
"items": {
"type": "string"
}
},
"cpu": {
"type": "integer"
},
"dependsOn": {
"type": "array",
"items": {
"type": "object",
"properties": {
"condition": {
"$ref": "#/definitions/condition"
},
"containerName": {
"type": "string"
}
}
}
},
"disableNetworking": {
"type": "boolean"
},
"entryPoint": {
"type": "array",
"items": {
"type": "string"
}
},
"environment": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"environmentFiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"$ref": "#/definitions/type"
},
"value": {
"type": "string"
}
}
}
},
"essential": {
"type": "boolean"
},
"hostname": {
"type": "string"
},
"image": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "string"
}
},
"linuxParameters": {
"type": "array",
"items": {
"type": "object",
"properties": {
"capabilities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"add": {
"$ref": "#/definitions/add"
},
"drop": {
"$ref": "#/definitions/drop"
}
}
}
},
"devices": {
"type": "array",
"items": {
"type": "object",
"properties": {
"containerPath": {
"type": "string"
},
"hostPath": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"initProcessEnabled": {
"type": "boolean"
},
"maxSwap": {
"type": "integer"
},
"sharedMemorySize": {
"type": "string"
},
"swappiness": {
"type": "integer"
},
"tmpfs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"containerPath": {
"type": "string"
},
"mountOptions": {
"$ref": "#/definitions/mountOptions"
},
"size": {
"type": "integer"
}
}
}
}
}
}
},
"memory": {
"type": "integer"
},
"memoryReservation": {
"type": "integer"
},
"mountPoints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"containerPath": {
"type": "string"
},
"readOnly": {
"type": "boolean"
},
"sourceVolume": {
"type": "string"
}
}
}
},
"name": {
"type": "string"
},
"portMappings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"containerPort": {
"type": "integer"
},
"hostPort": {
"type": "integer"
},
"protocol": {
"$ref": "#/definitions/protocol"
}
}
}
},
"privileged": {
"type": "boolean"
},
"readonlyRootFilesystem": {
"type": "boolean"
},
"repositoryCredentials": {
"type": "array",
"items": {
"type": "object",
"properties": {
"credentialsParameter": {
"type": "string"
}
}
}
},
"secrets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"valueFrom": {
"type": "string"
}
}
}
},
"startTimeout": {
"type": "integer"
},
"stopTimeout": {
"type": "integer"
},
"user": {
"type": "string"
},
"volumesFrom": {
"type": "array",
"items": {
"type": "object",
"properties": {
"readOnly": {
"type": "boolean"
},
"sourceContainer": {
"type": "string"
}
}
}
},
"workingDirectory": {
"type": "string"
}
}
}
},
"executionRoleArn": {
"type": "string"
},
"family": {
"type": "string"
},
"networkMode": {
"$ref": "#/definitions/networkMode"
},
"status": {
"$ref": "#/definitions/status"
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
}
}
},
"taskDefinitionArn": {
"type": "string"
},
"taskDefinitionName": {
"type": "string"
},
"taskRoleArn": {
"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"
}
}
}
},
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/aws-ecs#/definitions/taskDefinition",
"modUri": "tmod:@turbot/aws-ecs"
}
}

type

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