UNPKG

@aws-cdk/aws-s3

Version:

The CDK Construct Library for AWS::S3

1 lines 710 kB
{"version":"2","toolVersion":"1.84.0","snippets":{"a3fb238b791f212f2de9bf87c1625d6906fbdaac222f986c0a53ee5c652ec0b0":{"translations":{"python":{"source":"bucket = s3.Bucket(self, \"MyFirstBucket\")","version":"2"},"csharp":{"source":"var bucket = new Bucket(this, \"MyFirstBucket\");","version":"1"},"java":{"source":"Bucket bucket = new Bucket(this, \"MyFirstBucket\");","version":"1"},"go":{"source":"bucket := s3.NewBucket(this, jsii.String(\"MyFirstBucket\"))","version":"1"},"$":{"source":"const bucket = new s3.Bucket(this, 'MyFirstBucket');","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":21}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-s3.Bucket","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst bucket = new s3.Bucket(this, 'MyFirstBucket');\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":1,"75":3,"104":1,"194":1,"197":1,"225":1,"242":1,"243":1},"fqnsFingerprint":"4d1e12fe58a4411af91f1b353239299a677f9d0ab6b14ef3e55ef1d604df0585"},"840f0fbedaca2204dcf09dea059bb2ef2fe502b028490228c9432304e628b8bf":{"translations":{"python":{"source":"bucket = s3.Bucket(self, \"MyEncryptedBucket\",\n encryption=s3.BucketEncryption.KMS\n)\n\n# you can access the encryption key:\nassert(bucket.encryption_key instanceof kms.Key)","version":"2"},"csharp":{"source":"var bucket = new Bucket(this, \"MyEncryptedBucket\", new BucketProps {\n Encryption = BucketEncryption.KMS\n});\n\n// you can access the encryption key:\nAssert(bucket.EncryptionKey instanceof Key);","version":"1"},"java":{"source":"Bucket bucket = Bucket.Builder.create(this, \"MyEncryptedBucket\")\n .encryption(BucketEncryption.KMS)\n .build();\n\n// you can access the encryption key:\nassert(bucket.getEncryptionKey() instanceof Key);","version":"1"},"go":{"source":"bucket := s3.NewBucket(this, jsii.String(\"MyEncryptedBucket\"), &BucketProps{\n\tEncryption: s3.BucketEncryption_KMS,\n})\n\n// you can access the encryption key:\nassert(bucket.EncryptionKey instanceof kms.Key)","version":"1"},"$":{"source":"const bucket = new s3.Bucket(this, 'MyEncryptedBucket', {\n encryption: s3.BucketEncryption.KMS,\n});\n\n// you can access the encryption key:\nassert(bucket.encryptionKey instanceof kms.Key);","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":50}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-kms.Key","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.Bucket#encryptionKey","@aws-cdk/aws-s3.BucketEncryption","@aws-cdk/aws-s3.BucketEncryption#KMS","@aws-cdk/aws-s3.BucketProps","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst bucket = new s3.Bucket(this, 'MyEncryptedBucket', {\n encryption: s3.BucketEncryption.KMS,\n});\n\n// you can access the encryption key:\nassert(bucket.encryptionKey instanceof kms.Key);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":1,"75":12,"98":1,"104":1,"193":1,"194":5,"196":1,"197":1,"209":1,"225":1,"226":1,"242":1,"243":1,"281":1},"fqnsFingerprint":"b66bb03df71472c5c1e8ac1fbfe1a9e83c7904676653f273c733e4cc58fb31c6"},"49c0de2052cd3db0035ad4cb9444048954f903a12d6e30a549e7c16d1dc34436":{"translations":{"python":{"source":"my_kms_key = kms.Key(self, \"MyKey\")\n\nbucket = s3.Bucket(self, \"MyEncryptedBucket\",\n encryption=s3.BucketEncryption.KMS,\n encryption_key=my_kms_key\n)\n\nassert(bucket.encryption_key == my_kms_key)","version":"2"},"csharp":{"source":"var myKmsKey = new Key(this, \"MyKey\");\n\nvar bucket = new Bucket(this, \"MyEncryptedBucket\", new BucketProps {\n Encryption = BucketEncryption.KMS,\n EncryptionKey = myKmsKey\n});\n\nAssert(bucket.EncryptionKey == myKmsKey);","version":"1"},"java":{"source":"Key myKmsKey = new Key(this, \"MyKey\");\n\nBucket bucket = Bucket.Builder.create(this, \"MyEncryptedBucket\")\n .encryption(BucketEncryption.KMS)\n .encryptionKey(myKmsKey)\n .build();\n\nassert(bucket.getEncryptionKey() == myKmsKey);","version":"1"},"go":{"source":"myKmsKey := kms.NewKey(this, jsii.String(\"MyKey\"))\n\nbucket := s3.NewBucket(this, jsii.String(\"MyEncryptedBucket\"), &BucketProps{\n\tEncryption: s3.BucketEncryption_KMS,\n\tEncryptionKey: myKmsKey,\n})\n\nassert(bucket.EncryptionKey == myKmsKey)","version":"1"},"$":{"source":"const myKmsKey = new kms.Key(this, 'MyKey');\n\nconst bucket = new s3.Bucket(this, 'MyEncryptedBucket', {\n encryption: s3.BucketEncryption.KMS,\n encryptionKey: myKmsKey,\n});\n\nassert(bucket.encryptionKey === myKmsKey);","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":61}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-kms.IKey","@aws-cdk/aws-kms.Key","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.Bucket#encryptionKey","@aws-cdk/aws-s3.BucketEncryption","@aws-cdk/aws-s3.BucketEncryption#KMS","@aws-cdk/aws-s3.BucketProps","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst myKmsKey = new kms.Key(this, 'MyKey');\n\nconst bucket = new s3.Bucket(this, 'MyEncryptedBucket', {\n encryption: s3.BucketEncryption.KMS,\n encryptionKey: myKmsKey,\n});\n\nassert(bucket.encryptionKey === myKmsKey);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":2,"36":1,"75":16,"104":2,"193":1,"194":5,"196":1,"197":2,"209":1,"225":2,"226":1,"242":2,"243":2,"281":2},"fqnsFingerprint":"1cd60903315d2d6662d524b4f069fd48513669ae869570319832fea879327933"},"adae91f94bdd745173c12de053d30f620dfc7c396c43512eae0f74b335fc56ef":{"translations":{"python":{"source":"bucket = s3.Bucket(self, \"MyEncryptedBucket\",\n encryption=s3.BucketEncryption.KMS,\n bucket_key_enabled=True\n)","version":"2"},"csharp":{"source":"var bucket = new Bucket(this, \"MyEncryptedBucket\", new BucketProps {\n Encryption = BucketEncryption.KMS,\n BucketKeyEnabled = true\n});","version":"1"},"java":{"source":"Bucket bucket = Bucket.Builder.create(this, \"MyEncryptedBucket\")\n .encryption(BucketEncryption.KMS)\n .bucketKeyEnabled(true)\n .build();","version":"1"},"go":{"source":"bucket := s3.NewBucket(this, jsii.String(\"MyEncryptedBucket\"), &BucketProps{\n\tEncryption: s3.BucketEncryption_KMS,\n\tBucketKeyEnabled: jsii.Boolean(true),\n})","version":"1"},"$":{"source":"const bucket = new s3.Bucket(this, 'MyEncryptedBucket', {\n encryption: s3.BucketEncryption.KMS,\n bucketKeyEnabled: true,\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":74}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.BucketEncryption","@aws-cdk/aws-s3.BucketEncryption#KMS","@aws-cdk/aws-s3.BucketProps","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst bucket = new s3.Bucket(this, 'MyEncryptedBucket', {\n encryption: s3.BucketEncryption.KMS,\n bucketKeyEnabled: true,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":1,"75":8,"104":1,"106":1,"193":1,"194":3,"197":1,"225":1,"242":1,"243":1,"281":2},"fqnsFingerprint":"24b78d823cdcef57181eb3d868d38c1e87a0aeb9abf2d106abe7883680611104"},"74f2639cae4a8c7dab231af7005b571d87b86d886df53cdfcec7e0d93cca461a":{"translations":{"python":{"source":"bucket = s3.Bucket(self, \"Buck\",\n encryption=s3.BucketEncryption.KMS_MANAGED\n)\n\nassert(bucket.encryption_key == null)","version":"2"},"csharp":{"source":"var bucket = new Bucket(this, \"Buck\", new BucketProps {\n Encryption = BucketEncryption.KMS_MANAGED\n});\n\nAssert(bucket.EncryptionKey == null);","version":"1"},"java":{"source":"Bucket bucket = Bucket.Builder.create(this, \"Buck\")\n .encryption(BucketEncryption.KMS_MANAGED)\n .build();\n\nassert(bucket.getEncryptionKey() == null);","version":"1"},"go":{"source":"bucket := s3.NewBucket(this, jsii.String(\"Buck\"), &BucketProps{\n\tEncryption: s3.BucketEncryption_KMS_MANAGED,\n})\n\nassert(bucket.EncryptionKey == nil)","version":"1"},"$":{"source":"const bucket = new s3.Bucket(this, 'Buck', {\n encryption: s3.BucketEncryption.KMS_MANAGED,\n});\n\nassert(bucket.encryptionKey == null);","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":83}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.Bucket#encryptionKey","@aws-cdk/aws-s3.BucketEncryption","@aws-cdk/aws-s3.BucketEncryption#KMS_MANAGED","@aws-cdk/aws-s3.BucketProps","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst bucket = new s3.Bucket(this, 'Buck', {\n encryption: s3.BucketEncryption.KMS_MANAGED,\n});\n\nassert(bucket.encryptionKey == null);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":1,"34":1,"75":10,"100":1,"104":1,"193":1,"194":4,"196":1,"197":1,"209":1,"225":1,"226":1,"242":1,"243":1,"281":1},"fqnsFingerprint":"86f678f998a266114c78f81b644a758a2c00be93d8fed9de5a83b377a131992b"},"65bbb0c3f3260aa2580f4c51dfca4c685aa5fdfebe94dc3b8265e938af034ea4":{"translations":{"python":{"source":"bucket = s3.Bucket(self, \"MyBucket\")\nresult = bucket.add_to_resource_policy(iam.PolicyStatement(\n actions=[\"s3:GetObject\"],\n resources=[bucket.arn_for_objects(\"file.txt\")],\n principals=[iam.AccountRootPrincipal()]\n))","version":"2"},"csharp":{"source":"var bucket = new Bucket(this, \"MyBucket\");\nvar result = bucket.AddToResourcePolicy(new PolicyStatement(new PolicyStatementProps {\n Actions = new [] { \"s3:GetObject\" },\n Resources = new [] { bucket.ArnForObjects(\"file.txt\") },\n Principals = new [] { new AccountRootPrincipal() }\n}));","version":"1"},"java":{"source":"Bucket bucket = new Bucket(this, \"MyBucket\");\nAddToResourcePolicyResult result = bucket.addToResourcePolicy(PolicyStatement.Builder.create()\n .actions(List.of(\"s3:GetObject\"))\n .resources(List.of(bucket.arnForObjects(\"file.txt\")))\n .principals(List.of(new AccountRootPrincipal()))\n .build());","version":"1"},"go":{"source":"bucket := s3.NewBucket(this, jsii.String(\"MyBucket\"))\nresult := bucket.AddToResourcePolicy(iam.NewPolicyStatement(&PolicyStatementProps{\n\tActions: []*string{\n\t\tjsii.String(\"s3:GetObject\"),\n\t},\n\tResources: []*string{\n\t\tbucket.ArnForObjects(jsii.String(\"file.txt\")),\n\t},\n\tPrincipals: []iPrincipal{\n\t\tiam.NewAccountRootPrincipal(),\n\t},\n}))","version":"1"},"$":{"source":"const bucket = new s3.Bucket(this, 'MyBucket');\nconst result = bucket.addToResourcePolicy(new iam.PolicyStatement({\n actions: ['s3:GetObject'],\n resources: [bucket.arnForObjects('file.txt')],\n principals: [new iam.AccountRootPrincipal()],\n}));","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":96}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-iam.AccountRootPrincipal","@aws-cdk/aws-iam.AddToResourcePolicyResult","@aws-cdk/aws-iam.PolicyStatement","@aws-cdk/aws-iam.PolicyStatementProps","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.BucketBase#addToResourcePolicy","@aws-cdk/aws-s3.BucketBase#arnForObjects","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst bucket = new s3.Bucket(this, 'MyBucket');\nconst result = bucket.addToResourcePolicy(new iam.PolicyStatement({\n actions: ['s3:GetObject'],\n resources: [bucket.arnForObjects('file.txt')],\n principals: [new iam.AccountRootPrincipal()],\n}));\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":3,"75":15,"104":1,"192":3,"193":1,"194":5,"196":2,"197":3,"225":2,"242":2,"243":2,"281":3},"fqnsFingerprint":"a778d8abc0cdf1955ecbc04cd4faad86b519c612100f15c96cdd0d83c9c6436e"},"ead248d9a3b3802c755881c0d2052ca6854da5a21551c72b714088c6111c153e":{"translations":{"python":{"source":"bucket = s3.Bucket.from_bucket_name(self, \"existingBucket\", \"bucket-name\")\n\n# No policy statement will be added to the resource\nresult = bucket.add_to_resource_policy(iam.PolicyStatement(\n actions=[\"s3:GetObject\"],\n resources=[bucket.arn_for_objects(\"file.txt\")],\n principals=[iam.AccountRootPrincipal()]\n))","version":"2"},"csharp":{"source":"var bucket = Bucket.FromBucketName(this, \"existingBucket\", \"bucket-name\");\n\n// No policy statement will be added to the resource\nvar result = bucket.AddToResourcePolicy(new PolicyStatement(new PolicyStatementProps {\n Actions = new [] { \"s3:GetObject\" },\n Resources = new [] { bucket.ArnForObjects(\"file.txt\") },\n Principals = new [] { new AccountRootPrincipal() }\n}));","version":"1"},"java":{"source":"IBucket bucket = Bucket.fromBucketName(this, \"existingBucket\", \"bucket-name\");\n\n// No policy statement will be added to the resource\nAddToResourcePolicyResult result = bucket.addToResourcePolicy(PolicyStatement.Builder.create()\n .actions(List.of(\"s3:GetObject\"))\n .resources(List.of(bucket.arnForObjects(\"file.txt\")))\n .principals(List.of(new AccountRootPrincipal()))\n .build());","version":"1"},"go":{"source":"bucket := s3.Bucket_FromBucketName(this, jsii.String(\"existingBucket\"), jsii.String(\"bucket-name\"))\n\n// No policy statement will be added to the resource\nresult := bucket.AddToResourcePolicy(iam.NewPolicyStatement(&PolicyStatementProps{\n\tActions: []*string{\n\t\tjsii.String(\"s3:GetObject\"),\n\t},\n\tResources: []*string{\n\t\tbucket.ArnForObjects(jsii.String(\"file.txt\")),\n\t},\n\tPrincipals: []iPrincipal{\n\t\tiam.NewAccountRootPrincipal(),\n\t},\n}))","version":"1"},"$":{"source":"const bucket = s3.Bucket.fromBucketName(this, 'existingBucket', 'bucket-name');\n\n// No policy statement will be added to the resource\nconst result = bucket.addToResourcePolicy(new iam.PolicyStatement({\n actions: ['s3:GetObject'],\n resources: [bucket.arnForObjects('file.txt')],\n principals: [new iam.AccountRootPrincipal()],\n}));","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":108}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-iam.AccountRootPrincipal","@aws-cdk/aws-iam.AddToResourcePolicyResult","@aws-cdk/aws-iam.PolicyStatement","@aws-cdk/aws-iam.PolicyStatementProps","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.Bucket#fromBucketName","@aws-cdk/aws-s3.IBucket","@aws-cdk/aws-s3.IBucket#addToResourcePolicy","@aws-cdk/aws-s3.IBucket#arnForObjects","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst bucket = s3.Bucket.fromBucketName(this, 'existingBucket', 'bucket-name');\n\n// No policy statement will be added to the resource\nconst result = bucket.addToResourcePolicy(new iam.PolicyStatement({\n actions: ['s3:GetObject'],\n resources: [bucket.arnForObjects('file.txt')],\n principals: [new iam.AccountRootPrincipal()],\n}));\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":4,"75":16,"104":1,"192":3,"193":1,"194":6,"196":3,"197":2,"225":2,"242":2,"243":2,"281":3},"fqnsFingerprint":"4a22b3abdaec767737dad35503037c1a6ef123d7fc35b711b17563e160f46580"},"6597b7811d64548d85268feefcea2a7dc3f7a7de20fbf2f3e7675111ef8d914d":{"translations":{"python":{"source":"bucket = s3.Bucket(self, \"MyBucket\")\nresult = bucket.add_to_resource_policy(iam.PolicyStatement(\n actions=[\"s3:GetObject\"],\n resources=[bucket.arn_for_objects(\"file.txt\")],\n principals=[iam.AccountRootPrincipal()]\n))\n\nif not result.statement_added:\n pass","version":"2"},"csharp":{"source":"var bucket = new Bucket(this, \"MyBucket\");\nvar result = bucket.AddToResourcePolicy(new PolicyStatement(new PolicyStatementProps {\n Actions = new [] { \"s3:GetObject\" },\n Resources = new [] { bucket.ArnForObjects(\"file.txt\") },\n Principals = new [] { new AccountRootPrincipal() }\n}));\n\nif (!result.StatementAdded)\n{\n}","version":"1"},"java":{"source":"Bucket bucket = new Bucket(this, \"MyBucket\");\nAddToResourcePolicyResult result = bucket.addToResourcePolicy(PolicyStatement.Builder.create()\n .actions(List.of(\"s3:GetObject\"))\n .resources(List.of(bucket.arnForObjects(\"file.txt\")))\n .principals(List.of(new AccountRootPrincipal()))\n .build());\n\nif (!result.getStatementAdded()) {\n}","version":"1"},"go":{"source":"bucket := s3.NewBucket(this, jsii.String(\"MyBucket\"))\nresult := bucket.AddToResourcePolicy(iam.NewPolicyStatement(&PolicyStatementProps{\n\tActions: []*string{\n\t\tjsii.String(\"s3:GetObject\"),\n\t},\n\tResources: []*string{\n\t\tbucket.ArnForObjects(jsii.String(\"file.txt\")),\n\t},\n\tPrincipals: []iPrincipal{\n\t\tiam.NewAccountRootPrincipal(),\n\t},\n}))\n\nif !result.StatementAdded {}","version":"1"},"$":{"source":"const bucket = new s3.Bucket(this, 'MyBucket');\nconst result = bucket.addToResourcePolicy(new iam.PolicyStatement({\n actions: ['s3:GetObject'],\n resources: [bucket.arnForObjects('file.txt')],\n principals: [new iam.AccountRootPrincipal()],\n}));\n\nif (!result.statementAdded) {\n // Uh-oh! Someone probably made a mistake here.\n}","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":123}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-iam.AccountRootPrincipal","@aws-cdk/aws-iam.AddToResourcePolicyResult","@aws-cdk/aws-iam.AddToResourcePolicyResult#statementAdded","@aws-cdk/aws-iam.PolicyStatement","@aws-cdk/aws-iam.PolicyStatementProps","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.BucketBase#addToResourcePolicy","@aws-cdk/aws-s3.BucketBase#arnForObjects","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst bucket = new s3.Bucket(this, 'MyBucket');\nconst result = bucket.addToResourcePolicy(new iam.PolicyStatement({\n actions: ['s3:GetObject'],\n resources: [bucket.arnForObjects('file.txt')],\n principals: [new iam.AccountRootPrincipal()],\n}));\n\nif (!result.statementAdded) {\n // Uh-oh! Someone probably made a mistake here.\n}\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":3,"75":17,"104":1,"192":3,"193":1,"194":6,"196":2,"197":3,"207":1,"223":1,"225":2,"227":1,"242":2,"243":2,"281":3},"fqnsFingerprint":"208cba0c28ee76264e8c27c416da247984f5f2a1ea91c1f813c5189cf5ea08e1"},"78cb23f0ef6e62752d3af28989750505b9ca0e2bf19e3e277a8a65d3211dfed1":{"translations":{"python":{"source":"bucket = s3.Bucket(self, \"MyBucket\")\nbucket.policy.apply_removal_policy(cdk.RemovalPolicy.RETAIN)","version":"2"},"csharp":{"source":"var bucket = new Bucket(this, \"MyBucket\");\nbucket.Policy.ApplyRemovalPolicy(RemovalPolicy.RETAIN);","version":"1"},"java":{"source":"Bucket bucket = new Bucket(this, \"MyBucket\");\nbucket.policy.applyRemovalPolicy(RemovalPolicy.RETAIN);","version":"1"},"go":{"source":"bucket := s3.NewBucket(this, jsii.String(\"MyBucket\"))\nbucket.Policy.ApplyRemovalPolicy(cdk.RemovalPolicy_RETAIN)","version":"1"},"$":{"source":"const bucket = new s3.Bucket(this, 'MyBucket');\nbucket.policy?.applyRemovalPolicy(cdk.RemovalPolicy.RETAIN);","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":139}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.Bucket#policy","@aws-cdk/aws-s3.BucketPolicy#applyRemovalPolicy","@aws-cdk/core.RemovalPolicy","@aws-cdk/core.RemovalPolicy#RETAIN","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst bucket = new s3.Bucket(this, 'MyBucket');\nbucket.policy?.applyRemovalPolicy(cdk.RemovalPolicy.RETAIN);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":1,"28":1,"75":9,"104":1,"194":5,"196":1,"197":1,"225":1,"226":1,"242":1,"243":1},"fqnsFingerprint":"693444eb477e5128c47701b1af86366fc44e4a68fb1a8b2d437e23eb4c5c9c69"},"28e512a0c62b13e5d4ba70a6731708568e4f4554372153d29c28ea8f4710ab5d":{"translations":{"python":{"source":"# my_lambda: lambda.Function\n\n\nbucket = s3.Bucket(self, \"MyBucket\")\nbucket.grant_read_write(my_lambda)","version":"2"},"csharp":{"source":"Function myLambda;\n\n\nvar bucket = new Bucket(this, \"MyBucket\");\nbucket.GrantReadWrite(myLambda);","version":"1"},"java":{"source":"Function myLambda;\n\n\nBucket bucket = new Bucket(this, \"MyBucket\");\nbucket.grantReadWrite(myLambda);","version":"1"},"go":{"source":"var myLambda function\n\n\nbucket := s3.NewBucket(this, jsii.String(\"MyBucket\"))\nbucket.GrantReadWrite(myLambda)","version":"1"},"$":{"source":"declare const myLambda: lambda.Function;\n\nconst bucket = new s3.Bucket(this, 'MyBucket');\nbucket.grantReadWrite(myLambda);","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":148}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-iam.IGrantable","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.BucketBase#grantReadWrite","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const myLambda: lambda.Function;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nconst bucket = new s3.Bucket(this, 'MyBucket');\nbucket.grantReadWrite(myLambda);\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":1,"75":9,"104":1,"130":1,"153":1,"169":1,"194":2,"196":1,"197":1,"225":2,"226":1,"242":2,"243":2,"290":1},"fqnsFingerprint":"37207d6d761f1a348ab1c39de1f4cd6dd996af8f4f2f54c1971e6889f85e3f04"},"5b31c211e8852df24248dd8b127dc2441d939e05c3c127db3b92d973fa178603":{"translations":{"python":{"source":"bucket = s3.Bucket(self, \"Bucket\",\n enforce_sSL=True\n)","version":"2"},"csharp":{"source":"var bucket = new Bucket(this, \"Bucket\", new BucketProps {\n EnforceSSL = true\n});","version":"1"},"java":{"source":"Bucket bucket = Bucket.Builder.create(this, \"Bucket\")\n .enforceSSL(true)\n .build();","version":"1"},"go":{"source":"bucket := s3.NewBucket(this, jsii.String(\"Bucket\"), &BucketProps{\n\tEnforceSSL: jsii.Boolean(true),\n})","version":"1"},"$":{"source":"const bucket = new s3.Bucket(this, 'Bucket', {\n enforceSSL: true,\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":164}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.BucketProps","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst bucket = new s3.Bucket(this, 'Bucket', {\n enforceSSL: true,\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":1,"75":4,"104":1,"106":1,"193":1,"194":1,"197":1,"225":1,"242":1,"243":1,"281":1},"fqnsFingerprint":"722171da61b586495a76c1a7bba9ac4ce3211991657407b2c0de1fcfb3fc853d"},"a179533ca40e4c0791e2c038c66c481b915033c76f8bab64b76fd79cf33670d4":{"translations":{"python":{"source":"#\n# Stack that defines the bucket\n#\nclass Producer(cdk.Stack):\n\n def __init__(self, scope, id, *, description=None, env=None, stackName=None, tags=None, synthesizer=None, terminationProtection=None, analyticsReporting=None):\n super().__init__(scope, id, description=description, env=env, stackName=stackName, tags=tags, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting)\n\n bucket = s3.Bucket(self, \"MyBucket\",\n removal_policy=cdk.RemovalPolicy.DESTROY\n )\n self.my_bucket = bucket\n\n#\n# Stack that consumes the bucket\n#\nclass Consumer(cdk.Stack):\n def __init__(self, scope, id, *, userBucket, description=None, env=None, stackName=None, tags=None, synthesizer=None, terminationProtection=None, analyticsReporting=None):\n super().__init__(scope, id, userBucket=userBucket, description=description, env=env, stackName=stackName, tags=tags, synthesizer=synthesizer, terminationProtection=terminationProtection, analyticsReporting=analyticsReporting)\n\n user = iam.User(self, \"MyUser\")\n user_bucket.grant_read_write(user)\n\nproducer = Producer(app, \"ProducerStack\")\nConsumer(app, \"ConsumerStack\", user_bucket=producer.my_bucket)","version":"2"},"csharp":{"source":"/**\n * Stack that defines the bucket\n */\nclass Producer : Stack\n{\n public Bucket MyBucket { get; }\n\n public Producer(App scope, string id, StackProps? props=null) : base(scope, id, props)\n {\n\n var bucket = new Bucket(this, \"MyBucket\", new BucketProps {\n RemovalPolicy = RemovalPolicy.DESTROY\n });\n MyBucket = bucket;\n }\n}\n\nclass ConsumerProps : StackProps\n{\n public IBucket UserBucket { get; set; }\n}\n\n/**\n * Stack that consumes the bucket\n */\nclass Consumer : Stack\n{\n public Consumer(App scope, string id, ConsumerProps props) : base(scope, id, props)\n {\n\n var user = new User(this, \"MyUser\");\n props.UserBucket.GrantReadWrite(user);\n }\n}\n\nvar producer = new Producer(app, \"ProducerStack\");\nnew Consumer(app, \"ConsumerStack\", new ConsumerProps { UserBucket = producer.MyBucket });","version":"1"},"java":{"source":"/**\n * Stack that defines the bucket\n */\npublic class Producer extends Stack {\n public final Bucket myBucket;\n\n public Producer(App scope, String id) {\n this(scope, id, null);\n }\n\n public Producer(App scope, String id, StackProps props) {\n super(scope, id, props);\n\n Bucket bucket = Bucket.Builder.create(this, \"MyBucket\")\n .removalPolicy(RemovalPolicy.DESTROY)\n .build();\n this.myBucket = bucket;\n }\n}\n\npublic class ConsumerProps extends StackProps {\n private IBucket userBucket;\n public IBucket getUserBucket() {\n return this.userBucket;\n }\n public ConsumerProps userBucket(IBucket userBucket) {\n this.userBucket = userBucket;\n return this;\n }\n}\n\n/**\n * Stack that consumes the bucket\n */\npublic class Consumer extends Stack {\n public Consumer(App scope, String id, ConsumerProps props) {\n super(scope, id, props);\n\n User user = new User(this, \"MyUser\");\n props.userBucket.grantReadWrite(user);\n }\n}\n\nProducer producer = new Producer(app, \"ProducerStack\");\nnew Consumer(app, \"ConsumerStack\", new ConsumerProps().userBucket(producer.getMyBucket()));","version":"1"},"go":{"source":"/**\n * Stack that defines the bucket\n */\ntype producer struct {\n\tstack\n\tmyBucket bucket\n}\n\nfunc newProducer(scope app, id *string, props stackProps) *producer {\n\tthis := &producer{}\n\tcdk.NewStack_Override(this, scope, id, props)\n\n\tbucket := s3.NewBucket(this, jsii.String(\"MyBucket\"), &BucketProps{\n\t\tRemovalPolicy: cdk.RemovalPolicy_DESTROY,\n\t})\n\tthis.myBucket = bucket\n\treturn this\n}\n\ntype consumerProps struct {\n\tstackProps\n\tuserBucket iBucket\n}\n\n/**\n * Stack that consumes the bucket\n */\ntype consumer struct {\n\tstack\n}\n\nfunc newConsumer(scope app, id *string, props consumerProps) *consumer {\n\tthis := &consumer{}\n\tcdk.NewStack_Override(this, scope, id, props)\n\n\tuser := iam.NewUser(this, jsii.String(\"MyUser\"))\n\t*props.userBucket.GrantReadWrite(user)\n\treturn this\n}\n\nproducer := NewProducer(app, jsii.String(\"ProducerStack\"))\nNewConsumer(app, jsii.String(\"ConsumerStack\"), &consumerProps{\n\tuserBucket: producer.myBucket,\n})","version":"1"},"$":{"source":"\n/**\n * Stack that defines the bucket\n */\nclass Producer extends cdk.Stack {\n public readonly myBucket: s3.Bucket;\n\n constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {\n super(scope, id, props);\n\n const bucket = new s3.Bucket(this, 'MyBucket', {\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n });\n this.myBucket = bucket;\n }\n}\n\ninterface ConsumerProps extends cdk.StackProps {\n userBucket: s3.IBucket;\n}\n\n/**\n * Stack that consumes the bucket\n */\nclass Consumer extends cdk.Stack {\n constructor(scope: cdk.App, id: string, props: ConsumerProps) {\n super(scope, id, props);\n\n const user = new iam.User(this, 'MyUser');\n props.userBucket.grantReadWrite(user);\n }\n}\n\nconst producer = new Producer(app, 'ProducerStack');\nnew Consumer(app, 'ConsumerStack', { userBucket: producer.myBucket });","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":174}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-iam.IGrantable","@aws-cdk/aws-iam.User","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.BucketProps","@aws-cdk/aws-s3.IBucket","@aws-cdk/aws-s3.IBucket#grantReadWrite","@aws-cdk/core.App","@aws-cdk/core.RemovalPolicy","@aws-cdk/core.RemovalPolicy#DESTROY","@aws-cdk/core.Stack","@aws-cdk/core.StackProps","constructs.Construct"],"fullSource":"/// !cdk-integ *\nimport * as iam from '@aws-cdk/aws-iam';\nimport * as cdk from '@aws-cdk/core';\nimport * as s3 from '../lib';\n\nconst app = new cdk.App();\n\n/// !show\n\n/**\n * Stack that defines the bucket\n */\nclass Producer extends cdk.Stack {\n public readonly myBucket: s3.Bucket;\n\n constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {\n super(scope, id, props);\n\n const bucket = new s3.Bucket(this, 'MyBucket', {\n removalPolicy: cdk.RemovalPolicy.DESTROY,\n });\n this.myBucket = bucket;\n }\n}\n\ninterface ConsumerProps extends cdk.StackProps {\n userBucket: s3.IBucket;\n}\n\n/**\n * Stack that consumes the bucket\n */\nclass Consumer extends cdk.Stack {\n constructor(scope: cdk.App, id: string, props: ConsumerProps) {\n super(scope, id, props);\n\n const user = new iam.User(this, 'MyUser');\n props.userBucket.grantReadWrite(user);\n }\n}\n\nconst producer = new Producer(app, 'ProducerStack');\nnew Consumer(app, 'ConsumerStack', { userBucket: producer.myBucket });\n/// !hide\n\napp.synth();\n","syntaxKindCounter":{"10":4,"57":1,"62":1,"75":58,"102":2,"104":3,"119":1,"138":1,"143":2,"153":5,"156":6,"158":1,"159":1,"162":2,"169":6,"193":2,"194":11,"196":3,"197":4,"209":1,"216":3,"223":2,"225":3,"226":5,"242":3,"243":3,"245":2,"246":1,"279":3,"281":2},"fqnsFingerprint":"b6fe4baa819b9c58b0a6d4bf01eb6ab1eeb4c6b445e9ba8e81dc7eeba5310c80"},"ce59949be8a853213175c4947526bbd616ea7ee936cc66dbe439bec1c2f8b3cc":{"translations":{"python":{"source":"# my_lambda: lambda.Function\n\nbucket = s3.Bucket.from_bucket_attributes(self, \"ImportedBucket\",\n bucket_arn=\"arn:aws:s3:::my-bucket\"\n)\n\n# now you can just call methods on the bucket\nbucket.add_event_notification(s3.EventType.OBJECT_CREATED, s3n.LambdaDestination(my_lambda), prefix=\"home/myusername/*\")","version":"2"},"csharp":{"source":"Function myLambda;\n\nvar bucket = Bucket.FromBucketAttributes(this, \"ImportedBucket\", new BucketAttributes {\n BucketArn = \"arn:aws:s3:::my-bucket\"\n});\n\n// now you can just call methods on the bucket\nbucket.AddEventNotification(EventType.OBJECT_CREATED, new LambdaDestination(myLambda), new NotificationKeyFilter { Prefix = \"home/myusername/*\" });","version":"1"},"java":{"source":"Function myLambda;\n\nIBucket bucket = Bucket.fromBucketAttributes(this, \"ImportedBucket\", BucketAttributes.builder()\n .bucketArn(\"arn:aws:s3:::my-bucket\")\n .build());\n\n// now you can just call methods on the bucket\nbucket.addEventNotification(EventType.OBJECT_CREATED, new LambdaDestination(myLambda), NotificationKeyFilter.builder().prefix(\"home/myusername/*\").build());","version":"1"},"go":{"source":"var myLambda function\n\nbucket := s3.Bucket_FromBucketAttributes(this, jsii.String(\"ImportedBucket\"), &BucketAttributes{\n\tBucketArn: jsii.String(\"arn:aws:s3:::my-bucket\"),\n})\n\n// now you can just call methods on the bucket\nbucket.AddEventNotification(s3.EventType_OBJECT_CREATED, s3n.NewLambdaDestination(myLambda), &NotificationKeyFilter{\n\tPrefix: jsii.String(\"home/myusername/*\"),\n})","version":"1"},"$":{"source":"declare const myLambda: lambda.Function;\nconst bucket = s3.Bucket.fromBucketAttributes(this, 'ImportedBucket', {\n bucketArn: 'arn:aws:s3:::my-bucket',\n});\n\n// now you can just call methods on the bucket\nbucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.LambdaDestination(myLambda), {prefix: 'home/myusername/*'});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":218}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-lambda.IFunction","@aws-cdk/aws-s3-notifications.LambdaDestination","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.Bucket#fromBucketAttributes","@aws-cdk/aws-s3.BucketAttributes","@aws-cdk/aws-s3.EventType","@aws-cdk/aws-s3.EventType#OBJECT_CREATED","@aws-cdk/aws-s3.IBucket","@aws-cdk/aws-s3.IBucket#addEventNotification","@aws-cdk/aws-s3.IBucketNotificationDestination","@aws-cdk/aws-s3.NotificationKeyFilter","constructs.Construct"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const myLambda: lambda.Function;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\n\nconst bucket = s3.Bucket.fromBucketAttributes(this, 'ImportedBucket', {\n bucketArn: 'arn:aws:s3:::my-bucket',\n});\n\n// now you can just call methods on the bucket\nbucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.LambdaDestination(myLambda), {prefix: 'home/myusername/*'});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":3,"75":17,"104":1,"130":1,"153":1,"169":1,"193":2,"194":6,"196":2,"197":1,"225":2,"226":1,"242":2,"243":2,"281":2,"290":1},"fqnsFingerprint":"2b8f572b76d3c1afad0d65565be5a783a2532fa189fcebf0d61dbc0d550e176b"},"afb098aad002cde97de71399e05dce09ac709d431b9171aabb5f8cdf85f591b4":{"translations":{"python":{"source":"by_name = s3.Bucket.from_bucket_name(self, \"BucketByName\", \"my-bucket\")\nby_arn = s3.Bucket.from_bucket_arn(self, \"BucketByArn\", \"arn:aws:s3:::my-bucket\")","version":"2"},"csharp":{"source":"var byName = Bucket.FromBucketName(this, \"BucketByName\", \"my-bucket\");\nvar byArn = Bucket.FromBucketArn(this, \"BucketByArn\", \"arn:aws:s3:::my-bucket\");","version":"1"},"java":{"source":"IBucket byName = Bucket.fromBucketName(this, \"BucketByName\", \"my-bucket\");\nIBucket byArn = Bucket.fromBucketArn(this, \"BucketByArn\", \"arn:aws:s3:::my-bucket\");","version":"1"},"go":{"source":"byName := s3.Bucket_FromBucketName(this, jsii.String(\"BucketByName\"), jsii.String(\"my-bucket\"))\nbyArn := s3.Bucket_FromBucketArn(this, jsii.String(\"BucketByArn\"), jsii.String(\"arn:aws:s3:::my-bucket\"))","version":"1"},"$":{"source":"const byName = s3.Bucket.fromBucketName(this, 'BucketByName', 'my-bucket');\nconst byArn = s3.Bucket.fromBucketArn(this, 'BucketByArn', 'arn:aws:s3:::my-bucket');","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":232}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.Bucket#fromBucketArn","@aws-cdk/aws-s3.Bucket#fromBucketName","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst byName = s3.Bucket.fromBucketName(this, 'BucketByName', 'my-bucket');\nconst byArn = s3.Bucket.fromBucketArn(this, 'BucketByArn', 'arn:aws:s3:::my-bucket');\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":4,"75":8,"104":2,"194":4,"196":2,"225":2,"242":2,"243":2},"fqnsFingerprint":"65fe5ad703e87eea08cbebd1ca23f1ecba9e994f4e8b309b8d9324bb173ea5f8"},"a8c28d6c79f0c84ab82a231f0a19c69ab7860e861d9494770bf457ece86fa242":{"translations":{"python":{"source":"my_cross_region_bucket = s3.Bucket.from_bucket_attributes(self, \"CrossRegionImport\",\n bucket_arn=\"arn:aws:s3:::my-bucket\",\n region=\"us-east-1\"\n)","version":"2"},"csharp":{"source":"var myCrossRegionBucket = Bucket.FromBucketAttributes(this, \"CrossRegionImport\", new BucketAttributes {\n BucketArn = \"arn:aws:s3:::my-bucket\",\n Region = \"us-east-1\"\n});","version":"1"},"java":{"source":"IBucket myCrossRegionBucket = Bucket.fromBucketAttributes(this, \"CrossRegionImport\", BucketAttributes.builder()\n .bucketArn(\"arn:aws:s3:::my-bucket\")\n .region(\"us-east-1\")\n .build());","version":"1"},"go":{"source":"myCrossRegionBucket := s3.Bucket_FromBucketAttributes(this, jsii.String(\"CrossRegionImport\"), &BucketAttributes{\n\tBucketArn: jsii.String(\"arn:aws:s3:::my-bucket\"),\n\tRegion: jsii.String(\"us-east-1\"),\n})","version":"1"},"$":{"source":"const myCrossRegionBucket = s3.Bucket.fromBucketAttributes(this, 'CrossRegionImport', {\n bucketArn: 'arn:aws:s3:::my-bucket',\n region: 'us-east-1',\n});\n// myCrossRegionBucket.bucketRegionalDomainName === 'my-bucket.s3.us-east-1.amazonaws.com'","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":240}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.Bucket#fromBucketAttributes","@aws-cdk/aws-s3.BucketAttributes","@aws-cdk/aws-s3.IBucket","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst myCrossRegionBucket = s3.Bucket.fromBucketAttributes(this, 'CrossRegionImport', {\n bucketArn: 'arn:aws:s3:::my-bucket',\n region: 'us-east-1',\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":3,"75":6,"104":1,"193":1,"194":2,"196":1,"225":1,"242":1,"243":1,"281":2},"fqnsFingerprint":"8d85ce69b9c3d46db80a8a7aa0d4a35a5f3e2f738af306daf55f717e039a78ba"},"31a9b854c09d6af88c651a6032d4b25e3828b8c3d6b9bba98609527de67dbdd1":{"translations":{"python":{"source":"bucket = s3.Bucket(self, \"MyBucket\")\ntopic = sns.Topic(self, \"MyTopic\")\nbucket.add_event_notification(s3.EventType.OBJECT_CREATED, s3n.SnsDestination(topic))","version":"2"},"csharp":{"source":"var bucket = new Bucket(this, \"MyBucket\");\nvar topic = new Topic(this, \"MyTopic\");\nbucket.AddEventNotification(EventType.OBJECT_CREATED, new SnsDestination(topic));","version":"1"},"java":{"source":"Bucket bucket = new Bucket(this, \"MyBucket\");\nTopic topic = new Topic(this, \"MyTopic\");\nbucket.addEventNotification(EventType.OBJECT_CREATED, new SnsDestination(topic));","version":"1"},"go":{"source":"bucket := s3.NewBucket(this, jsii.String(\"MyBucket\"))\ntopic := sns.NewTopic(this, jsii.String(\"MyTopic\"))\nbucket.AddEventNotification(s3.EventType_OBJECT_CREATED, s3n.NewSnsDestination(topic))","version":"1"},"$":{"source":"const bucket = new s3.Bucket(this, 'MyBucket');\nconst topic = new sns.Topic(this, 'MyTopic');\nbucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.SnsDestination(topic));","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@aws-cdk/aws-s3"},"field":{"field":"markdown","line":260}},"didCompile":true,"fqnsReferenced":["@aws-cdk/aws-s3-notifications.SnsDestination","@aws-cdk/aws-s3.Bucket","@aws-cdk/aws-s3.BucketBase#addEventNotification","@aws-cdk/aws-s3.EventType","@aws-cdk/aws-s3.EventType#OBJECT_CREATED","@aws-cdk/aws-s3.IBucketNotificationDestination","@aws-cdk/aws-sns.ITopic","@aws-cdk/aws-sns.Topic","constructs.Construct"],"fullSource":"// Fixture with packages imported, but nothing else\nimport cdk = require('@aws-cdk/core');\nimport s3 = require('@aws-cdk/aws-s3');\nimport kms = require('@aws-cdk/aws-kms');\nimport iam = require('@aws-cdk/aws-iam');\nimport lambda = require('@aws-cdk/aws-lambda');\nimport s3n = require('@aws-cdk/aws-s3-notifications');\nimport sns = require('@aws-cdk/aws-sns');\nimport sqs = require('@aws-cdk/aws-sqs');\nimport assert = require('assert');\n\nclass Fixture extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string) {\n super(scope, id);\n\n // Code snippet begins after !show marker below\n/// !show\nconst bucket = new s3.Bucket(this, 'MyBucket');\nconst topic = new sns.Topic(this, 'MyTopic');\nbucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.SnsDestination(topic));\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}\n","syntaxKindCounter":{"10":2,"75":14,"104":2,"194":6,"196":1,"197":3,"225":2,"226":1,"242":2,"243":2},"fqnsFingerprint":"1afb30d8ca60ce09ae0c4ba99afb9c700ac918b516b4ab3ecfdb7dd667ca1790"},"1684710021bfdb58c0d08fbc7fad26b925a70105d6825e6bb2e1dfadb021a2df":{"translations":{"python":{"source":"# my_queue: sqs.Queue\n\nbucket = s3.Bucket(self, \"MyBucket\")\nbucket.add_event_notification(s3.EventType.OBJECT_REMOVED,\n s3n.SqsDestination(my_queue), prefix=\"foo/\", suffix=\".jpg\")","version":"2"},"csharp":{"source":"Queue myQueue;\n\nvar bucket = new Bucket(this, \"MyBucket\");\nbucket.AddEventNotification(EventType.OBJECT_REMOVED,\nnew SqsDestination(myQueue), new NotificationKeyFilter { Prefix = \"foo/\", Suffix = \".jpg\" });","version":"1"},"java":{"source":"Queue myQueue;\n\nBucket bucket = new Bucket(this, \"MyBucket\");\nbucket.addEventNotification(EventType.OBJECT_REMOVED,\nnew SqsDestination(myQueue), NotificationKeyFilter.builder().prefix(\"foo/\").suffix(\".jpg\").build());","version":"1"},"go":{"source":"var myQueue queue\n\nbucket := s3.NewBucket(this, jsii.String(\"MyBucket\"))\nbucket.AddEventNotification(s3.EventType_OBJECT_REMOVED,\ns3n.NewSqsDestination(myQueue), &NotificationKeyFilter{\n\tPrefix: jsii.String(\"foo/\"),\n\tSuffix: jsii.String(\".jpg\"),\n})","version":"1"},"$":{"source":"declare const my