Definitions for @turbot/aws-s3
- accountLevelPab
- bucket
- bucketAccelerateConfiguration
- bucketAcl
- bucketAka
- bucketCors
- bucketEncryption
- bucketLifecycle
- bucketLogging
- bucketName
- bucketNotificationConfiguration
- bucketObjectLockConfiguration
- bucketPolicy
- bucketPolicyId
- bucketPolicyStatement
- bucketPolicyStatements
- bucketPolicyStatus
- bucketPolicyVersion
- bucketReplication
- bucketServerSideEncryptionConfiguration
- bucketServerSideEncryptionConfigurationRule
- bucketServerSideEncryptionConfigurationRules
- bucketStatusName
- bucketVersioning
- bucketWebsite
- MFADelete
- publicAccessBlock
- s3
- s3Account
- s3AccountAka
- s3Aka
accountLevelPab
Schema
{ "type": "object", "properties": { "BlockPublicAcls": { "type": "boolean" }, "IgnorePublicAcls": { "type": "boolean" }, "BlockPublicPolicy": { "type": "boolean" }, "RestrictPublicBuckets": { "type": "boolean" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/accountLevelPab", "modUri": "tmod:@turbot/aws-s3" }}
bucket
Schema
{ "type": "object", "properties": { "AccelerateConfiguration": { "$ref": "#/definitions/bucketAccelerateConfiguration" }, "Acl": { "$ref": "#/definitions/bucketAcl" }, "CreationDate": { "$ref": "turbot#/definitions/isoTimestamp" }, "Encryption": { "$ref": "#/definitions/bucketEncryption" }, "Name": { "$ref": "#/definitions/bucketName" }, "Policy": { "$ref": "#/definitions/bucketPolicy" }, "PolicyStatus": { "$ref": "#/definitions/bucketPolicyStatus" }, "Tags": { "$ref": "aws#/definitions/tagList" }, "Versioning": { "$ref": "#/definitions/bucketVersioning" }, "PublicAccessBlock": { "$ref": "#/definitions/publicAccessBlock" }, "Cors": { "type": "array" }, "Lifecycle": { "$ref": "#/definitions/bucketLifecycle" }, "Logging": { "$ref": "#/definitions/bucketLogging" }, "ObjectLockConfiguration": { "$ref": "#/definitions/bucketObjectLockConfiguration" }, "NotificationConfiguration": { "$ref": "#/definitions/bucketNotificationConfiguration" }, "LocationConstraint": { "type": "string" }, "Payer": { "type": "string" }, "Replication": { "$ref": "#/definitions/bucketReplication" }, "Website": { "$ref": "#/definitions/bucketWebsite" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/bucketAka" } }, "tags": { "$ref": "aws#/definitions/tagsMap" }, "title": { "$ref": "#/definitions/bucketName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" }, "hasData": { "type": "boolean" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "AccelerateConfiguration": { "Status": "Enabled" }, "CreationDate": "2018-12-05T14:53:33.000Z", "Encryption": { "ServerSideEncryptionConfiguration": { "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "arn:aws:kms:us-east-1:095318393923:alias/aws/s3" } } ] } }, "Name": "my-bucket", "Acl": { "Owner": { "DisplayName": "aws+osborn+aaa", "ID": "26e5574fa1" }, "Grants": [ { "Grantee": { "DisplayName": "aws+osborn+aaa", "ID": "26e5574fa16859426a6540699e6e3fe6ac1e8758991572c1ffe9a36671cb4570", "Type": "CanonicalUser" } } ] }, "Policy": { "Version": "2012-10-17", "Statement": [ { "Sid": "AWSCloudTrailAclCheck20131101", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::013122550996:root" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::s3bucket-test005" } ] }, "Payer": "BucketOwner", "PublicAccessBlock": { "BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true }, "Cors": { "CORSRules": [ { "AllowedHeaders": [ "Authorization" ], "AllowedMethods": [ "GET" ], "AllowedOrigins": [ "*" ], "MaxAgeSeconds": 3000 } ] }, "LocationConstraint": "us-west-2", "Replication": { "ReplicationConfiguration": { "Role": "arn:aws:iam::acct-id:role/example-role", "Rules": [ { "Destination": { "Bucket": "arn:aws:s3:::destination-bucket" }, "ID": "MWIwNTkwZmItMTE3MS00ZTc3LWJkZDEtNzRmODQwYzc1OTQy", "Prefix": "Tax", "Status": "Enabled" } ] } }, "Website": { "ErrorDocument": { "Key": "error.html" }, "IndexDocument": { "Suffix": "index.html" } }, "Tags": [ { "Key": "Env", "Value": "Test" }, { "Key": "App", "Value": "Facebook" } ], "Versioning": { "Status": "Suspended" }, "turbot": { "akas": [ "arn:aws:s3:::my-bucket" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "my-bucket", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" }, "createTimestamp": "2018-12-05T14:53:33.000Z" } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucket", "modUri": "tmod:@turbot/aws-s3" }}
bucketAccelerateConfiguration
Schema
{ "type": "object", "additionalProperties": false, "properties": { "Status": { "$ref": "#/definitions/bucketStatusName" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketAccelerateConfiguration", "modUri": "tmod:@turbot/aws-s3" }}
bucketAcl
Schema
{ "type": "object", "additionalProperties": false, "properties": { "Owner": { "type": "object" }, "Grants": { "type": "array" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketAcl", "modUri": "tmod:@turbot/aws-s3" }}
bucketAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:s3:::[a-zA-Z0-9._-]{1,255}$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:s3:::My-Bucket-1" }, { "description": "Invalid - Malformed resource collection", "input": "arn:aws:s3:::buckets/My-Bucket-1", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketAka", "modUri": "tmod:@turbot/aws-s3" }}
bucketCors
Schema
{ "type": "object", "additionalProperties": false, "properties": { "CORSRules": { "type": "array" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketCors", "modUri": "tmod:@turbot/aws-s3" }}
bucketEncryption
Schema
{ "type": "object", "additionalProperties": false, "properties": { "ServerSideEncryptionConfiguration": { "$ref": "#/definitions/bucketServerSideEncryptionConfiguration" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketEncryption", "modUri": "tmod:@turbot/aws-s3" }}
bucketLifecycle
Schema
{ "type": "object", "additionalProperties": false, "properties": { "Rules": { "type": "array" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketLifecycle", "modUri": "tmod:@turbot/aws-s3" }}
bucketLogging
Schema
{ "type": "object", "additionalProperties": true, "properties": { "TargetBucket": { "type": "string" }, "TargetPrefix": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketLogging", "modUri": "tmod:@turbot/aws-s3" }}
bucketName
Schema
{ "type": "string", "pattern": "^[a-zA-Z0-9._-]{1,255}$", "tests": [ { "input": "12cor-a" }, { "input": "roja-1" }, { "description": "invalid - cannot start at", "input": "@aaa", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketName", "modUri": "tmod:@turbot/aws-s3" }}
bucketNotificationConfiguration
Schema
{ "type": "object", "additionalProperties": false, "properties": { "TopicConfigurations": { "type": "array" }, "QueueConfigurations": { "type": "array" }, "LambdaFunctionConfigurations": { "type": "array" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketNotificationConfiguration", "modUri": "tmod:@turbot/aws-s3" }}
bucketObjectLockConfiguration
Schema
{ "type": "object", "additionalProperties": true, "properties": { "ObjectLockEnabled": { "type": "string", "enum": [ "Enabled" ] } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketObjectLockConfiguration", "modUri": "tmod:@turbot/aws-s3" }}
bucketPolicy
Schema
{ "type": "object", "additionalProperties": false, "properties": { "Id": { "$ref": "#/definitions/bucketPolicyId" }, "Statement": { "$ref": "#/definitions/bucketPolicyStatements" }, "Version": { "$ref": "#/definitions/bucketPolicyVersion" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketPolicy", "modUri": "tmod:@turbot/aws-s3" }}
bucketPolicyId
Schema
{ "type": "string", ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketPolicyId", "modUri": "tmod:@turbot/aws-s3" }}
bucketPolicyStatement
Schema
{ "type": "object", ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketPolicyStatement", "modUri": "tmod:@turbot/aws-s3" }}
bucketPolicyStatements
Schema
{ "type": "array", "items": { "$ref": "#/definitions/bucketPolicyStatement" }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketPolicyStatements", "modUri": "tmod:@turbot/aws-s3" }}
bucketPolicyStatus
Schema
{ "type": "object", "additionalProperties": false, "properties": { "IsPublic": { "type": "boolean" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketPolicyStatus", "modUri": "tmod:@turbot/aws-s3" }}
bucketPolicyVersion
Schema
{ "type": "string", ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketPolicyVersion", "modUri": "tmod:@turbot/aws-s3" }}
bucketReplication
Schema
{ "type": "object", "additionalProperties": false, "properties": { "ReplicationConfiguration": { "type": "object" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketReplication", "modUri": "tmod:@turbot/aws-s3" }}
bucketServerSideEncryptionConfiguration
Schema
{ "type": "object", "additionalProperties": false, "properties": { "Rules": { "$ref": "#/definitions/bucketServerSideEncryptionConfigurationRules" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketServerSideEncryptionConfiguration", "modUri": "tmod:@turbot/aws-s3" }}
bucketServerSideEncryptionConfigurationRule
Schema
{ "type": "object", "additionalProperties": false, "properties": { "ApplyServerSideEncryptionByDefault": { "type": "object", "required": [ "SSEAlgorithm" ], "additionalProperties": false, "properties": { "SSEAlgorithm": { "type": "string", "enum": [ "AES256", "aws:kms" ] }, "KMSMasterKeyID": { "type": "string" } } } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketServerSideEncryptionConfigurationRule", "modUri": "tmod:@turbot/aws-s3" }}
bucketServerSideEncryptionConfigurationRules
Schema
{ "type": "array", "items": { "$ref": "#/definitions/bucketServerSideEncryptionConfigurationRule" }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketServerSideEncryptionConfigurationRules", "modUri": "tmod:@turbot/aws-s3" }}
bucketStatusName
Schema
{ "type": "string", "enum": [ "Enabled", "Suspended" ], "tests": [ { "input": "Enabled" }, { "description": "invalid - not listed in options", "input": "RUNNABLE", "expected": false }, { "description": "invalid - null value", "input": null, "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketStatusName", "modUri": "tmod:@turbot/aws-s3" }}
bucketVersioning
Schema
{ "type": "object", "properties": { "Status": { "$ref": "#/definitions/bucketStatusName" }, "MFADelete": { "$ref": "#/definitions/MFADelete" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketVersioning", "modUri": "tmod:@turbot/aws-s3" }}
bucketWebsite
Schema
{ "type": "object", "additionalProperties": false, "properties": { "RedirectAllRequestsTo": { "type": "object" }, "IndexDocument": { "type": "object" }, "ErrorDocument": { "type": "object" }, "RoutingRules": { "type": "array" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/bucketWebsite", "modUri": "tmod:@turbot/aws-s3" }}
MFADelete
Schema
{ "type": "string", "enum": [ "Enabled", "Disabled" ], ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/MFADelete", "modUri": "tmod:@turbot/aws-s3" }}
publicAccessBlock
Schema
{ "type": "object", "properties": { "BlockPublicAcls": { "type": "boolean" }, "IgnorePublicAcls": { "type": "boolean" }, "BlockPublicPolicy": { "type": "boolean" }, "RestrictPublicBuckets": { "type": "boolean" } }, ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/publicAccessBlock", "modUri": "tmod:@turbot/aws-s3" }}
s3
Schema
{ "allOf": [ { "$ref": "turbot#/definitions/service" }, { "type": "object", "properties": { "name": { "const": "S3" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/s3Aka" } }, "title": { "const": "S3" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" } } } } } }, "required": [ "name", "turbot" ], "additionalProperties": true, "tests": [ { "description": "S3", "input": { "name": "S3", "turbot": { "akas": [ "arn:aws:s3::123456789012" ], "title": "DataSync", "custom": { "aws": { "accountId": 123456789012 } } } } }, { "description": "invalid - service provider name prefixed", "input": { "name": "AWS S3", "turbot": { "akas": [ "arn:aws:s3::123456789012" ], "title": "DataSync", "custom": { "aws": { "accountId": 123456789012 } } } }, "expected": false } ] } ], ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/s3", "modUri": "tmod:@turbot/aws-s3" }}
s3Account
Schema
{ "type": "object", "properties": { "PublicAccessBlockConfiguration": { "$ref": "#/definitions/accountLevelPab" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/s3AccountAka" } }, "title": { "const": "Account" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "PublicAccessBlockConfiguration": { "BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true }, "turbot": { "akas": [ "arn:aws:s3::123456789012:account" ], "tags": { "Env": "Test", "App": "Facebook" }, "title": "Account", "custom": { "aws": { "accountId": 123456789012 }, "createTimestamp": "2018-12-05T14:53:33.000Z" } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/s3Account", "modUri": "tmod:@turbot/aws-s3" }}
s3AccountAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:s3::\\d{12}:account$", "tests": [ { "description": "Valid - Base case", "input": "arn:aws:s3::111666065714:account" }, { "description": "Invalid - account Id", "input": "arn:aws:s3::1116660:account", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/s3AccountAka", "modUri": "tmod:@turbot/aws-s3" }}
s3Aka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:s3::[0-9]{12}$", "tests": [ { "description": "base", "input": "arn:aws:s3::123123123123" }, { "description": "Invalid - service name not valid", "input": "arn:aws:datasync111::123123123123", "expected": false }, { "description": "Invalid - account id is not valid", "input": "arn:aws:s3::123382743123123123", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-s3#/definitions/s3Aka", "modUri": "tmod:@turbot/aws-s3" }}