Definitions for @turbot/turbot

$ref

{
"type": "string",
"format": "uri-reference",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/$ref",
"modUri": "tmod:@turbot/turbot"
}
}

$schema

{
"$ref": "http://json-schema.org/draft-07/schema#",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/$schema",
"modUri": "tmod:@turbot/turbot"
}
}

actionType

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"icon": {
"$ref": "#/definitions/icon"
},
"parent": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
},
{
"$ref": "#/definitions/actionTypeReference"
}
]
},
"targets": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/resourceTypeReference"
}
}
]
},
"category": {
"$ref": "#/definitions/controlCategoryReference"
},
"events": {
"type": "array",
"items": {
"$ref": "#/definitions/eventId"
},
"minItems": 0
},
"help": {
"$ref": "#/definitions/helpReference"
},
"policies": {
"type": "array",
"items": {
"$ref": "#/definitions/policyTypeReference"
},
"minItems": 1
},
"input": {
"oneOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
]
},
"inline": {
"type": "string",
"minLength": 1
},
"function": {
"$ref": "#/definitions/lambdaFunction"
},
"stateMachine": {
"type": "object"
},
"validationIgnoreChildProperties": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"schema": {
"type": "object"
},
"tests": {
"type": "array",
"items": {
"$ref": "#/definitions/testType"
},
"minLength": 1
},
"testOptions": {
"type": "object"
}
},
"required": [
"title",
"category"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/actionType",
"modUri": "tmod:@turbot/turbot"
}
}

actionTypeReference

