@gradientedge/cdk-utils 4.0.14 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +37 -9
- package/dist/src/lib/common/commonConstruct.d.ts +5 -5
- package/dist/src/lib/common/commonConstruct.js +5 -5
- package/dist/src/lib/common/commonStack.d.ts +2 -1
- package/dist/src/lib/common/commonStack.d.ts.map +1 -1
- package/dist/src/lib/common/commonStack.js +2 -1
- package/dist/src/lib/common/commonStack.js.map +1 -1
- package/dist/src/lib/construct/graphQLApiLambda.d.ts +1 -0
- package/dist/src/lib/construct/graphQLApiLambda.d.ts.map +1 -1
- package/dist/src/lib/construct/graphQLApiLambda.js +1 -0
- package/dist/src/lib/construct/graphQLApiLambda.js.map +1 -1
- package/dist/src/lib/construct/siteWithEcsBackend.d.ts +13 -0
- package/dist/src/lib/construct/siteWithEcsBackend.d.ts.map +1 -1
- package/dist/src/lib/construct/siteWithEcsBackend.js +29 -1
- package/dist/src/lib/construct/siteWithEcsBackend.js.map +1 -1
- package/dist/src/lib/construct/staticSite.d.ts +13 -0
- package/dist/src/lib/construct/staticSite.d.ts.map +1 -1
- package/dist/src/lib/construct/staticSite.js +30 -1
- package/dist/src/lib/construct/staticSite.js.map +1 -1
- package/dist/src/lib/manager/acmManager.d.ts +2 -1
- package/dist/src/lib/manager/acmManager.d.ts.map +1 -1
- package/dist/src/lib/manager/acmManager.js +2 -1
- package/dist/src/lib/manager/acmManager.js.map +1 -1
- package/dist/src/lib/manager/apiManager.d.ts +2 -1
- package/dist/src/lib/manager/apiManager.d.ts.map +1 -1
- package/dist/src/lib/manager/apiManager.js +2 -1
- package/dist/src/lib/manager/apiManager.js.map +1 -1
- package/dist/src/lib/manager/appConfigManager.d.ts +2 -1
- package/dist/src/lib/manager/appConfigManager.d.ts.map +1 -1
- package/dist/src/lib/manager/appConfigManager.js +2 -1
- package/dist/src/lib/manager/appConfigManager.js.map +1 -1
- package/dist/src/lib/manager/cloudFrontManager.d.ts +15 -4
- package/dist/src/lib/manager/cloudFrontManager.d.ts.map +1 -1
- package/dist/src/lib/manager/cloudFrontManager.js +27 -3
- package/dist/src/lib/manager/cloudFrontManager.js.map +1 -1
- package/dist/src/lib/manager/cloudTrailManager.d.ts +2 -1
- package/dist/src/lib/manager/cloudTrailManager.d.ts.map +1 -1
- package/dist/src/lib/manager/cloudTrailManager.js +2 -1
- package/dist/src/lib/manager/cloudTrailManager.js.map +1 -1
- package/dist/src/lib/manager/cloudWatchManager.d.ts +2 -1
- package/dist/src/lib/manager/cloudWatchManager.d.ts.map +1 -1
- package/dist/src/lib/manager/cloudWatchManager.js +2 -1
- package/dist/src/lib/manager/cloudWatchManager.js.map +1 -1
- package/dist/src/lib/manager/codeBuildManager.d.ts +16 -0
- package/dist/src/lib/manager/codeBuildManager.d.ts.map +1 -1
- package/dist/src/lib/manager/codeBuildManager.js +16 -0
- package/dist/src/lib/manager/codeBuildManager.js.map +1 -1
- package/dist/src/lib/manager/ecrManager.d.ts +2 -1
- package/dist/src/lib/manager/ecrManager.d.ts.map +1 -1
- package/dist/src/lib/manager/ecrManager.js +2 -1
- package/dist/src/lib/manager/ecrManager.js.map +1 -1
- package/dist/src/lib/manager/ecsManager.d.ts +2 -1
- package/dist/src/lib/manager/ecsManager.d.ts.map +1 -1
- package/dist/src/lib/manager/ecsManager.js +2 -1
- package/dist/src/lib/manager/ecsManager.js.map +1 -1
- package/dist/src/lib/manager/eksManager.d.ts +2 -1
- package/dist/src/lib/manager/eksManager.d.ts.map +1 -1
- package/dist/src/lib/manager/eksManager.js +2 -1
- package/dist/src/lib/manager/eksManager.js.map +1 -1
- package/dist/src/lib/manager/eventManager.d.ts +2 -1
- package/dist/src/lib/manager/eventManager.d.ts.map +1 -1
- package/dist/src/lib/manager/eventManager.js +2 -1
- package/dist/src/lib/manager/eventManager.js.map +1 -1
- package/dist/src/lib/manager/iamManager.d.ts +2 -1
- package/dist/src/lib/manager/iamManager.d.ts.map +1 -1
- package/dist/src/lib/manager/iamManager.js +2 -1
- package/dist/src/lib/manager/iamManager.js.map +1 -1
- package/dist/src/lib/manager/lambdaManager.d.ts +2 -1
- package/dist/src/lib/manager/lambdaManager.d.ts.map +1 -1
- package/dist/src/lib/manager/lambdaManager.js +2 -1
- package/dist/src/lib/manager/lambdaManager.js.map +1 -1
- package/dist/src/lib/manager/logManager.d.ts +2 -1
- package/dist/src/lib/manager/logManager.d.ts.map +1 -1
- package/dist/src/lib/manager/logManager.js +2 -1
- package/dist/src/lib/manager/logManager.js.map +1 -1
- package/dist/src/lib/manager/route53Manager.d.ts +2 -1
- package/dist/src/lib/manager/route53Manager.d.ts.map +1 -1
- package/dist/src/lib/manager/route53Manager.js +2 -1
- package/dist/src/lib/manager/route53Manager.js.map +1 -1
- package/dist/src/lib/manager/s3Manager.d.ts +23 -2
- package/dist/src/lib/manager/s3Manager.d.ts.map +1 -1
- package/dist/src/lib/manager/s3Manager.js +61 -8
- package/dist/src/lib/manager/s3Manager.js.map +1 -1
- package/dist/src/lib/manager/secretsManager.d.ts +3 -2
- package/dist/src/lib/manager/secretsManager.d.ts.map +1 -1
- package/dist/src/lib/manager/secretsManager.js +3 -2
- package/dist/src/lib/manager/secretsManager.js.map +1 -1
- package/dist/src/lib/manager/snsManager.d.ts +2 -1
- package/dist/src/lib/manager/snsManager.d.ts.map +1 -1
- package/dist/src/lib/manager/snsManager.js +2 -1
- package/dist/src/lib/manager/snsManager.js.map +1 -1
- package/dist/src/lib/manager/ssmManager.d.ts +2 -1
- package/dist/src/lib/manager/ssmManager.d.ts.map +1 -1
- package/dist/src/lib/manager/ssmManager.js +2 -1
- package/dist/src/lib/manager/ssmManager.js.map +1 -1
- package/dist/src/lib/manager/vpcManager.d.ts +2 -1
- package/dist/src/lib/manager/vpcManager.d.ts.map +1 -1
- package/dist/src/lib/manager/vpcManager.js +2 -1
- package/dist/src/lib/manager/vpcManager.js.map +1 -1
- package/dist/src/lib/manager/wafManager.d.ts +2 -1
- package/dist/src/lib/manager/wafManager.d.ts.map +1 -1
- package/dist/src/lib/manager/wafManager.js +2 -1
- package/dist/src/lib/manager/wafManager.js.map +1 -1
- package/dist/src/lib/types.d.ts +17 -0
- package/dist/src/lib/types.d.ts.map +1 -1
- package/package.json +24 -18
- package/src/lib/common/commonConstruct.ts +5 -5
- package/src/lib/common/commonStack.ts +2 -1
- package/src/lib/construct/graphQLApiLambda.ts +1 -0
- package/src/lib/construct/siteWithEcsBackend.ts +36 -1
- package/src/lib/construct/staticSite.ts +36 -1
- package/src/lib/manager/acmManager.ts +2 -1
- package/src/lib/manager/apiManager.ts +2 -1
- package/src/lib/manager/appConfigManager.ts +2 -1
- package/src/lib/manager/cloudFrontManager.ts +33 -4
- package/src/lib/manager/cloudTrailManager.ts +2 -1
- package/src/lib/manager/cloudWatchManager.ts +2 -1
- package/src/lib/manager/codeBuildManager.ts +16 -0
- package/src/lib/manager/ecrManager.ts +2 -1
- package/src/lib/manager/ecsManager.ts +2 -1
- package/src/lib/manager/eksManager.ts +2 -1
- package/src/lib/manager/eventManager.ts +2 -1
- package/src/lib/manager/iamManager.ts +2 -1
- package/src/lib/manager/lambdaManager.ts +2 -1
- package/src/lib/manager/logManager.ts +2 -1
- package/src/lib/manager/route53Manager.ts +2 -1
- package/src/lib/manager/s3Manager.ts +67 -9
- package/src/lib/manager/secretsManager.ts +3 -2
- package/src/lib/manager/snsManager.ts +2 -1
- package/src/lib/manager/ssmManager.ts +2 -1
- package/src/lib/manager/vpcManager.ts +2 -1
- package/src/lib/manager/wafManager.ts +2 -1
- package/src/lib/types.ts +19 -0
|
@@ -20,9 +20,10 @@ import { createCfnOutput } from '../utils'
|
|
|
20
20
|
* super(parent, id, props)
|
|
21
21
|
* this.props = props
|
|
22
22
|
* this.route53Manager.createHostedZone('MyHostedZone', this)
|
|
23
|
+
* }
|
|
23
24
|
* }
|
|
24
25
|
*
|
|
25
|
-
* @see [CDK Route53 Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
26
|
+
* @see [CDK Route53 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53-readme.html}
|
|
26
27
|
*/
|
|
27
28
|
export class Route53Manager {
|
|
28
29
|
/**
|
|
@@ -4,7 +4,7 @@ import * as iam from 'aws-cdk-lib/aws-iam'
|
|
|
4
4
|
import * as s3 from 'aws-cdk-lib/aws-s3'
|
|
5
5
|
import * as s3deploy from 'aws-cdk-lib/aws-s3-deployment'
|
|
6
6
|
import { CommonConstruct } from '../common/commonConstruct'
|
|
7
|
-
import { S3BucketProps } from '../types'
|
|
7
|
+
import { LifecycleRule, S3BucketProps } from '../types'
|
|
8
8
|
import { createCfnOutput } from '../utils'
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -21,11 +21,66 @@ import { createCfnOutput } from '../utils'
|
|
|
21
21
|
* super(parent, id, props)
|
|
22
22
|
* this.props = props
|
|
23
23
|
* this.s3Manager.createS3Bucket('MyBucket', this)
|
|
24
|
+
* }
|
|
24
25
|
* }
|
|
25
26
|
*
|
|
26
|
-
* @see [CDK S3 Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
27
|
+
* @see [CDK S3 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3-readme.html}
|
|
27
28
|
*/
|
|
28
29
|
export class S3Manager {
|
|
30
|
+
/**
|
|
31
|
+
* @summary Method to determine S3 Bucket lifecycle properties
|
|
32
|
+
* @param {S3BucketProps} props bucket properties
|
|
33
|
+
* @private
|
|
34
|
+
*/
|
|
35
|
+
protected determineBucketLifecycleRules(props: S3BucketProps) {
|
|
36
|
+
if (!props.lifecycleRules) return undefined
|
|
37
|
+
|
|
38
|
+
const bucketLifecycleRules: LifecycleRule[] = []
|
|
39
|
+
props.lifecycleRules.forEach(lifecycleRule => {
|
|
40
|
+
bucketLifecycleRules.push({
|
|
41
|
+
id: lifecycleRule.id,
|
|
42
|
+
enabled: lifecycleRule.enabled,
|
|
43
|
+
abortIncompleteMultipartUploadAfter: lifecycleRule.abortIncompleteMultipartUploadAfter,
|
|
44
|
+
expirationDate: lifecycleRule.expirationDate,
|
|
45
|
+
expiration: lifecycleRule.expirationInDays ? cdk.Duration.days(lifecycleRule.expirationInDays) : undefined,
|
|
46
|
+
noncurrentVersionExpiration: lifecycleRule.noncurrentVersionExpirationInDays
|
|
47
|
+
? cdk.Duration.days(lifecycleRule.noncurrentVersionExpirationInDays)
|
|
48
|
+
: undefined,
|
|
49
|
+
noncurrentVersionTransitions: lifecycleRule.noncurrentVersionTransitions,
|
|
50
|
+
transitions: lifecycleRule.transitions,
|
|
51
|
+
prefix: lifecycleRule.prefix,
|
|
52
|
+
tagFilters: lifecycleRule.tagFilters,
|
|
53
|
+
expiredObjectDeleteMarker: lifecycleRule.expiredObjectDeleteMarker,
|
|
54
|
+
})
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
return bucketLifecycleRules
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @summary Method to determine the bucket name
|
|
62
|
+
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
63
|
+
* @param {S3BucketProps} props bucket properties
|
|
64
|
+
* @private
|
|
65
|
+
*/
|
|
66
|
+
protected static determineBucketName(scope: CommonConstruct, props: S3BucketProps) {
|
|
67
|
+
return scope.isProductionStage()
|
|
68
|
+
? `${props.bucketName}.${scope.fullyQualifiedDomainName}`
|
|
69
|
+
: `${props.bucketName}-${scope.props.stage}.${scope.fullyQualifiedDomainName}`
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* @summary Method to determine the log bucket name
|
|
74
|
+
* @param {CommonConstruct} scope scope in which this resource is defined
|
|
75
|
+
* @param {S3BucketProps} props bucket properties
|
|
76
|
+
* @private
|
|
77
|
+
*/
|
|
78
|
+
protected static determineLogBucketName(scope: CommonConstruct, props: S3BucketProps) {
|
|
79
|
+
return scope.isProductionStage()
|
|
80
|
+
? `${props.logBucketName}.${scope.fullyQualifiedDomainName}`
|
|
81
|
+
: `${props.logBucketName}-${scope.props.stage}.${scope.fullyQualifiedDomainName}`
|
|
82
|
+
}
|
|
83
|
+
|
|
29
84
|
/**
|
|
30
85
|
* @summary Method to create a s3 bucket
|
|
31
86
|
* @param {string} id scoped id of the resource
|
|
@@ -37,18 +92,14 @@ export class S3Manager {
|
|
|
37
92
|
|
|
38
93
|
let bucket: s3.IBucket
|
|
39
94
|
|
|
40
|
-
const bucketName =
|
|
41
|
-
? `${props.bucketName}.${scope.fullyQualifiedDomainName}`
|
|
42
|
-
: `${props.bucketName}-${scope.props.stage}.${scope.fullyQualifiedDomainName}`
|
|
95
|
+
const bucketName = S3Manager.determineBucketName(scope, props)
|
|
43
96
|
|
|
44
97
|
if (props.existingBucket && props.bucketName) {
|
|
45
98
|
bucket = s3.Bucket.fromBucketName(scope, `${id}`, bucketName)
|
|
46
99
|
} else {
|
|
47
100
|
let logBucket
|
|
48
101
|
if (props.logBucketName) {
|
|
49
|
-
const logBucketName =
|
|
50
|
-
? `${props.logBucketName}.${scope.fullyQualifiedDomainName}`
|
|
51
|
-
: `${props.logBucketName}-${scope.props.stage}.${scope.fullyQualifiedDomainName}`
|
|
102
|
+
const logBucketName = S3Manager.determineLogBucketName(scope, props)
|
|
52
103
|
logBucket = s3.Bucket.fromBucketName(scope, `${id}-logs`, logBucketName)
|
|
53
104
|
}
|
|
54
105
|
|
|
@@ -60,7 +111,7 @@ export class S3Manager {
|
|
|
60
111
|
cors: props.cors,
|
|
61
112
|
encryption: props.encryption || s3.BucketEncryption.S3_MANAGED,
|
|
62
113
|
encryptionKey: props.encryptionKey,
|
|
63
|
-
lifecycleRules: props
|
|
114
|
+
lifecycleRules: this.determineBucketLifecycleRules(props),
|
|
64
115
|
metrics: props.metrics,
|
|
65
116
|
publicReadAccess: props.publicReadAccess,
|
|
66
117
|
removalPolicy: props.removalPolicy || cdk.RemovalPolicy.RETAIN,
|
|
@@ -71,6 +122,13 @@ export class S3Manager {
|
|
|
71
122
|
websiteRoutingRules: props.websiteRoutingRules,
|
|
72
123
|
versioned: props.versioned,
|
|
73
124
|
})
|
|
125
|
+
|
|
126
|
+
const cfnBucket = bucket.node.defaultChild as s3.CfnBucket
|
|
127
|
+
cfnBucket.notificationConfiguration = {
|
|
128
|
+
eventBridgeConfiguration: {
|
|
129
|
+
eventBridgeEnabled: props.enableEventBridge ?? false,
|
|
130
|
+
},
|
|
131
|
+
}
|
|
74
132
|
}
|
|
75
133
|
|
|
76
134
|
createCfnOutput(`${id}-bucketName`, scope, bucket.bucketName)
|
|
@@ -18,10 +18,11 @@ const fs = require('fs')
|
|
|
18
18
|
* constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
|
|
19
19
|
* super(parent, id, props)
|
|
20
20
|
* this.props = props
|
|
21
|
-
* this.
|
|
21
|
+
* this.secretsManager.loadSecret('MySecretName', 'eu-west-1')
|
|
22
|
+
* }
|
|
22
23
|
* }
|
|
23
24
|
*
|
|
24
|
-
* @see [CDK Secrets Manager Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
25
|
+
* @see [CDK Secrets Manager Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager-readme.html}
|
|
25
26
|
*/
|
|
26
27
|
export class SecretsManager {
|
|
27
28
|
/**
|
|
@@ -19,9 +19,10 @@ import { createCfnOutput } from '../utils'
|
|
|
19
19
|
* super(parent, id, props)
|
|
20
20
|
* this.props = props
|
|
21
21
|
* this.snsManager.createEmailNotificationService('MySns', 'eu-west-1', ['test@example.com'])
|
|
22
|
+
* }
|
|
22
23
|
* }
|
|
23
24
|
*
|
|
24
|
-
* @see [CDK Simple Notification Service Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
25
|
+
* @see [CDK Simple Notification Service Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_sns-readme.html}
|
|
25
26
|
*/
|
|
26
27
|
export class SnsManager {
|
|
27
28
|
/**
|
|
@@ -18,9 +18,10 @@ import { SSMParameterReaderProps } from '../types'
|
|
|
18
18
|
* super(parent, id, props)
|
|
19
19
|
* this.props = props
|
|
20
20
|
* this.acmManager.writeStringToParameters('MyParameter', this, ...props)
|
|
21
|
+
* }
|
|
21
22
|
* }
|
|
22
23
|
*
|
|
23
|
-
* @see [CDK Systems Manager Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
24
|
+
* @see [CDK Systems Manager Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ssm-readme.html}
|
|
24
25
|
*/
|
|
25
26
|
export class SsmManager {
|
|
26
27
|
/**
|
|
@@ -22,9 +22,10 @@ const CommonVpcIdentifier = 'CommonVpc'
|
|
|
22
22
|
* super(parent, id, props)
|
|
23
23
|
* this.props = props
|
|
24
24
|
* this.vpcManager.createVpc('MyVPC', this)
|
|
25
|
+
* }
|
|
25
26
|
* }
|
|
26
27
|
*
|
|
27
|
-
* @see [CDK VPC Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
28
|
+
* @see [CDK VPC Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.@aws-cdk_aws-ec2.Vpc.html}
|
|
28
29
|
*/
|
|
29
30
|
export class VpcManager {
|
|
30
31
|
/**
|
|
@@ -17,9 +17,10 @@ import { WafIPSetProps, WafWebACLProps } from '../types'
|
|
|
17
17
|
* super(parent, id, props)
|
|
18
18
|
* this.props = props
|
|
19
19
|
* this.wafManager.createWebAcl('MyWebAcl', this)
|
|
20
|
+
* }
|
|
20
21
|
* }
|
|
21
22
|
*
|
|
22
|
-
* @see [CDK WAF Module]{@link https://docs.aws.amazon.com/cdk/api/
|
|
23
|
+
* @see [CDK WAF Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_waf-readme.html}
|
|
23
24
|
*/
|
|
24
25
|
export class WafManager {
|
|
25
26
|
/**
|
package/src/lib/types.ts
CHANGED
|
@@ -50,6 +50,8 @@ export interface SiteWithEcsBackendProps extends CommonStackProps {
|
|
|
50
50
|
siteCertificate: AcmProps
|
|
51
51
|
siteCluster: EcsClusterProps
|
|
52
52
|
siteDistribution: DistributionProps
|
|
53
|
+
siteCloudfrontFunctionProps?: CloudfrontFunctionProps
|
|
54
|
+
siteFunctionFilePath?: string
|
|
53
55
|
siteEcsContainerImagePath: string
|
|
54
56
|
siteLog: LogProps
|
|
55
57
|
siteLogBucket: S3BucketProps
|
|
@@ -69,6 +71,8 @@ export interface StaticSiteProps extends CommonStackProps {
|
|
|
69
71
|
siteBucket: S3BucketProps
|
|
70
72
|
siteLogBucket: S3BucketProps
|
|
71
73
|
siteDistribution?: DistributionProps
|
|
74
|
+
siteCloudfrontFunctionProps?: CloudfrontFunctionProps
|
|
75
|
+
siteFunctionFilePath?: string
|
|
72
76
|
siteSource: s3deploy.ISource
|
|
73
77
|
siteHostedZoneDomainName?: string
|
|
74
78
|
siteRecordName?: string
|
|
@@ -131,6 +135,14 @@ export interface SSMParameterReaderProps {
|
|
|
131
135
|
*/
|
|
132
136
|
export interface CloudFrontProps extends cloudfront.CloudFrontWebDistributionProps {}
|
|
133
137
|
|
|
138
|
+
/**
|
|
139
|
+
* @category Networking & Content Delivery
|
|
140
|
+
*/
|
|
141
|
+
export interface CloudfrontFunctionProps extends cloudfront.FunctionProps {
|
|
142
|
+
functionFilePath: string
|
|
143
|
+
eventType: string
|
|
144
|
+
}
|
|
145
|
+
|
|
134
146
|
/**
|
|
135
147
|
* @category Networking & Content Delivery
|
|
136
148
|
*/
|
|
@@ -268,10 +280,17 @@ export interface Route53Props extends route53.HostedZoneProps {
|
|
|
268
280
|
useExistingHostedZone?: boolean
|
|
269
281
|
}
|
|
270
282
|
|
|
283
|
+
export interface LifecycleRule extends s3.LifecycleRule {
|
|
284
|
+
expirationInDays?: number
|
|
285
|
+
noncurrentVersionExpirationInDays?: number
|
|
286
|
+
}
|
|
287
|
+
|
|
271
288
|
/**
|
|
272
289
|
* @category Storage
|
|
273
290
|
*/
|
|
274
291
|
export interface S3BucketProps extends s3.BucketProps {
|
|
292
|
+
enableEventBridge?: boolean
|
|
293
|
+
lifecycleRules?: LifecycleRule[]
|
|
275
294
|
bucketName: string
|
|
276
295
|
logBucketName?: string
|
|
277
296
|
existingBucket?: boolean
|