Definitions for @turbot/turbot
- $ref
- $schema
- actionType
- actionTypeReference
- author
- automation
- changeWindowSchedule
- controlCategory
- controlCategoryReference
- controlType
- controlTypeFlags
- controlTypeReference
- description
- duration
- engines
- eventId
- file
- folder
- helpReference
- hexadecimalColorCode
- icon
- interface
- interfaceType
- isoTimestamp
- lambdaFunction
- license
- lifecycle
- lock
- mod
- peerDependencies
- permission
- permissionLevel
- permissionLevelReference
- permissionReference
- permissionType
- permissionTypeReference
- pivotIds
- pivotLevels
- policySettingsDefault
- policyTestType
- policyType
- policyTypeReference
- private
- readOnly
- reportOutputFormat
- reportType
- resourceBase
- resourceCategory
- resourceCategoryReference
- resourceGroup
- resourceInterfaceReference
- resourceMetadata
- resourceType
- resourceTypeReference
- scripts
- secret
- secretLevel
- service
- smartFolder
- terraformResourceTypeMetadata
- terraformType
- testEnvDatetimeType
- testEnvType
- testType
- title
- trimmedString
- turbot
- urn
- version
$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" }}
{ "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" }}