{
"allOf": [
{
"$ref": "#/definitions/$ref"
},
{
"pattern": "#/action/types/"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/actionTypeReference",
"modUri": "tmod:@turbot/turbot"
}
}

author

{
"allOf": [
{
"$ref": "#/definitions/trimmedString"
},
{
"maxLength": 64
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/author",
"modUri": "tmod:@turbot/turbot"
}
}

automation

{
"type": "object",
"properties": {
"match": {
"type": "object"
},
"state": {
"type": "string",
"enum": [
"active",
"inactive"
]
},
"resource": {
"$ref": "#/definitions/pivotIds"
},
"resourceLevel": {
"$ref": "#/definitions/pivotLevels"
},
"resourceType": {
"$ref": "#/definitions/pivotIds"
},
"resourceTypeLevel": {
"$ref": "#/definitions/pivotLevels"
},
"resourceCategory": {
"$ref": "#/definitions/pivotIds"
},
"resourceCategoryLevel": {
"$ref": "#/definitions/pivotLevels"
}
},
"additionalProperties": false,
"tests": [
{
"description": "base",
"input": {
"match": {
"Aws": {
"AccountID": "123456789012",
"Region": "us-east-1",
"TagsMap": {}
}
},
"state": "active",
"resource": [
12121212122,
12121212121
],
"resourceLevel": [
"self",
"descendant"
],
"resourceType": [
12121212122,
12121212121
],
"resourceTypeLevel": [
"self",
"descendant"
]
}
},
{
"description": "error case - resource is string",
"input": {
"match": {
"Aws": {
"AccountID": "123456789012",
"Region": "us-east-1",
"TagsMap": {}
}
},
"state": "active",
"resource": [
"abc",
12121212121
],
"resourceLevel": [
"self",
"descendant"
],
"resourceType": [
12121212122,
12121212121
],
"resourceTypeLevel": [
"self",
"descendant"
]
},
"expected": false
},
{
"description": "error case - unknown field",
"input": {
"match": {
"Aws": {
"AccountID": "123456789012",
"Region": "us-east-1",
"TagsMap": {}
}
},
"state": "active",
"resource": [
"12121212122",
12121212121
],
"resourceLevel": [
"self",
"descendant"
],
"resourceType": [
12121212122,
12121212121
],
"resourceTypeLevels": [
"self",
"descendant"
]
},
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/automation",
"modUri": "tmod:@turbot/turbot"
}
}

changeWindowSchedule

{
"type": "object",
"properties": {
"description": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"duration": {
"type": "number",
"minimum": 1,
"maximum": 24
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"start": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"cron": {
"type": "string",
"minLength": 1,
"maxLength": 64
}
},
"anyOf": [
{
"required": [
"description",
"duration",
"name",
"cron"
]
},
{
"required": [
"description",
"duration",
"name",
"start"
]
}
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/changeWindowSchedule",
"modUri": "tmod:@turbot/turbot"
}
}

controlCategory

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"icon": {
"$ref": "#/definitions/icon"
},
"parent": {
"$ref": "#/definitions/controlCategoryReference"
},
"resourceParents": {
"$ref": "#/definitions/controlCategoryReference"
}
},
"required": [
"title"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/controlCategory",
"modUri": "tmod:@turbot/turbot"
}
}

controlCategoryReference

{
"allOf": [
{
"$ref": "#/definitions/$ref"
},
{
"pattern": "#/control/categories/"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/controlCategoryReference",
"modUri": "tmod:@turbot/turbot"
}
}

controlType

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"icon": {
"$ref": "#/definitions/icon"
},
"parent": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
},
{
"$ref": "#/definitions/controlTypeReference"
}
]
},
"targets": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/resourceTypeReference"
}
}
]
},
"lock": {
"$ref": "#/definitions/lock"
},
"flags": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 0
},
"category": {
"$ref": "#/definitions/controlCategoryReference"
},
"events": {
"type": "array",
"items": {
"$ref": "#/definitions/eventId"
},
"minItems": 0
},
"duration": {
"$ref": "#/definitions/duration"
},
"help": {
"$ref": "#/definitions/helpReference"
},
"policies": {
"type": "array",
"items": {
"$ref": "#/definitions/policyTypeReference"
},
"minItems": 1
},
"input": {
"oneOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
]
},
"inline": {
"type": "string",
"minLength": 1
},
"trustedInline": {
"type": "string",
"minLength": 1
},
"function": {
"$ref": "#/definitions/lambdaFunction"
},
"container": {
"type": "object"
},
"stateMachine": {
"type": "object"
},
"validationIgnoreChildProperties": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"tests": {
"type": "array",
"items": {
"$ref": "#/definitions/testType"
},
"minLength": 1
},
"testOptions": {
"type": "object"
}
},
"required": [
"title",
"category"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/controlType",
"modUri": "tmod:@turbot/turbot"
}
}

controlTypeFlags

{
"type": "string",
"enum": [
"transientStorage"
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/controlTypeFlags",
"modUri": "tmod:@turbot/turbot"
}
}

controlTypeReference

