Definitions for @turbot/aws-cloudformation
- cloudFormation
- cloudFormationAka
- cloudFormationSupportedRegions
- regionName
- stack
- stackId
- stackName
- stackSet
- stackSetArn
- stackSetId
- stackSetName
- stackSetStatus
- stackStatus
- status
- tag
- tagKey
- tagList
- tagsMap
- tagsTemplateTag
- tagsTemplateTagList
- tagString
- tagValue
cloudFormation
Schema
{ "allOf": [ { "$ref": "turbot#/definitions/service" }, { "type": "object", "properties": { "name": { "const": "CloudFormation" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/cloudFormationAka" } }, "title": { "const": "CloudFormation" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" } } } } } }, "additionalProperties": true, "tests": [ { "description": "All valid properties", "input": { "name": "CloudFormation", "turbot": { "akas": [ "arn:aws:cloudformation:us-east-1:123123123123" ], "title": "CloudFormation", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } }, { "description": "Invalid - Service Provider details prefixed", "input": { "name": "AWS CloudFormation", "turbot": { "akas": [ "arn:aws:cloudformation:us-east-1:123123123123" ], "title": "CloudFormation", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } }, "expected": false } ] } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/cloudFormation", "modUri": "tmod:@turbot/aws-cloudformation" }}
cloudFormationAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:cloudformation:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}$", "tests": [ { "description": "base", "input": "arn:aws-us-gov:cloudformation:us-east-1:123123123123" }, { "description": "invalid aka", "input": "arn:aws:cloudformation11:us-east-1:123123123123", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/cloudFormationAka", "modUri": "tmod:@turbot/aws-cloudformation" }}
cloudFormationSupportedRegions
Schema
{ "type": "array", "items": { "$ref": "#/definitions/regionName" }, "minItems": 1, "example": [ [ "ap-northeast-1", "ap-northeast-2" ] ], "default": [ "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-north-1", "eu-west-1", "eu-west-2", "eu-west-3", "sa-east-1", "us-east-1", "us-east-2", "us-gov-west-1", "us-west-1", "us-west-2" ], "tests": [ { "description": "one region", "input": [ "us-east-1" ] }, { "description": "all supported regions", "input": [ "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-north-1", "eu-west-1", "eu-west-2", "eu-west-3", "sa-east-1", "us-east-1", "us-east-2", "us-gov-west-1", "us-west-1", "us-west-2" ] }, { "description": "invalid - no regions", "input": [], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/cloudFormationSupportedRegions", "modUri": "tmod:@turbot/aws-cloudformation" }}
regionName
Schema
{ "type": "string", "enum": [ "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-southeast-1", "ap-southeast-2", "ca-central-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-north-1", "eu-west-1", "eu-west-2", "eu-west-3", "sa-east-1", "us-east-1", "us-east-2", "us-gov-west-1", "us-west-1", "us-west-2" ], "tests": [ { "input": "us-east-1" }, { "description": "invalid - usea1", "input": "usea1", "expected": false }, { "description": "invalid - au-north-1", "input": "au-north-1", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/regionName", "modUri": "tmod:@turbot/aws-cloudformation" }}
stack
Schema
{ "type": "object", "properties": { "StackName": { "$ref": "#/definitions/stackName" }, "StackId": { "$ref": "#/definitions/stackId" }, "StackStatus": { "$ref": "#/definitions/stackStatus" }, "Tags": { "$ref": "aws#/definitions/tagList" }, "ChangeSetId": { "type": "string" }, "Description": { "type": "string" }, "Parameters": { "type": "array" }, "CreationTime": { "type": "string" }, "DeletionTime": { "type": "string" }, "LastUpdatedTime": { "type": "string" }, "RollbackConfiguration": { "type": "object" }, "StackStatusReason": { "type": "string" }, "DisableRollback": { "type": "boolean" }, "NotificationARNs": { "type": "array" }, "TimeoutInMinutes": { "type": "string" }, "Capabilities": { "type": "array" }, "Outputs": { "type": "array" }, "RoleARN": { "type": "string" }, "EnableTerminationProtection": { "type": "boolean" }, "ParentId": { "$ref": "#/definitions/stackId" }, "RootId": { "$ref": "#/definitions/stackId" }, "DriftInformation": { "type": "object" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/stackId" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/stackName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "lastUsedTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "base case", "input": { "StackName": "stack-test-1", "StackId": "arn:aws:cloudformation:us-west-2:492552618977:stack/poc2aad/dc2a3cf0-bc3e-11e8-9bf1-0aceeffcea3c", "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "turbot": { "akas": [ "arn:aws:cloudformation:us-west-2:492552618977:stack/poc2aad/dc2a3cf0-bc3e-11e8-9bf1-0aceeffcea3c" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "stack-test-1", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } }, { "description": "Invalid - Missing aws accountid", "input": { "StackName": "stack-test-1", "StackId": "arn:aws:cloudformation:us-west-2:492552618977:stack/poc2aad/dc2a3cf0-bc3e-11e8-9bf1-0aceeffcea3c", "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "turbot": { "akas": [ "arn:aws:s3:::bucket/my-bucket" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "stack-test-1", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } }, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/stack", "modUri": "tmod:@turbot/aws-cloudformation" }}
stackId
Schema
{ "type": "string", "pattern": "arn:aws(-us-gov|-cn)?:cloudformation:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:\\d{12}:stack/(((?!.*--)[a-zA-Z][a-zA-Z0-9-]{1,253})[a-zA-Z0-9])/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}?", "tests": [ { "input": "arn:aws-us-gov:cloudformation:us-west-2:492552618977:stack/poc2aad/dc2a3cf0-bc3e-11e8-9bf1-0aceeffcea3c" }, { "input": "arn:aws:cloudformation:us-west-2:492552618977:stack/EC2ContainerService-configruletest01/f5ff81d0-ecc7-11e8-8e0d-50a68d01a68d" }, { "description": "invalid - input not expected", "input": "hi hi", "expected": false }, { "description": "invalid - AWS account id is wrong", "input": "arn:aws:cloudformation:us-west-2:49255261897:stack/EC2ContainerService-configruletest01/f5ff81d0-ecc7-11e8-8e0d-50a68d01a68d", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/stackId", "modUri": "tmod:@turbot/aws-cloudformation" }}
stackName
Schema
{ "type": "string", "pattern": "^(((?!.*--)[a-zA-Z][a-zA-Z0-9-]{1,253})[a-zA-Z0-9])$", "tests": [ { "input": "EC2ContainerService-configruletest01" }, { "description": "invalid - can not start with numbers", "input": "100stack", "expected": false }, { "description": "invalid - can not end with a hyphen", "input": "stacktest01-", "expected": false }, { "description": "invalid - can not contain two consecutive hyphens", "input": "stack--01", "expected": false }, { "description": "invalid - too long", "input": "aa12345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890121234567890123456789012345678901212345678901234567890123456789012123456789012345678901234567890", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/stackName", "modUri": "tmod:@turbot/aws-cloudformation" }}
stackSet
Schema
{ "type": "object", "properties": { "StackSetName": { "$ref": "#/definitions/stackSetName" }, "StackSetARN": { "$ref": "#/definitions/stackSetArn" }, "StackSetId": { "$ref": "#/definitions/stackSetId" }, "Tags": { "$ref": "aws#/definitions/tagList" }, "Status": { "$ref": "#/definitions/stackSetStatus" }, "Description": { "type": "string" }, "TemplateBody": { "type": "string" }, "Parameters": { "type": "array" }, "Capabilities": { "type": "array" }, "AdministrationRoleARN": { "type": "string" }, "ExecutionRoleName": { "type": "string" }, "StackSetDriftDetectionDetails": { "type": "object" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/stackSetArn" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/stackSetName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "valid - All properties", "input": { "StackSetName": "test01", "StackSetId": "test02:9857695d-1ce4-4452-ab44-b34de122d62c", "StackSetARN": "arn:aws:cloudformation:us-west-2:492552618977:stackset/test02:9857695d-1ce4-4452-ab44-b34de122d62c", "Status": "ACTIVE", "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "turbot" } ], "turbot": { "akas": [ "arn:aws:cloudformation:us-west-2:492552618977:stackset/test02:9857695d-1ce4-4452-ab44-b34de122d62c" ], "tags": { "Env": "Test", "App": "turbot" }, "title": "test-02", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } }, { "description": "Invalid - Required field stack set id missing", "input": { "StackSetName": "test01", "StackSetARN": "arn:aws:cloudformation:us-west-2:492552618977:stackset/test02:9857695d-1ce4-4452-ab44-b34de122d62c", "Status": "ACTIVE", "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "turbot" } ], "turbot": { "akas": [ "arn:aws:cloudformation:us-west-2:492552618977:stackset/test02:9857695d-1ce4-4452-ab44-b34de122d62c" ], "tags": { "Env": "Test", "App": "turbot" }, "title": "test-02", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/stackSet", "modUri": "tmod:@turbot/aws-cloudformation" }}
stackSetArn
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:cloudformation:[a-z]{2}-[a-z]+-\\d{1}:\\d{12}:stackset/[a-zA-Z][a-zA-Z0-9-]{1,255}:[a-f-0-9]+$", "tests": [ { "input": "arn:aws-us-gov:cloudformation:us-west-2:492552618977:stackset/test02:9857695d-1ce4-4452-ab44-b34de122d62c" }, { "description": "invalid - incorrect arn pattern followed", "input": "arn:aws:cloudformation:us-west-2:492552618977:stackset/poc2aad/dc2a3cf0-bc3e-11e8-9bf1-0aceeffcea3c", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/stackSetArn", "modUri": "tmod:@turbot/aws-cloudformation" }}
stackSetId
Schema
{ "type": "string", "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,255}:[a-f-0-9]+$", "tests": [ { "input": "test02:9857695d-1ce4-4452-ab44-b34de122d62c" }, { "description": "invalid - incorrect pattern", "input": "test01", "expected": false }, { "description": "invalid - array type", "input": [ "test001" ], "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/stackSetId", "modUri": "tmod:@turbot/aws-cloudformation" }}
stackSetName
Schema
{ "type": "string", "pattern": "^([a-zA-Z][a-zA-Z0-9-]{1,255})$", "tests": [ { "input": "test-01" }, { "description": "invalid - cannot start with a hyphen", "input": "-test-111", "expected": false }, { "description": "invalid - too long", "input": "ahughruehgishrighshgishgihsighishgishgihsghsghshgskdjfbnkjfhkjbkjbnkfjdnbkjnbkjfxdnbkjdnfbkjdfnbndfbnfdknbkfnblknbflknfdklbnflkdbnlkxfnblxkfdnblkxndfblknxfdlkbnxdlkfbnlxknbflkfdnblxdfkbnlxfnblxkfnblkxnfblkxndfblkxnfdblknxdlfkbnxlkdfnblxdfnblkxdnfblxkdnfbluwgfgwefgwef", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/stackSetName", "modUri": "tmod:@turbot/aws-cloudformation" }}
stackSetStatus
Schema
{ "type": "string", "enum": [ "ACTIVE", "DELETED" ], "tests": [ { "input": "ACTIVE" }, { "description": "invalid - not listed in options", "input": "RUNNABLE", "expected": false }, { "description": "invalid - null value", "input": null, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/stackSetStatus", "modUri": "tmod:@turbot/aws-cloudformation" }}
stackStatus
Schema
{ "type": "string", "enum": [ "SUCCESSFUL", "CREATE_IN_PROGRESS", "CREATE_FAILED", "CREATE_COMPLETE", "ROLLBACK_IN_PROGRESS", "ROLLBACK_FAILED", "ROLLBACK_COMPLETE", "DELETE_IN_PROGRESS", "DELETE_FAILED", "DELETE_COMPLETE", "UPDATE_IN_PROGRESS", "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS", "UPDATE_COMPLETE", "UPDATE_ROLLBACK_IN_PROGRESS", "UPDATE_ROLLBACK_FAILED", "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS", "UPDATE_ROLLBACK_COMPLETE", "REVIEW_IN_PROGRESS" ], "tests": [ { "input": "UPDATE_IN_PROGRESS" }, { "input": "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS" }, { "description": "invalid - status is not available", "input": "DELETE_DONE", "expected": false }, { "description": "invalid - empty string", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/stackStatus", "modUri": "tmod:@turbot/aws-cloudformation" }}
status
Schema
{ "type": "string", "enum": [ "ACTIVE", "DELETED" ], "tests": [ { "input": "DELETED" }, { "description": "invalid - empty string", "input": "", "expected": false }, { "description": "invalid - value not in the list", "input": "ENABLED", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/status", "modUri": "tmod:@turbot/aws-cloudformation" }}
tag
Schema
{ "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-cloudformation#/definitions/tag", "modUri": "tmod:@turbot/aws-cloudformation" }}
tagKey
Schema
{ "allOf": [ { "$ref": "#/definitions/tagString" }, { "type": "string", "minLength": 1, "maxLength": 127 } ], "tests": [ { "description": "valid - min length", "input": "a" }, { "description": "valid - max length", "input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234567" }, { "description": "invalid - empty string", "input": "", "expected": false }, { "description": "invalid - too long", "input": "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345678", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/tagKey", "modUri": "tmod:@turbot/aws-cloudformation" }}
tagList
Schema
{ "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-cloudformation#/definitions/tagList", "modUri": "tmod:@turbot/aws-cloudformation" }}
tagsMap
Schema
{ "type": "object", "patternProperties": { "^.{1,127}$": { "$ref": "#/definitions/tagValue" } }, "additionalProperties": false, "tests": [ { "description": "valid - base case", "input": { "foo": "bar" } }, { "description": "valid - kitchen sink", "input": { "küßîAbc123!@#$": "küßîAbc123!@#$", "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 1234567": "bar" } }, { "description": "invalid - key too long", "input": { "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 12345678": "bar" }, "expected": false }, { "description": "valid - empty", "input": {} } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/tagsMap", "modUri": "tmod:@turbot/aws-cloudformation" }}
tagsTemplateTag
Schema
{ "type": "object", "patternProperties": { "^(?!aws:).{1,127}$": { "$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-cloudformation#/definitions/tagsTemplateTag", "modUri": "tmod:@turbot/aws-cloudformation" }}
tagsTemplateTagList
Schema
{ "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-cloudformation#/definitions/tagsTemplateTagList", "modUri": "tmod:@turbot/aws-cloudformation" }}
tagString
Schema
{ "type": "string", "pattern": "^.*$", "tests": [ { "input": "küßî" }, { "input": "Peter Dinklage as Tyrion Lannister" }, { "input": "Filip Lozić as Young Nobleman" }, { "input": "Abc123 !@#$%^&*()_+" } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/tagString", "modUri": "tmod:@turbot/aws-cloudformation" }}
tagValue
Schema
{ "allOf": [ { "$ref": "#/definitions/tagString" }, { "type": "string", "minLength": 0, "maxLength": 255 } ], "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 12345" }, { "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 123456", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudformation#/definitions/tagValue", "modUri": "tmod:@turbot/aws-cloudformation" }}