Definitions for @turbot/aws-cloudtrail
- cloudTrail
- cloudTrailAka
- cloudWatchLogsLogGroupArn
- cloudWatchLogsRoleArn
- dataResources
- homeRegion
- kmsKeyId
- s3BucketName
- s3KeyPrefix
- shadowTrail
- shadowTrailAka
- snsTopicArn
- trail
- trailAka
- TrailARN
- trailEventSelectors
- trailName
- trailStatus
cloudTrail
Schema
{ "allOf": [ { "$ref": "turbot#/definitions/service" }, { "type": "object", "properties": { "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/cloudTrailAka" } }, "title": { "const": "CloudTrail" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" } } } } } }, "required": [ "turbot" ], "additionalProperties": true, "tests": [ { "description": "All data are valid", "input": { "name": "CloudTrail", "turbot": { "akas": [ "arn:aws:CloudTrail:us-east-1:123123123123" ], "title": "CloudTrail", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ] } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/cloudTrail", "modUri": "tmod:@turbot/aws-cloudtrail" }}
cloudTrailAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:cloudtrail:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}", "tests": [ { "description": "base", "input": "arn:aws:cloudtrail:us-east-1:123123123123" }, { "description": "base gov cloud", "input": "arn:aws-us-gov:cloudtrail:us-gov-east-1:123456789012" }, { "description": "invalid service name", "input": "arn:aws:cloudtrail12121:us-east-1:123123123123", "expected": false }, { "description": "invalid region name", "input": "arn:aws:comprehend:us-eastdk-74381:123456786354", "expected": false }, { "description": "invalid provider name", "input": "arn:gcp:comprehend:us-eastdk-74381:123456786354", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/cloudTrailAka", "modUri": "tmod:@turbot/aws-cloudtrail" }}
cloudWatchLogsLogGroupArn
Schema
{ "type": "string", "tests": [ { "input": "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group-1:*" }, { "input": "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group-1:log-stream:my-log-stream-1" } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/cloudWatchLogsLogGroupArn", "modUri": "tmod:@turbot/aws-cloudtrail" }}
cloudWatchLogsRoleArn
Schema
{ "type": "string", "tests": [ { "input": "arn:aws:logs:us-east-1:123456789012:log-role:my-log-role-1:*" }, { "input": "arn:aws:logs:us-east-1:123456789012:log-rule:my-log-role-1:log-stream:my-log-stream-1" } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/cloudWatchLogsRoleArn", "modUri": "tmod:@turbot/aws-cloudtrail" }}
dataResources
Schema
{ "type": "array", "items": { "Type": { "type": "string" }, "Values": { "type": "array", "items": { "type": "string" } } }, ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/dataResources", "modUri": "tmod:@turbot/aws-cloudtrail" }}
homeRegion
Schema
{ "type": "string", "tests": [ { "input": "us-east-1" }, { "input": "ap-southeast-2" } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/homeRegion", "modUri": "tmod:@turbot/aws-cloudtrail" }}
kmsKeyId
Schema
{ "type": "string", "maxLength": 256, "tests": [ { "input": "foo" }, { "input": "00123" }, { "input": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef" }, { "input": "Test.The-Kitchen_Sink" }, { "description": "null value", "input": null }, { "description": "empty string", "input": "" }, { "description": "max length", "input": "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678" }, { "description": "invalid - too long", "input": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/kmsKeyId", "modUri": "tmod:@turbot/aws-cloudtrail" }}
s3BucketName
Schema
{ "type": "string", "minLength": 3, "maxLength": 63, "pattern": "^[a-z0-9][-.a-z0-9]{1,63}[a-z0-9]$", "tests": [ { "input": "foo" }, { "input": "00123" }, { "input": "abcde" }, { "description": "min length", "input": "123" }, { "description": "max length", "input": "123456789012345678901234567890123456123456789012345678901234567" }, { "description": "invalid - empty string", "input": "", "expected": false }, { "description": "invalid - cannot start with -", "input": "-aaa", "expected": false }, { "description": "invalid - cannot end with -", "input": "aaa-", "expected": false }, { "description": "invalid - cannot start with dot", "input": ".aaa", "expected": false }, { "description": "invalid - cannot end with dot", "input": "aaa.", "expected": false }, { "description": "invalid - too short", "input": "ab", "expected": false }, { "description": "invalid - too long", "input": "123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", "expected": false }, { "description": "invalid - percentile not allowed pattern", "input": "aaa%bbb", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/s3BucketName", "modUri": "tmod:@turbot/aws-cloudtrail" }}
s3KeyPrefix
Schema
{ "type": "string", "maxLength": 200, "tests": [ { "input": "foo" }, { "input": "00123" }, { "input": "Stukkensmeltermotorenalnuteaf.Adonderdientergevennu.Ges" }, { "input": "Test.The-Kitchen_Sink" }, { "description": "null value", "input": null }, { "description": "empty string", "input": "" }, { "description": "max length", "input": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456712345" }, { "description": "invalid - too long", "input": "12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567812345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/s3KeyPrefix", "modUri": "tmod:@turbot/aws-cloudtrail" }}
shadowTrail
Schema
{ "type": "object", "properties": { "Name": { "$ref": "#/definitions/trailName" }, "S3BucketName": { "$ref": "#/definitions/s3BucketName" }, "S3KeyPrefix": { "$ref": "#/definitions/s3KeyPrefix" }, "SnsTopicArn": { "$ref": "#/definitions/snsTopicArn" }, "IncludeGlobalServiceEvents": { "type": "boolean" }, "IsMultiRegionTrail": { "type": "boolean" }, "TrailARN": { "$ref": "#/definitions/TrailARN" }, "LogFileValidationEnabled": { "type": "boolean" }, "CloudWatchLogsLogGroupArn": { "$ref": "#/definitions/cloudWatchLogsLogGroupArn" }, "CloudWatchLogsRoleArn": { "$ref": "#/definitions/cloudWatchLogsRoleArn" }, "KmsKeyId": { "$ref": "#/definitions/kmsKeyId" }, "IsOrganizationTrail": { "type": "boolean" }, "EventSelectors": { "$ref": "#/definitions/trailEventSelectors" }, "SnsTopicName": { "type": "string" }, "HomeRegion": { "$ref": "#/definitions/homeRegion" }, "HasCustomEventSelectors": { "type": "boolean" }, "Status": { "$ref": "#/definitions/trailStatus" }, "Tags": { "$ref": "aws#/definitions/tagList" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/shadowTrailAka" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/trailName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "tests": [ { "description": "all details provided", "input": { "EventSelectors": [ { "DataResources": [], "ExcludeManagementEventSources": [], "IncludeManagementEvents": true, "ReadWriteType": "All" } ], "HasCustomEventSelectors": false, "HasInsightSelectors": false, "HomeRegion": "us-east-1", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "IsOrganizationTrail": false, "LogFileValidationEnabled": true, "Name": "turbot-013122550996-us-east-1-trail", "S3BucketName": "turbot-013122550996-us-east-1", "Status": { "IsLogging": true, "LatestCloudWatchLogsDeliveryTime": null, "LatestDeliveryAttemptSucceeded": "<dynamic>", "LatestDeliveryAttemptTime": "<dynamic>", "LatestDigestDeliveryTime": "<dynamic>", "LatestNotificationAttemptSucceeded": "", "LatestNotificationAttemptTime": "<dynamic>", "LatestNotificationTime": "<dynamic>", "StartLoggingTime": "2022-06-15T12:48:58.376Z", "TimeLoggingStarted": "2022-06-15T12:48:58Z", "TimeLoggingStopped": "" }, "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "TrailARN": "arn:aws:cloudtrail:us-east-1:013122550996:trail/turbot-013122550996-us-east-1-trail", "turbot": { "akas": [ "arn:aws:cloudtrail:us-east-1:013122550996:trail/turbot-013122550996-us-east-1-trail/shadowtrail/013122550996/us-east-1" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "test", "custom": { "aws": { "accountId": "013122550996", "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/shadowTrail", "modUri": "tmod:@turbot/aws-cloudtrail" }}
shadowTrailAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:cloudtrail:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:trail/[a-zA-Z0-9][-_.a-zA-Z0-9]{1,126}[a-zA-Z0-9]/shadowtrail/[0-9]{12}/[a-z]{2}(-gov)?-[a-z]+-[0-9]$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:cloudtrail:us-east-1:123456789012:trail/codepipeline-source-trail/shadowtrail/123456789012/us-east-1" }, { "description": "Valid - Base case gov cloud", "input": "arn:aws-us-gov:cloudtrail:us-gov-east-1:123456789012:trail/codepipeline-source-trail/shadowtrail/123456789012/us-east-1" }, { "description": "Invalid - Malformed resource collection", "input": "arn:aws:cloudtrail:us-east-1:123456789012:trails/codepipeline-source-trail/shadowtrail/123456789012/us-east-1", "expected": false }, { "description": "Invalid - Malformed region name", "input": "arn:aws:cloudtrail:use-east-1:123456789012:trail/codepipeline-source-trail/shadowtrail/123456789012/us-east-1", "expected": false }, { "description": "Invalid - Malformed account ID", "input": "arn:aws:cloudtrail:us-east-1:1234567890123:trail/codepipeline-source-trail/shadowtrail/123456789012/us-east-1", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/shadowTrailAka", "modUri": "tmod:@turbot/aws-cloudtrail" }}
snsTopicArn
Schema
{ "type": "string", "tests": [ { "input": "arn:aws:sns:us-east-2:123456789012:MyTopic" }, { "input": "arn:aws:sns:us-east-1:123456789012:my_corporate_topic:02034b43-fefa-4e07-a5eb-3be56f8c54ce" } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/snsTopicArn", "modUri": "tmod:@turbot/aws-cloudtrail" }}
trail
Schema
{ "type": "object", "properties": { "Name": { "$ref": "#/definitions/trailName" }, "S3BucketName": { "$ref": "#/definitions/s3BucketName" }, "S3KeyPrefix": { "$ref": "#/definitions/s3KeyPrefix" }, "SnsTopicArn": { "$ref": "#/definitions/snsTopicArn" }, "IncludeGlobalServiceEvents": { "type": "boolean" }, "IsMultiRegionTrail": { "type": "boolean" }, "TrailARN": { "$ref": "#/definitions/TrailARN" }, "LogFileValidationEnabled": { "type": "boolean" }, "CloudWatchLogsLogGroupArn": { "$ref": "#/definitions/cloudWatchLogsLogGroupArn" }, "CloudWatchLogsRoleArn": { "$ref": "#/definitions/cloudWatchLogsRoleArn" }, "KmsKeyId": { "$ref": "#/definitions/kmsKeyId" }, "IsOrganizationTrail": { "type": "boolean" }, "EventSelectors": { "$ref": "#/definitions/trailEventSelectors" }, "SnsTopicName": { "type": "string" }, "HomeRegion": { "$ref": "#/definitions/homeRegion" }, "HasCustomEventSelectors": { "type": "boolean" }, "Status": { "$ref": "#/definitions/trailStatus" }, "Tags": { "$ref": "aws#/definitions/tagList" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/trailAka" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/trailName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "tests": [ { "description": "all details provided", "input": { "HomeRegion": "us-east-1", "Name": "test", "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group-1:*", "HasCustomEventSelectors": true, "IncludeGlobalServiceEvents": false, "IsMultiRegionTrail": false, "LogFileValidationEnabled": false, "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef", "S3BucketName": "123foo", "S3KeyPrefix": "Stukkensmeltermotorenalnuteaf.Adonderdientergevennu.Ges", "SnsTopicArn": "arn:aws:sns:us-east-2:123456789012:MyTopic", "CloudWatchLogsRoleArn": "arn:aws:logs:us-east-1:123456789012:log-role:my-log-role-1:*", "TrailARN": "arn:aws:cloudtrail:us-east-1:609176159743:trail/turbot-aac-us-east-1-trail", "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "turbot": { "akas": [ "arn:aws:cloudtrail:us-west-2:492552618977:trail/test02" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "test", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } }, { "description": "Invalid - Missing Name", "input": { "HomeRegion": "us-east-1", "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group-1:*", "HasCustomEventSelectors": true, "IncludeGlobalServiceEvents": false, "IsMultiRegionTrail": false, "LogFileValidationEnabled": false, "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef", "S3BucketName": "123foo", "S3KeyPrefix": "Stukkensmeltermotorenalnuteaf.Adonderdientergevennu.Ges", "SnsTopicArn": "arn:aws:sns:us-east-2:123456789012:MyTopic", "CloudWatchLogsRoleArn": "arn:aws:logs:us-east-1:123456789012:log-role:my-log-role-1:*", "TrailARN": "arn:aws:cloudtrail:us-east-1:609176159743:trail/turbot-aac-us-east-1-trail", "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "turbot": { "akas": [ "arn:aws:cloudtrail:us-west-2:492552618977:trail/test02" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "test", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } }, { "description": "invalid - Missing turbot data", "input": { "HomeRegion": "us-east-1", "Name": "test", "CloudWatchLogsLogGroupArn": "arn:aws:logs:us-east-1:123456789012:log-group:my-log-group-1:*", "HasCustomEventSelectors": true, "IncludeGlobalServiceEvents": false, "IsMultiRegionTrail": false, "LogFileValidationEnabled": false, "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef", "S3BucketName": "123foo", "S3KeyPrefix": "Stukkensmeltermotorenalnuteaf.Adonderdientergevennu.Ges", "SnsTopicArn": "arn:aws:sns:us-east-2:123456789012:MyTopic", "CloudWatchLogsRoleArn": "arn:aws:logs:us-east-1:123456789012:log-role:my-log-role-1:*", "TrailARN": "arn:aws:cloudtrail:us-east-1:609176159743:trail/turbot-aac-us-east-1-trail", "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ] } } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/trail", "modUri": "tmod:@turbot/aws-cloudtrail" }}
trailAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:cloudtrail:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:trail/[a-zA-Z0-9][-_.a-zA-Z0-9]{1,126}[a-zA-Z0-9]$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:cloudtrail:us-east-1:123456789012:trail/codepipeline-source-trail" }, { "description": "Valid - Base case gov cloud", "input": "arn:aws-us-gov:cloudtrail:us-gov-east-1:123456789012:trail/codepipeline-source-trail" }, { "description": "Invalid - Malformed resource collection", "input": "arn:aws:cloudtrail:us-east-1:123456789012:trails/codepipeline-source-trail", "expected": false }, { "description": "Invalid - Malformed region name", "input": "arn:aws:cloudtrail:use-east-1:123456789012:trail/codepipeline-source-trail", "expected": false }, { "description": "Invalid - Malformed account ID", "input": "arn:aws:cloudtrail:us-east-1:1234567890123:trail/codepipeline-source-trail", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/trailAka", "modUri": "tmod:@turbot/aws-cloudtrail" }}
TrailARN
Schema
{ "type": "string", "tests": [ { "input": "arn:aws:cloudtrail:us-east-1:609176159743:trail/turbot-aac-us-east-1-trail" }, { "input": "arn:aws:cloudtrail:us-east-2:123456789012:trail/MyTrail" } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/TrailARN", "modUri": "tmod:@turbot/aws-cloudtrail" }}
trailEventSelectors
Schema
{ "type": "array", "properties": { "ReadWriteType": { "type": "string", "enum": [ "ReadOnly", "WriteOnly", "All" ] }, "IncludeManagementEvents": { "type": "boolean" }, "DataResources": { "$ref": "#/definitions/dataResources" }, "ExcludeManagementEventSources": { "type": "array", "items": { "type": "string" } } }, "tests": [ { "input": [ { "ReadWriteType": "All", "DataResources": [], "IncludeManagementEvents": true, "ExcludeManagementEventSources": [ "kms.amazonaws.com" ] } ] } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/trailEventSelectors", "modUri": "tmod:@turbot/aws-cloudtrail" }}
trailName
Schema
{ "type": "string", "pattern": "^[a-zA-Z0-9][-_.a-zA-Z0-9]{1,126}[a-zA-Z0-9]$", "tests": [ { "input": "foo" }, { "input": "00123" }, { "input": "abcde" }, { "input": "Test.The-Kitchen_Sink" }, { "description": "min length", "input": "122" }, { "description": "max length", "input": "49255261897734567890492552618977345678904925526189773456789049255261897734567890492552618977345678904925526189773456789012345678" }, { "description": "invalid - empty string", "input": "", "expected": false }, { "description": "invalid - cannot start with dash", "input": "-aaa", "expected": false }, { "description": "invalid - cannot end with dash", "input": "aaa-", "expected": false }, { "description": "invalid - cannot start with dot", "input": ".aaa", "expected": false }, { "description": "invalid - cannot end with dot", "input": "aaa.", "expected": false }, { "description": "invalid - too short", "input": "ab", "expected": false }, { "description": "invalid - too long", "input": "492552618977345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789", "expected": false }, { "description": "invalid - percentile not allowed pattern", "input": "aaa%bbb", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/trailName", "modUri": "tmod:@turbot/aws-cloudtrail" }}
trailStatus
Schema
{ "type": "object", "properties": { "IsLogging": { "type": "boolean" }, "LatestCloudWatchLogsDeliveryError": { "type": "string" }, "LatestCloudWatchLogsDeliveryTime": { "type": "string" }, "LatestDeliveryAttemptSucceeded": { "type": "string" }, "LatestDeliveryAttemptTime": { "type": "string" }, "LatestDeliveryError": { "type": "string" }, "LatestDeliveryTime": { "type": "string" }, "LatestDigestDeliveryError": { "type": "string" }, "LatestDigestDeliveryTime": { "type": "string" }, "LatestNotificationAttemptSucceeded": { "type": "string" }, "LatestNotificationAttemptTime": { "type": "string" }, "LatestNotificationError": { "type": "string" }, "LatestNotificationTime": { "type": "string" }, "StartLoggingTime": { "type": "string" }, "StopLoggingTime": { "type": "string" }, "TimeLoggingStarted": { "type": "string" }, "TimeLoggingStopped": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-cloudtrail#/definitions/trailStatus", "modUri": "tmod:@turbot/aws-cloudtrail" }}