{
"allOf": [
{
"$ref": "#/definitions/$ref"
},
{
"pattern": "#/control/types/"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/controlTypeReference",
"modUri": "tmod:@turbot/turbot"
}
}

description

{
"allOf": [
{
"$ref": "#/definitions/trimmedString"
},
{
"maxLength": 1024
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/description",
"modUri": "tmod:@turbot/turbot"
}
}

duration

{
"anyOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"properties": {
"years": {
"type": "integer",
"minimum": 0
},
"y": {
"type": "integer",
"minimum": 0
},
"months": {
"type": "integer",
"minimum": 0
},
"M": {
"type": "integer",
"minimum": 0
},
"weeks": {
"type": "integer",
"minimum": 0
},
"w": {
"type": "integer",
"minimum": 0
},
"days": {
"type": "integer",
"minimum": 0
},
"d": {
"type": "integer",
"minimum": 0
},
"hours": {
"type": "integer",
"minimum": 0
},
"h": {
"type": "integer",
"minimum": 0
},
"minutes": {
"type": "integer",
"minimum": 0
},
"m": {
"type": "integer",
"minimum": 0
},
"seconds": {
"type": "integer",
"minimum": 0
},
"s": {
"type": "integer",
"minimum": 0
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/duration",
"modUri": "tmod:@turbot/turbot"
}
}

email

{
"type": "string",
"pattern": "[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
"minLength": 6,
"maxLength": 254,
"tests": [
{
"description": "base Case",
"input": "superman@crpton.com"
},
{
"description": "invalid - not an email id format",
"input": "This_is_not_Superman's_email",
"expected": false
},
{
"decription": "invalid - too short",
"input": "t.com",
"expected": false
},
{
"description": "invalid - too long",
"input": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"§$%&/()=?*'<>;²³~@`´©«»¤¼×{}abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!\"§$%&/()=?*'<>|;²³~@`´©«»¤¼×{}abcdefghijklmnopqrstuvwxyz0123456789012345678901234567890123456789012345678901234@test.com",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/email",
"modUri": "tmod:@turbot/turbot"
}
}

engines

{
"type": "object",
"additionalProperties": false,
"properties": {
"te": {
"type": "string",
"pattern": "^((\\^|~|>|>=|<|<=)?(0|[1-9]\\d*)\\.?(\\*|0|[1-9]\\d*)?\\.?(\\*|0|[1-9]\\d*)?(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?|\\*)$"
}
},
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/engines",
"modUri": "tmod:@turbot/turbot"
}
}

eventId

{
"title": "Event ID",
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9.:-]*[a-zA-Z0-9]$",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/eventId",
"modUri": "tmod:@turbot/turbot"
}
}

file

{
"type": "object",
"properties": {
"turbot": {
"$ref": "#/definitions/resourceMetadata"
}
},
"additionalProperties": true,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/file",
"modUri": "tmod:@turbot/turbot"
}
}

folder

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"turbot": {
"$ref": "#/definitions/resourceMetadata"
}
},
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/folder",
"modUri": "tmod:@turbot/turbot"
}
}

helpReference

{
"allOf": [
{
"$ref": "#/definitions/$ref"
},
{
"pattern": "#/help/"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/helpReference",
"modUri": "tmod:@turbot/turbot"
}
}

hexadecimalColorCode

{
"title": "Hexadecimal Color Code",
"description": "Color code represented in 3 or 6-character hexadecimal format.",
"type": "string",
"pattern": "^#([0-9a-fA-F]{3}){1,2}$",
"tests": [
{
"input": "#fff"
},
{
"input": "#FFF"
},
{
"input": "#0db6c9"
},
{
"input": "#0DB6C9"
},
{
"description": "invalid 3-character - no # at start",
"input": "fff",
"expected": false
},
{
"description": "invalid 6-character - no # at start",
"input": "0db6c9",
"expected": false
},
{
"description": "invalid 3-character - invalid symbols",
"input": "#ff!",
"expected": false
},
{
"description": "invalid 6-character - invalid symbols",
"input": "#0D@6C9",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/hexadecimalColorCode",
"modUri": "tmod:@turbot/turbot"
}
}

icon

{
"type": "string",
"pattern": "^(fab|fal|far|fas)-[a-z0-9-]+$",
"tests": [
{
"input": "fab-android"
},
{
"input": "fal-hdd"
},
{
"input": "far-hdd"
},
{
"input": "fas-hdd"
},
{
"input": "fal-file-certificate"
},
{
"description": "invalid - old format for font awesome v4",
"input": "hdd-o",
"expected": false
},
{
"description": "invalid - unmodified icon class",
"input": "fal fa-hdd",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/icon",
"modUri": "tmod:@turbot/turbot"
}
}

interface

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
}
},
"required": [
"title"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/interface",
"modUri": "tmod:@turbot/turbot"
}
}

interfaceType

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"category": {
"$ref": "#/definitions/controlCategoryReference"
},
"icon": {
"$ref": "#/definitions/icon"
}
},
"required": [
"title",
"description",
"category"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/interfaceType",
"modUri": "tmod:@turbot/turbot"
}
}

