@aws-cdk/aws-s3
Advanced tools
Comparing version 1.42.1 to 1.43.0
import { PolicyDocument } from '@aws-cdk/aws-iam'; | ||
import { Construct, Resource } from '@aws-cdk/core'; | ||
import { Construct, RemovalPolicy, Resource } from '@aws-cdk/core'; | ||
import { IBucket } from './bucket'; | ||
@@ -9,2 +9,8 @@ export interface BucketPolicyProps { | ||
readonly bucket: IBucket; | ||
/** | ||
* Policy to apply when the policy is removed from this stack. | ||
* | ||
* @default - RemovalPolicy.DESTROY. | ||
*/ | ||
readonly removalPolicy?: RemovalPolicy; | ||
} | ||
@@ -21,3 +27,9 @@ /** | ||
readonly document: PolicyDocument; | ||
private resource; | ||
constructor(scope: Construct, id: string, props: BucketPolicyProps); | ||
/** | ||
* Sets the removal policy for the BucketPolicy. | ||
* @param removalPolicy the RemovalPolicy to set. | ||
*/ | ||
applyRemovalPolicy(removalPolicy: RemovalPolicy): void; | ||
} |
@@ -21,9 +21,19 @@ "use strict"; | ||
} | ||
new s3_generated_1.CfnBucketPolicy(this, 'Resource', { | ||
this.resource = new s3_generated_1.CfnBucketPolicy(this, 'Resource', { | ||
bucket: props.bucket.bucketName, | ||
policyDocument: this.document, | ||
}); | ||
if (props.removalPolicy) { | ||
this.resource.applyRemovalPolicy(props.removalPolicy); | ||
} | ||
} | ||
/** | ||
* Sets the removal policy for the BucketPolicy. | ||
* @param removalPolicy the RemovalPolicy to set. | ||
*/ | ||
applyRemovalPolicy(removalPolicy) { | ||
this.resource.applyRemovalPolicy(removalPolicy); | ||
} | ||
} | ||
exports.BucketPolicy = BucketPolicy; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJ1Y2tldC1wb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4Q0FBa0Q7QUFDbEQsd0NBQW9EO0FBRXBELGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLGVBQVE7SUFTeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBUm5COzs7O1dBSUc7UUFDYSxhQUFRLEdBQUcsSUFBSSx3QkFBYyxFQUFFLENBQUM7UUFLOUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztTQUM5RDtRQUVELElBQUksOEJBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3BDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVU7WUFDL0IsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXJCRCxvQ0FxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb2xpY3lEb2N1bWVudCB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBSZXNvdXJjZSB9IGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJy4vYnVja2V0JztcbmltcG9ydCB7IENmbkJ1Y2tldFBvbGljeSB9IGZyb20gJy4vczMuZ2VuZXJhdGVkJztcblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRQb2xpY3lQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFMzIGJ1Y2tldCB0aGF0IHRoZSBwb2xpY3kgYXBwbGllcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldDtcbn1cblxuLyoqXG4gKiBBcHBsaWVzIGFuIEFtYXpvbiBTMyBidWNrZXQgcG9saWN5IHRvIGFuIEFtYXpvbiBTMyBidWNrZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWNrZXRQb2xpY3kgZXh0ZW5kcyBSZXNvdXJjZSB7XG5cbiAgLyoqXG4gICAqIEEgcG9saWN5IGRvY3VtZW50IGNvbnRhaW5pbmcgcGVybWlzc2lvbnMgdG8gYWRkIHRvIHRoZSBzcGVjaWZpZWQgYnVja2V0LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIEFjY2VzcyBQb2xpY3kgTGFuZ3VhZ2UgT3ZlcnZpZXcgaW4gdGhlIEFtYXpvblxuICAgKiBTaW1wbGUgU3RvcmFnZSBTZXJ2aWNlIERldmVsb3BlciBHdWlkZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudCA9IG5ldyBQb2xpY3lEb2N1bWVudCgpO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWNrZXRQb2xpY3lQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIXByb3BzLmJ1Y2tldC5idWNrZXROYW1lKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0J1Y2tldCBkb2VzblxcJ3QgaGF2ZSBhIGJ1Y2tldE5hbWUgZGVmaW5lZCcpO1xuICAgIH1cblxuICAgIG5ldyBDZm5CdWNrZXRQb2xpY3kodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgYnVja2V0OiBwcm9wcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIHBvbGljeURvY3VtZW50OiB0aGlzLmRvY3VtZW50LFxuICAgIH0pO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJ1Y2tldC1wb2xpY3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw4Q0FBa0Q7QUFDbEQsd0NBQW1FO0FBRW5FLGlEQUFpRDtBQWdCakQ7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxlQUFRO0lBV3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQVZuQjs7OztXQUlHO1FBQ2EsYUFBUSxHQUFHLElBQUksd0JBQWMsRUFBRSxDQUFDO1FBTzlDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7U0FDOUQ7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksOEJBQWUsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3BELE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVU7WUFDL0IsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzlCLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxrQkFBa0IsQ0FBQyxhQUE0QjtRQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Q0FFRjtBQXBDRCxvQ0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb2xpY3lEb2N1bWVudCB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1pYW0nO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBSZW1vdmFsUG9saWN5LCBSZXNvdXJjZSB9IGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJy4vYnVja2V0JztcbmltcG9ydCB7IENmbkJ1Y2tldFBvbGljeSB9IGZyb20gJy4vczMuZ2VuZXJhdGVkJztcblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRQb2xpY3lQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFMzIGJ1Y2tldCB0aGF0IHRoZSBwb2xpY3kgYXBwbGllcyB0by5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldDtcblxuICAvKipcbiAgICogUG9saWN5IHRvIGFwcGx5IHdoZW4gdGhlIHBvbGljeSBpcyByZW1vdmVkIGZyb20gdGhpcyBzdGFjay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBSZW1vdmFsUG9saWN5LkRFU1RST1kuXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcbn1cblxuLyoqXG4gKiBBcHBsaWVzIGFuIEFtYXpvbiBTMyBidWNrZXQgcG9saWN5IHRvIGFuIEFtYXpvbiBTMyBidWNrZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBCdWNrZXRQb2xpY3kgZXh0ZW5kcyBSZXNvdXJjZSB7XG5cbiAgLyoqXG4gICAqIEEgcG9saWN5IGRvY3VtZW50IGNvbnRhaW5pbmcgcGVybWlzc2lvbnMgdG8gYWRkIHRvIHRoZSBzcGVjaWZpZWQgYnVja2V0LlxuICAgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIEFjY2VzcyBQb2xpY3kgTGFuZ3VhZ2UgT3ZlcnZpZXcgaW4gdGhlIEFtYXpvblxuICAgKiBTaW1wbGUgU3RvcmFnZSBTZXJ2aWNlIERldmVsb3BlciBHdWlkZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudCA9IG5ldyBQb2xpY3lEb2N1bWVudCgpO1xuXG4gIHByaXZhdGUgcmVzb3VyY2U6IENmbkJ1Y2tldFBvbGljeTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQnVja2V0UG9saWN5UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgaWYgKCFwcm9wcy5idWNrZXQuYnVja2V0TmFtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWNrZXQgZG9lc25cXCd0IGhhdmUgYSBidWNrZXROYW1lIGRlZmluZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IENmbkJ1Y2tldFBvbGljeSh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBidWNrZXQ6IHByb3BzLmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgcG9saWN5RG9jdW1lbnQ6IHRoaXMuZG9jdW1lbnQsXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMucmVtb3ZhbFBvbGljeSkge1xuICAgICAgdGhpcy5yZXNvdXJjZS5hcHBseVJlbW92YWxQb2xpY3kocHJvcHMucmVtb3ZhbFBvbGljeSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHJlbW92YWwgcG9saWN5IGZvciB0aGUgQnVja2V0UG9saWN5LlxuICAgKiBAcGFyYW0gcmVtb3ZhbFBvbGljeSB0aGUgUmVtb3ZhbFBvbGljeSB0byBzZXQuXG4gICAqL1xuICBwdWJsaWMgYXBwbHlSZW1vdmFsUG9saWN5KHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kpIHtcbiAgICB0aGlzLnJlc291cmNlLmFwcGx5UmVtb3ZhbFBvbGljeShyZW1vdmFsUG9saWN5KTtcbiAgfVxuXG59XG4iXX0= |
{ | ||
"name": "@aws-cdk/aws-s3", | ||
"version": "1.42.1", | ||
"version": "1.43.0", | ||
"description": "CDK Constructs for AWS S3", | ||
@@ -65,15 +65,15 @@ "main": "lib/index.js", | ||
"devDependencies": { | ||
"@aws-cdk/assert": "1.42.1", | ||
"@aws-cdk/assert": "1.43.0", | ||
"@types/nodeunit": "^0.0.31", | ||
"cdk-build-tools": "1.42.1", | ||
"cdk-integ-tools": "1.42.1", | ||
"cfn2ts": "1.42.1", | ||
"cdk-build-tools": "1.43.0", | ||
"cdk-integ-tools": "1.43.0", | ||
"cfn2ts": "1.43.0", | ||
"nodeunit": "^0.11.3", | ||
"pkglint": "1.42.1" | ||
"pkglint": "1.43.0" | ||
}, | ||
"dependencies": { | ||
"@aws-cdk/aws-events": "1.42.1", | ||
"@aws-cdk/aws-iam": "1.42.1", | ||
"@aws-cdk/aws-kms": "1.42.1", | ||
"@aws-cdk/core": "1.42.1", | ||
"@aws-cdk/aws-events": "1.43.0", | ||
"@aws-cdk/aws-iam": "1.43.0", | ||
"@aws-cdk/aws-kms": "1.43.0", | ||
"@aws-cdk/core": "1.43.0", | ||
"constructs": "^3.0.2" | ||
@@ -83,6 +83,6 @@ }, | ||
"peerDependencies": { | ||
"@aws-cdk/aws-events": "1.42.1", | ||
"@aws-cdk/aws-iam": "1.42.1", | ||
"@aws-cdk/aws-kms": "1.42.1", | ||
"@aws-cdk/core": "1.42.1", | ||
"@aws-cdk/aws-events": "1.43.0", | ||
"@aws-cdk/aws-iam": "1.43.0", | ||
"@aws-cdk/aws-kms": "1.43.0", | ||
"@aws-cdk/core": "1.43.0", | ||
"constructs": "^3.0.2" | ||
@@ -89,0 +89,0 @@ }, |
@@ -87,2 +87,9 @@ ## Amazon S3 Construct Library | ||
The bucket policy can be directly accessed after creation to add statements or | ||
adjust the removal policy. | ||
```ts | ||
bucket.policy?.applyRemovalPolicy(RemovalPolicy.RETAIN); | ||
``` | ||
Most of the time, you won't have to manipulate the bucket policy directly. | ||
@@ -89,0 +96,0 @@ Instead, buckets have "grant" methods called to give prepackaged sets of permissions |
Sorry, the diff of this file is not supported yet
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
1552357
66
10174
267
+ Added@aws-cdk/aws-events@1.43.0(transitive)
+ Added@aws-cdk/aws-iam@1.43.0(transitive)
+ Added@aws-cdk/aws-kms@1.43.0(transitive)
+ Added@aws-cdk/cdk-assets-schema@1.43.0(transitive)
+ Added@aws-cdk/cloud-assembly-schema@1.43.0(transitive)
+ Added@aws-cdk/core@1.43.0(transitive)
+ Added@aws-cdk/cx-api@1.43.0(transitive)
+ Added@aws-cdk/region-info@1.43.0(transitive)
- Removed@aws-cdk/aws-events@1.42.1(transitive)
- Removed@aws-cdk/aws-iam@1.42.1(transitive)
- Removed@aws-cdk/aws-kms@1.42.1(transitive)
- Removed@aws-cdk/cdk-assets-schema@1.42.1(transitive)
- Removed@aws-cdk/cloud-assembly-schema@1.42.1(transitive)
- Removed@aws-cdk/core@1.42.1(transitive)
- Removed@aws-cdk/cx-api@1.42.1(transitive)
- Removed@aws-cdk/region-info@1.42.1(transitive)
Updated@aws-cdk/aws-events@1.43.0
Updated@aws-cdk/aws-iam@1.43.0
Updated@aws-cdk/aws-kms@1.43.0
Updated@aws-cdk/core@1.43.0