@aws-cdk/aws-s3
Advanced tools
Comparing version 1.127.0 to 1.128.0
@@ -52,3 +52,3 @@ "use strict"; | ||
_a = JSII_RTTI_SYMBOL_1; | ||
BucketPolicy[_a] = { fqn: "@aws-cdk/aws-s3.BucketPolicy", version: "1.127.0" }; | ||
BucketPolicy[_a] = { fqn: "@aws-cdk/aws-s3.BucketPolicy", version: "1.128.0" }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJ1Y2tldC1wb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4Q0FBa0Q7QUFDbEQsd0NBQXdEO0FBR3hELGlEQUFpRDs7Ozs7O0FBV2pELE1BQWEsWUFBYSxTQUFRLGVBQVE7Ozs7SUFPeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzs7Ozs7Ozs7UUFMSCxhQUFRLEdBQUcsSUFBSSx3QkFBYyxFQUFFLENBQUM7UUFPOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztTQUM5RDtRQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSw4QkFBZSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDcEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVTtZQUMvQixjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxLQUFLLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZEO0lBQ0gsQ0FBQzs7Ozs7OztJQUdNLGtCQUFrQixDQUFDLGFBQTRCO1FBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7QUEzQkgsb0NBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9saWN5RG9jdW1lbnQgfSBmcm9tICdAYXdzLWNkay9hd3MtaWFtJztcbmltcG9ydCB7IFJlbW92YWxQb2xpY3ksIFJlc291cmNlIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tICcuL2J1Y2tldCc7XG5pbXBvcnQgeyBDZm5CdWNrZXRQb2xpY3kgfSBmcm9tICcuL3MzLmdlbmVyYXRlZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0UG9saWN5UHJvcHMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEJ1Y2tldFBvbGljeSBleHRlbmRzIFJlc291cmNlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZG9jdW1lbnQgPSBuZXcgUG9saWN5RG9jdW1lbnQoKTtcblxuICBwcml2YXRlIHJlc291cmNlOiBDZm5CdWNrZXRQb2xpY3k7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJ1Y2tldFBvbGljeVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGlmICghcHJvcHMuYnVja2V0LmJ1Y2tldE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQnVja2V0IGRvZXNuXFwndCBoYXZlIGEgYnVja2V0TmFtZSBkZWZpbmVkJyk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBDZm5CdWNrZXRQb2xpY3kodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgYnVja2V0OiBwcm9wcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIHBvbGljeURvY3VtZW50OiB0aGlzLmRvY3VtZW50LFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLnJlbW92YWxQb2xpY3kpIHtcbiAgICAgIHRoaXMucmVzb3VyY2UuYXBwbHlSZW1vdmFsUG9saWN5KHByb3BzLnJlbW92YWxQb2xpY3kpO1xuICAgIH1cbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFwcGx5UmVtb3ZhbFBvbGljeShyZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5KSB7XG4gICAgdGhpcy5yZXNvdXJjZS5hcHBseVJlbW92YWxQb2xpY3kocmVtb3ZhbFBvbGljeSk7XG4gIH1cblxufVxuIl19 |
@@ -25,3 +25,3 @@ "use strict"; | ||
_a = JSII_RTTI_SYMBOL_1; | ||
StorageClass[_a] = { fqn: "@aws-cdk/aws-s3.StorageClass", version: "1.127.0" }; | ||
StorageClass[_a] = { fqn: "@aws-cdk/aws-s3.StorageClass", version: "1.128.0" }; | ||
/** | ||
@@ -28,0 +28,0 @@ * Storage class for data that is accessed less frequently, but requires rapid access when needed. |
{ | ||
"name": "@aws-cdk/aws-s3", | ||
"version": "1.127.0", | ||
"version": "1.128.0", | ||
"description": "The CDK Construct Library for AWS::S3", | ||
@@ -75,8 +75,8 @@ "main": "lib/index.js", | ||
"devDependencies": { | ||
"@aws-cdk/assert-internal": "1.127.0", | ||
"@aws-cdk/cdk-build-tools": "1.127.0", | ||
"@aws-cdk/cdk-integ-tools": "1.127.0", | ||
"@aws-cdk/cfn2ts": "1.127.0", | ||
"@aws-cdk/pkglint": "1.127.0", | ||
"@types/aws-lambda": "^8.10.83", | ||
"@aws-cdk/assert-internal": "1.128.0", | ||
"@aws-cdk/cdk-build-tools": "1.128.0", | ||
"@aws-cdk/cdk-integ-tools": "1.128.0", | ||
"@aws-cdk/cfn2ts": "1.128.0", | ||
"@aws-cdk/pkglint": "1.128.0", | ||
"@types/aws-lambda": "^8.10.84", | ||
"@types/jest": "^26.0.24", | ||
@@ -86,7 +86,7 @@ "jest": "^26.6.3" | ||
"dependencies": { | ||
"@aws-cdk/aws-events": "1.127.0", | ||
"@aws-cdk/aws-iam": "1.127.0", | ||
"@aws-cdk/aws-kms": "1.127.0", | ||
"@aws-cdk/core": "1.127.0", | ||
"@aws-cdk/cx-api": "1.127.0", | ||
"@aws-cdk/aws-events": "1.128.0", | ||
"@aws-cdk/aws-iam": "1.128.0", | ||
"@aws-cdk/aws-kms": "1.128.0", | ||
"@aws-cdk/core": "1.128.0", | ||
"@aws-cdk/cx-api": "1.128.0", | ||
"constructs": "^3.3.69" | ||
@@ -96,7 +96,7 @@ }, | ||
"peerDependencies": { | ||
"@aws-cdk/aws-events": "1.127.0", | ||
"@aws-cdk/aws-iam": "1.127.0", | ||
"@aws-cdk/aws-kms": "1.127.0", | ||
"@aws-cdk/core": "1.127.0", | ||
"@aws-cdk/cx-api": "1.127.0", | ||
"@aws-cdk/aws-events": "1.128.0", | ||
"@aws-cdk/aws-iam": "1.128.0", | ||
"@aws-cdk/aws-kms": "1.128.0", | ||
"@aws-cdk/core": "1.128.0", | ||
"@aws-cdk/cx-api": "1.128.0", | ||
"constructs": "^3.3.69" | ||
@@ -103,0 +103,0 @@ }, |
123
README.md
@@ -17,3 +17,3 @@ # Amazon S3 Construct Library | ||
```ts | ||
new Bucket(this, 'MyFirstBucket'); | ||
const bucket = new s3.Bucket(this, 'MyFirstBucket'); | ||
``` | ||
@@ -47,4 +47,4 @@ | ||
```ts | ||
const bucket = new Bucket(this, 'MyEncryptedBucket', { | ||
encryption: BucketEncryption.KMS | ||
const bucket = new s3.Bucket(this, 'MyEncryptedBucket', { | ||
encryption: s3.BucketEncryption.KMS, | ||
}); | ||
@@ -61,5 +61,5 @@ | ||
const bucket = new Bucket(this, 'MyEncryptedBucket', { | ||
encryption: BucketEncryption.KMS, | ||
encryptionKey: myKmsKey | ||
const bucket = new s3.Bucket(this, 'MyEncryptedBucket', { | ||
encryption: s3.BucketEncryption.KMS, | ||
encryptionKey: myKmsKey, | ||
}); | ||
@@ -73,8 +73,6 @@ | ||
```ts | ||
const bucket = new Bucket(this, 'MyEncryptedBucket', { | ||
encryption: BucketEncryption.KMS, | ||
bucketKeyEnabled: true | ||
const bucket = new s3.Bucket(this, 'MyEncryptedBucket', { | ||
encryption: s3.BucketEncryption.KMS, | ||
bucketKeyEnabled: true, | ||
}); | ||
assert(bucket.bucketKeyEnabled === true); | ||
``` | ||
@@ -85,4 +83,4 @@ | ||
```ts | ||
const bucket = new Bucket(this, 'Buck', { | ||
encryption: BucketEncryption.KMS_MANAGED | ||
const bucket = new s3.Bucket(this, 'Buck', { | ||
encryption: s3.BucketEncryption.KMS_MANAGED, | ||
}); | ||
@@ -99,3 +97,3 @@ | ||
```ts | ||
const bucket = new Bucket(this, 'MyBucket'); | ||
const bucket = new s3.Bucket(this, 'MyBucket'); | ||
const result = bucket.addToResourcePolicy(new iam.PolicyStatement({ | ||
@@ -112,7 +110,9 @@ actions: ['s3:GetObject'], | ||
```ts | ||
const bucket = Bucket.fromBucketName(this, 'existingBucket', 'bucket-name'); | ||
const bucket = s3.Bucket.fromBucketName(this, 'existingBucket', 'bucket-name'); | ||
// Nothing will change here | ||
// No policy statement will be added to the resource | ||
const result = bucket.addToResourcePolicy(new iam.PolicyStatement({ | ||
... | ||
actions: ['s3:GetObject'], | ||
resources: [bucket.arnForObjects('file.txt')], | ||
principals: [new iam.AccountRootPrincipal()], | ||
})); | ||
@@ -126,3 +126,9 @@ ``` | ||
```ts | ||
const result = bucket.addToResourcePolicy(...) | ||
const bucket = new s3.Bucket(this, 'MyBucket'); | ||
const result = bucket.addToResourcePolicy(new iam.PolicyStatement({ | ||
actions: ['s3:GetObject'], | ||
resources: [bucket.arnForObjects('file.txt')], | ||
principals: [new iam.AccountRootPrincipal()], | ||
})); | ||
if (!result.statementAdded) { | ||
@@ -137,3 +143,4 @@ // Uh-oh! Someone probably made a mistake here. | ||
```ts | ||
bucket.policy?.applyRemovalPolicy(RemovalPolicy.RETAIN); | ||
const bucket = new s3.Bucket(this, 'MyBucket'); | ||
bucket.policy?.applyRemovalPolicy(cdk.RemovalPolicy.RETAIN); | ||
``` | ||
@@ -146,6 +153,6 @@ | ||
```ts | ||
const lambda = new lambda.Function(this, 'Lambda', { /* ... */ }); | ||
declare const myLambda: lambda.Function; | ||
const bucket = new Bucket(this, 'MyBucket'); | ||
bucket.grantReadWrite(lambda); | ||
const bucket = new s3.Bucket(this, 'MyBucket'); | ||
bucket.grantReadWrite(myLambda); | ||
``` | ||
@@ -163,4 +170,4 @@ | ||
```ts | ||
const bucket = new Bucket(this, 'Bucket', { | ||
enforceSSL: true | ||
const bucket = new s3.Bucket(this, 'Bucket', { | ||
enforceSSL: true, | ||
}); | ||
@@ -182,8 +189,9 @@ ``` | ||
```ts | ||
const bucket = Bucket.fromBucketAttributes(this, 'ImportedBucket', { | ||
bucketArn: 'arn:aws:s3:::my-bucket' | ||
declare const myLambda: lambda.Function; | ||
const bucket = s3.Bucket.fromBucketAttributes(this, 'ImportedBucket', { | ||
bucketArn: 'arn:aws:s3:::my-bucket', | ||
}); | ||
// now you can just call methods on the bucket | ||
bucket.addEventNotification(EventType.OBJECT_CREATED, ...); | ||
bucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.LambdaDestination(myLambda), {prefix: 'home/myusername/*'}); | ||
``` | ||
@@ -196,4 +204,4 @@ | ||
```ts | ||
const byName = Bucket.fromBucketName(this, 'BucketByName', 'my-bucket'); | ||
const byArn = Bucket.fromBucketArn(this, 'BucketByArn', 'arn:aws:s3:::my-bucket'); | ||
const byName = s3.Bucket.fromBucketName(this, 'BucketByName', 'my-bucket'); | ||
const byArn = s3.Bucket.fromBucketArn(this, 'BucketByArn', 'arn:aws:s3:::my-bucket'); | ||
``` | ||
@@ -205,3 +213,3 @@ | ||
```ts | ||
const myCrossRegionBucket = Bucket.fromBucketAttributes(this, 'CrossRegionImport', { | ||
const myCrossRegionBucket = s3.Bucket.fromBucketAttributes(this, 'CrossRegionImport', { | ||
bucketArn: 'arn:aws:s3:::my-bucket', | ||
@@ -226,4 +234,3 @@ region: 'us-east-1', | ||
```ts | ||
import * as s3n from '@aws-cdk/aws-s3-notifications'; | ||
const bucket = new s3.Bucket(this, 'MyBucket'); | ||
const topic = new sns.Topic(this, 'MyTopic'); | ||
@@ -243,2 +250,4 @@ bucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.SnsDestination(topic)); | ||
```ts | ||
declare const myQueue: sqs.Queue; | ||
const bucket = new s3.Bucket(this, 'MyBucket'); | ||
bucket.addEventNotification(s3.EventType.OBJECT_REMOVED, | ||
@@ -252,4 +261,5 @@ new s3n.SqsDestination(myQueue), | ||
```ts | ||
const bucket = Bucket.fromBucketAttributes(this, 'ImportedBucket', { | ||
bucketArn: 'arn:aws:s3:::my-bucket' | ||
declare const topic: sns.Topic; | ||
const bucket = s3.Bucket.fromBucketAttributes(this, 'ImportedBucket', { | ||
bucketArn: 'arn:aws:s3:::my-bucket', | ||
}); | ||
@@ -269,4 +279,4 @@ bucket.addEventNotification(s3.EventType.OBJECT_CREATED, new s3n.SnsDestination(topic)); | ||
```ts | ||
const bucket = new Bucket(this, 'MyBlockedBucket', { | ||
blockPublicAccess: BlockPublicAccess.BLOCK_ALL | ||
const bucket = new s3.Bucket(this, 'MyBlockedBucket', { | ||
blockPublicAccess: s3.BlockPublicAccess.BLOCK_ALL, | ||
}); | ||
@@ -278,4 +288,4 @@ ``` | ||
```ts | ||
const bucket = new Bucket(this, 'MyBlockedBucket', { | ||
blockPublicAccess: BlockPublicAccess.BLOCK_ACLS | ||
const bucket = new s3.Bucket(this, 'MyBlockedBucket', { | ||
blockPublicAccess: s3.BlockPublicAccess.BLOCK_ACLS, | ||
}); | ||
@@ -287,4 +297,4 @@ ``` | ||
```ts | ||
const bucket = new Bucket(this, 'MyBlockedBucket', { | ||
blockPublicAccess: new BlockPublicAccess({ blockPublicPolicy: true }) | ||
const bucket = new s3.Bucket(this, 'MyBlockedBucket', { | ||
blockPublicAccess: new s3.BlockPublicAccess({ blockPublicPolicy: true }), | ||
}); | ||
@@ -302,5 +312,5 @@ ``` | ||
```ts | ||
const accessLogsBucket = new Bucket(this, 'AccessLogsBucket'); | ||
const accessLogsBucket = new s3.Bucket(this, 'AccessLogsBucket'); | ||
const bucket = new Bucket(this, 'MyBucket', { | ||
const bucket = new s3.Bucket(this, 'MyBucket', { | ||
serverAccessLogsBucket: accessLogsBucket, | ||
@@ -313,5 +323,7 @@ }); | ||
```ts | ||
const bucket = new Bucket(this, 'MyBucket', { | ||
const accessLogsBucket = new s3.Bucket(this, 'AccessLogsBucket'); | ||
const bucket = new s3.Bucket(this, 'MyBucket', { | ||
serverAccessLogsBucket: accessLogsBucket, | ||
serverAccessLogsPrefix: 'logs' | ||
serverAccessLogsPrefix: 'logs', | ||
}); | ||
@@ -347,4 +359,4 @@ ``` | ||
}, | ||
} | ||
] | ||
}, | ||
], | ||
}); | ||
@@ -382,4 +394,4 @@ ``` | ||
```ts | ||
const bucket = new Bucket(this, 'MyRedirectedBucket', { | ||
websiteRedirect: { hostName: 'www.example.com' } | ||
const bucket = new s3.Bucket(this, 'MyRedirectedBucket', { | ||
websiteRedirect: { hostName: 'www.example.com' }, | ||
}); | ||
@@ -393,13 +405,13 @@ ``` | ||
```ts | ||
const bucket = new Bucket(this, 'MyRedirectedBucket', { | ||
const bucket = new s3.Bucket(this, 'MyRedirectedBucket', { | ||
websiteRoutingRules: [{ | ||
hostName: 'www.example.com', | ||
httpRedirectCode: '302', | ||
protocol: RedirectProtocol.HTTPS, | ||
replaceKey: ReplaceKey.prefixWith('test/'), | ||
protocol: s3.RedirectProtocol.HTTPS, | ||
replaceKey: s3.ReplaceKey.prefixWith('test/'), | ||
condition: { | ||
httpErrorCodeReturnedEquals: '200', | ||
keyPrefixEquals: 'prefix', | ||
} | ||
}] | ||
}, | ||
}], | ||
}); | ||
@@ -425,2 +437,3 @@ ``` | ||
```ts | ||
const bucket = new s3.Bucket(this, 'MyBucket'); | ||
bucket.urlForObject('objectname'); // Path-Style URL | ||
@@ -469,4 +482,4 @@ bucket.virtualHostedUrlForObject('objectname'); // Virtual Hosted-Style URL | ||
```ts | ||
const bucket = new Bucket(this, 'MyTempFileBucket', { | ||
removalPolicy: RemovalPolicy.DESTROY, | ||
const bucket = new s3.Bucket(this, 'MyTempFileBucket', { | ||
removalPolicy: cdk.RemovalPolicy.DESTROY, | ||
autoDeleteObjects: true, | ||
@@ -473,0 +486,0 @@ }); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1996935
36
12317
466
+ Added@aws-cdk/aws-events@1.128.0(transitive)
+ Added@aws-cdk/aws-iam@1.128.0(transitive)
+ Added@aws-cdk/aws-kms@1.128.0(transitive)
+ Added@aws-cdk/cloud-assembly-schema@1.128.0(transitive)
+ Added@aws-cdk/core@1.128.0(transitive)
+ Added@aws-cdk/cx-api@1.128.0(transitive)
+ Added@aws-cdk/region-info@1.128.0(transitive)
- Removed@aws-cdk/aws-events@1.127.0(transitive)
- Removed@aws-cdk/aws-iam@1.127.0(transitive)
- Removed@aws-cdk/aws-kms@1.127.0(transitive)
- Removed@aws-cdk/cloud-assembly-schema@1.127.0(transitive)
- Removed@aws-cdk/core@1.127.0(transitive)
- Removed@aws-cdk/cx-api@1.127.0(transitive)
- Removed@aws-cdk/region-info@1.127.0(transitive)
Updated@aws-cdk/aws-events@1.128.0
Updated@aws-cdk/aws-iam@1.128.0
Updated@aws-cdk/aws-kms@1.128.0
Updated@aws-cdk/core@1.128.0
Updated@aws-cdk/cx-api@1.128.0