isoTimestamp

{
"description": "Datetime represented in ISO format",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z$",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/isoTimestamp",
"modUri": "tmod:@turbot/turbot"
}
}

lambdaFunction

{
"type": "object",
"additionalProperties": false,
"properties": {
"src": {
"type": "string"
},
"bundle": {
"type": "string"
},
"memory": {
"type": "integer",
"minimum": 0
},
"timeout": {
"type": "integer",
"minimum": 0,
"maximum": 300
}
},
"required": [
"bundle"
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/lambdaFunction",
"modUri": "tmod:@turbot/turbot"
}
}

license

{
"allOf": [
{
"$ref": "#/definitions/trimmedString"
},
{
"maxLength": 1024
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/license",
"modUri": "tmod:@turbot/turbot"
}
}

lifecycle

{
"type": "object",
"properties": {
"cmdbDelete": {
"type": "string",
"enum": [
"keep",
"delete"
]
},
"delete": {
"type": "string",
"enum": [
"keep",
"deleteIfStackCreated",
"delete"
]
}
},
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/lifecycle",
"modUri": "tmod:@turbot/turbot"
}
}

lock

{
"type": "object",
"properties": {
"name": {
"type": "string"
}
},
"required": [
"name"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/lock",
"modUri": "tmod:@turbot/turbot"
}
}

mod

{
"allOf": [
{
"$ref": "http://json-schema.org/draft-07/schema#"
},
{
"type": "object",
"properties": {
"$id": {
"type": "string"
},
"definitions": {
"type": "object",
"properties": {
"tests": {
"type": "array",
"items": {
"$ref": "#/definitions/testType"
}
}
},
"additionalProperties": {
"$ref": "http://json-schema.org/draft-07/schema#"
},
"default": {}
},
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"author": {
"$ref": "#/definitions/author"
},
"license": {
"$ref": "#/definitions/license"
},
"version": {
"$ref": "#/definitions/version"
},
"scripts": {
"$ref": "#/definitions/scripts"
},
"peerDependencies": {
"$ref": "#/definitions/peerDependencies"
},
"engines": {
"$ref": "#/definitions/engines"
},
"data": {
"type": "object",
"additionalProperties": true,
"default": {}
},
"resource": {
"type": "object",
"properties": {
"categories": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/resourceCategory"
},
"default": {}
},
"types": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/resourceType"
},
"default": {}
},
"interfaces": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/interfaceType"
},
"default": {}
}
},
"additionalProperties": false,
"default": {}
},
"control": {
"type": "object",
"properties": {
"categories": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/controlCategory"
},
"default": {}
},
"types": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/controlType"
},
"default": {}
}
},
"additionalProperties": false,
"default": {}
},
"action": {
"type": "object",
"properties": {
"categories": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/controlCategory"
},
"default": {}
},
"types": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/actionType"
},
"default": {}
}
},
"additionalProperties": false,
"default": {}
},
"policy": {
"type": "object",
"properties": {
"types": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/policyType"
},
"default": {}
}
},
"additionalProperties": false,
"default": {}
},
"report": {
"type": "object",
"properties": {
"types": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/reportType"
},
"default": {}
}
},
"additionalProperties": false,
"default": {}
},
"permission": {
"type": "object",
"properties": {
"levels": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/permissionLevel"
},
"default": {}
},
"types": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/permissionType"
},
"default": {}
}
},
"additionalProperties": false,
"default": {}
}
},
"required": [
"$id",
"title"
],
"additionalProperties": false
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/mod",
"modUri": "tmod:@turbot/turbot"
}
}

peerDependencies

{
"type": "object",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/peerDependencies",
"modUri": "tmod:@turbot/turbot"
}
}

permission

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"parent": {
"oneOf": [
{
"$ref": "#/definitions/permissionReference"
}
]
}
},
"required": [
"title"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/permission",
"modUri": "tmod:@turbot/turbot"
}
}

permissionLevel

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"parent": {
"oneOf": [
{
"$ref": "#/definitions/permissionLevelReference"
}
]
}
},
"required": [
"title"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/permissionLevel",
"modUri": "tmod:@turbot/turbot"
}
}

permissionLevelReference

{
"allOf": [
{
"$ref": "#/definitions/$ref"
},
{
"pattern": "#/permission/levels/"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/permissionLevelReference",
"modUri": "tmod:@turbot/turbot"
}
}

permissionReference

{
"allOf": [
{
"type": "string"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/permissionReference",
"modUri": "tmod:@turbot/turbot"
}
}

permissionType

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"parent": {
"oneOf": [
{
"$ref": "#/definitions/permissionTypeReference"
}
]
}
},
"required": [
"title"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/permissionType",
"modUri": "tmod:@turbot/turbot"
}
}

permissionTypeReference

{
"allOf": [
{
"$ref": "#/definitions/$ref"
},
{
"pattern": "#/permission/types/"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/permissionTypeReference",
"modUri": "tmod:@turbot/turbot"
}
}

pivotIds

{
"type": "array",
"items": {
"type": "integer"
},
"tests": [
{
"description": "base",
"input": [
12121212121,
121121212121
]
},
{
"description": "invalid - empty",
"input": null,
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/pivotIds",
"modUri": "tmod:@turbot/turbot"
}
}

pivotLevels

{
"type": "array",
"items": {
"type": "string"
},
"tests": [
{
"description": "base",
"input": [
"self",
"descendant"
]
},
{
"description": "invalid - empty",
"input": "",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/pivotLevels",
"modUri": "tmod:@turbot/turbot"
}
}

policySettingsDefault

{
"description": "the default setting type for a policy.",
"type": "string",
"pattern": "^(none|data|template)$",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/policySettingsDefault",
"modUri": "tmod:@turbot/turbot"
}
}

policyTestType

{
"type": "object",
"properties": {
"description": {
"$ref": "#/definitions/description"
},
"input": {
"type": "object"
},
"env": {
"$ref": "#/definitions/testEnvType"
},
"expect": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
]
},
"expectError": {
"type": "object"
},
"skip": {
"type": "boolean",
"default": false
},
"data": {
"type": "string"
},
"template": {
"type": "string"
},
"templateInput": {
"type": "object"
},
"options": {
"type": "object"
}
},
"anyOf": [
{
"required": [
"description",
"data"
]
},
{
"required": [
"description",
"template",
"templateInput"
]
},
{
"required": [
"description",
"input"
]
}
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/policyTestType",
"modUri": "tmod:@turbot/turbot"
}
}

policyType

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"icon": {
"$ref": "#/definitions/icon"
},
"readOnly": {
"$ref": "#/definitions/readOnly"
},
"secretLevel": {
"$ref": "#/definitions/secretLevel"
},
"secret": {
"type": "boolean"
},
"private": {
"$ref": "#/definitions/private"
},
"parent": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
},
{
"$ref": "#/definitions/policyTypeReference"
}
]
},
"targets": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/resourceTypeReference"
}
}
]
},
"aka": {
"type": "array",
"items": {
"$ref": "#/definitions/trimmedString"
}
},
"category": {
"$ref": "#/definitions/controlCategoryReference"
},
"settings": {
"allOf": [
{
"$ref": "#/definitions/policySettingsDefault"
},
{
"default": "data"
}
]
},
"input": {
"oneOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
]
},
"inline": {
"type": "string",
"minLength": 1
},
"duration": {
"$ref": "#/definitions/duration"
},
"function": {
"$ref": "#/definitions/lambdaFunction"
},
"stateMachine": {
"type": "object"
},
"validationIgnoreChildProperties": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"tests": {
"type": "array",
"items": {
"$ref": "#/definitions/policyTestType"
},
"minLength": 1
},
"testOptions": {
"type": "object"
},
"defaultTemplate": {
"type": "string"
},
"defaultTemplateInput": {
"type": "string"
},
"defaultPrecedence": {
"type": "string"
},
"schema": {
"$ref": "#/definitions/$schema"
}
},
"required": [
"title",
"targets",
"category",
"schema"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/policyType",
"modUri": "tmod:@turbot/turbot"
}
}

policyTypeReference

{
"allOf": [
{
"$ref": "#/definitions/$ref"
},
{
"pattern": "#/policy/types/"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/policyTypeReference",
"modUri": "tmod:@turbot/turbot"
}
}

private

{
"type": "boolean",
"tests": [
{
"description": "invalid - mode(case)",
"input": "private",
"expected": false
},
{
"description": "valid",
"input": true
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/private",
"modUri": "tmod:@turbot/turbot"
}
}

readOnly

{
"type": "boolean",
"tests": [
{
"description": "invalid - mode(case)",
"input": "readOnly",
"expected": false
},
{
"description": "blank string",
"input": "",
"expected": false
},
{
"description": "valid",
"input": true
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/readOnly",
"modUri": "tmod:@turbot/turbot"
}
}

reportOutputFormat

{
"description": "the output format for a report.",
"type": "string",
"pattern": "^(pdf|csv)$",
"default": "pdf",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/reportOutputFormat",
"modUri": "tmod:@turbot/turbot"
}
}

reportType

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"icon": {
"$ref": "#/definitions/icon"
},
"parent": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
},
{
"$ref": "#/definitions/policyTypeReference"
}
]
},
"targets": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/resourceTypeReference"
}
}
]
},
"aka": {
"type": "array",
"items": {
"$ref": "#/definitions/trimmedString"
}
},
"category": {
"$ref": "#/definitions/controlCategoryReference"
},
"settings": {
"allOf": [
{
"$ref": "#/definitions/policySettingsDefault"
},
{
"default": "template"
}
]
},
"outputFormat": {
"$ref": "#/definitions/reportOutputFormat"
},
"input": {
"oneOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
}
]
},
"inline": {
"type": "string",
"minLength": 1
},
"function": {
"type": "object"
},
"stateMachine": {
"type": "object"
},
"validationIgnoreChildProperties": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"tests": {
"type": "array",
"items": {
"$ref": "#/definitions/policyTestType"
},
"minLength": 1
},
"defaultTemplate": {
"type": "string"
},
"defaultTemplateInput": {
"type": "string"
},
"defaultPrecedence": {
"type": "string"
},
"schema": {
"$ref": "#/definitions/$schema"
}
},
"required": [
"title",
"targets",
"category",
"schema"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/reportType",
"modUri": "tmod:@turbot/turbot"
}
}

resourceBase

{
"type": "object",
"properties": {
"turbot": {
"$ref": "#/definitions/resourceMetadata"
}
},
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/resourceBase",
"modUri": "tmod:@turbot/turbot"
}
}

resourceCategory

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"parent": {
"$ref": "#/definitions/resourceCategoryReference"
},
"icon": {
"$ref": "#/definitions/icon"
}
},
"required": [
"title",
"icon"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/resourceCategory",
"modUri": "tmod:@turbot/turbot"
}
}

resourceCategoryReference

{
"allOf": [
{
"$ref": "#/definitions/$ref"
},
{
"pattern": "#/resource/categories/"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/resourceCategoryReference",
"modUri": "tmod:@turbot/turbot"
}
}

resourceGroup

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"automation": {
"$ref": "#/definitions/automation"
},
"parent": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
}
]
},
"targets": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/resourceTypeReference"
}
}
]
},
"turbot": {
"$ref": "#/definitions/resourceMetadata"
}
},
"required": [
"title",
"automation"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/resourceGroup",
"modUri": "tmod:@turbot/turbot"
}
}

resourceInterfaceReference

{
"allOf": [
{
"$ref": "#/definitions/$ref"
},
{
"pattern": "#/resource/interfaces/"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/resourceInterfaceReference",
"modUri": "tmod:@turbot/turbot"
}
}

resourceMetadata

{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"tags": {
"type": "object"
},
"versionId": {
"type": "string"
},
"processId": {
"type": "string"
},
"akas": {
"type": "array",
"items": {
"type": "string"
}
},
"resourceParentAka": {
"type": "string"
},
"createTimestamp": {
"type": "string",
"format": "date-time"
},
"deleteTimestamp": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"updateTimestamp": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"custom": {
"type": "object"
},
"metadata": {
"type": "object"
},
"parentId": {
"type": "string"
},
"path": {
"type": "string"
},
"resourceGroupIds": {
"type": "array",
"items": {
"type": "string"
}
},
"resourceTypeId": {
"type": "string"
},
"terraform": {
"type": "object"
},
"actorIdentityId": {
"type": [
"string",
"null"
]
},
"actorPersonaId": {
"type": [
"string",
"null"
]
},
"actorRoleId": {
"type": [
"string",
"null"
]
},
"alternatePersona": {
"type": [
"string",
"null"
]
},
"state": {
"type": "string"
},
"searchData": {
"type": "object"
}
},
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/resourceMetadata",
"modUri": "tmod:@turbot/turbot"
}
}

resourceType

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"icon": {
"$ref": "#/definitions/icon"
},
"interfaces": {
"oneOf": [
{
"$ref": "#/definitions/resourceInterfaceReference"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/resourceInterfaceReference"
}
}
]
},
"parent": {
"$ref": "#/definitions/resourceTypeReference"
},
"resourceParents": {
"oneOf": [
{
"$ref": "#/definitions/resourceTypeReference"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/resourceTypeReference"
}
}
]
},
"category": {
"$ref": "#/definitions/resourceCategoryReference"
},
"discoverable": {
"type": "boolean"
},
"secret": {
"type": "boolean"
},
"secretLevel": {
"$ref": "#/definitions/secretLevel"
},
"tests": {
"type": "array",
"items": {
"$ref": "#/definitions/testType"
},
"minLength": 1
},
"schema": {
"$ref": "#/definitions/$schema"
},
"metadataMap": {
"type": "object"
},
"metadataMapTests": {
"type": "array",
"items": {
"$ref": "#/definitions/testType"
}
},
"terraform": {
"$ref": "#/definitions/terraformResourceTypeMetadata"
}
},
"required": [
"title",
"category",
"schema"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/resourceType",
"modUri": "tmod:@turbot/turbot"
}
}

resourceTypeReference

{
"allOf": [
{
"$ref": "#/definitions/$ref"
},
{
"pattern": "#/resource/types/"
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/resourceTypeReference",
"modUri": "tmod:@turbot/turbot"
}
}

scripts

{
"type": "object",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/scripts",
"modUri": "tmod:@turbot/turbot"
}
}

secret

{
"type": "object",
"properties": {
"id": {
"type": "number"
}
},
"required": [
"id"
],
"additionalProperties": false,
"tests": [
{
"description": "invalid - mode(case)",
"input": {
"id": "abc"
},
"expected": false
},
{
"description": "valid",
"input": {
"id": 12121
}
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/secret",
"modUri": "tmod:@turbot/turbot"
}
}

secretLevel

{
"description": "Defines the secret level of the policy type (most sensitive to least).",
"type": "string",
"enum": [
"SECRET",
"CONFIDENTIAL",
"NONE"
],
"tests": [
{
"description": "valid case NONE",
"input": "NONE",
"expected": true
},
{
"description": "valid case CONFIDENTIAL",
"input": "CONFIDENTIAL",
"expected": true
},
{
"description": "Invalid case TOP_SECRET",
"input": "TOP_SECRET",
"expected": false
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/secretLevel",
"modUri": "tmod:@turbot/turbot"
}
}

service

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
}
},
"required": [
"title"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/service",
"modUri": "tmod:@turbot/turbot"
}
}

smartFolder

{
"type": "object",
"properties": {
"title": {
"$ref": "#/definitions/title"
},
"description": {
"$ref": "#/definitions/description"
},
"color": {
"$ref": "#/definitions/hexadecimalColorCode"
},
"turbot": {
"$ref": "#/definitions/resourceMetadata"
}
},
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/smartFolder",
"modUri": "tmod:@turbot/turbot"
}
}

terraformResourceTypeMetadata

{
"type": "object",
"properties": {
"type": {
"$ref": "#/definitions/terraformType"
},
"stateIdTemplate": {
"$ref": "#/definitions/trimmedString"
},
"propertyMap": {
"type": "object"
},
"stateDefaults": {
"type": "object"
},
"lifecycle": {
"$ref": "#/definitions/lifecycle"
}
},
"required": [
"type",
"stateIdTemplate",
"propertyMap"
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/terraformResourceTypeMetadata",
"modUri": "tmod:@turbot/turbot"
}
}

terraformType

{
"title": "Terraform Type",
"description": "Terraform typename, lower case alphanumeric or underbar.",
"type": "string",
"pattern": "^[a-z][a-z0-9_]*[a-z0-9]$",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/terraformType",
"modUri": "tmod:@turbot/turbot"
}
}

testEnvDatetimeType

{
"type": "object",
"properties": {
"now": {
"$ref": "#/definitions/isoTimestamp"
}
},
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/testEnvDatetimeType",
"modUri": "tmod:@turbot/turbot"
}
}

testEnvType

{
"type": "object",
"properties": {
"datetime": {
"$ref": "#/definitions/testEnvDatetimeType"
}
},
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/testEnvType",
"modUri": "tmod:@turbot/turbot"
}
}

testType

{
"type": "object",
"properties": {
"description": {
"$ref": "#/definitions/description"
},
"input": {
"type": "object"
},
"testInput": {
"type": "object"
},
"env": {
"$ref": "#/definitions/testEnvType"
},
"expected": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
]
},
"expect": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "object"
}
]
},
"expectError": {
"type": "object"
},
"skip": {
"type": "boolean",
"default": false
},
"data": {
"type": "object"
},
"template": {
"type": "string"
},
"templateInput": {
"type": "object"
},
"options": {
"type": "object"
}
},
"anyOf": [
{
"required": [
"description",
"input",
"expect"
]
},
{
"required": [
"description",
"input",
"expected"
]
},
{
"required": [
"description",
"input",
"expectError"
]
}
],
"additionalProperties": false,
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/testType",
"modUri": "tmod:@turbot/turbot"
}
}

title

{
"allOf": [
{
"$ref": "#/definitions/trimmedString"
},
{
"maxLength": 64
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/title",
"modUri": "tmod:@turbot/turbot"
}
}

trimmedString

{
"title": "Trimmed String",
"description": "String with no leading or trailing whitespace.",
"type": "string",
"pattern": "^[^\\s](.*[^\\s])?$",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/trimmedString",
"modUri": "tmod:@turbot/turbot"
}
}

turbot

{
"allOf": [
{
"$ref": "#/definitions/folder"
},
{
"properties": {
"title": {
"const": "Turbot"
}
}
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/turbot",
"modUri": "tmod:@turbot/turbot"
}
}

urn

{
"description": "URN in Turbot format, used to uniquely identify any resource in an AKA field.",
"type": "string",
"pattern": "^urn:turbot(?::.+)?$",
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/urn",
"modUri": "tmod:@turbot/turbot"
}
}

version

{
"allOf": [
{
"$ref": "#/definitions/trimmedString"
},
{
"maxLength": 64
}
],
".turbot": {
"uri": "tmod:@turbot/turbot#/definitions/version",
"modUri": "tmod:@turbot/turbot"
}
}