diff --git a/docs/providers/aws/guide/deploying.md b/docs/providers/aws/guide/deploying.md index 9abeaeaba..8fd9423cb 100644 --- a/docs/providers/aws/guide/deploying.md +++ b/docs/providers/aws/guide/deploying.md @@ -66,7 +66,8 @@ The Serverless Framework translates all syntax in `serverless.yml` to a single A ``` * You can specify your own S3 bucket which should be used to store all the deployment artifacts. - The `deploymentBucket` config which is nested under `provider` lets you e.g. set the `name` or the `serverSideEncryption` method for this bucket + The `deploymentBucket` config which is nested under `provider` lets you e.g. set the `name` or the `serverSideEncryption` method for this bucket. If you don't provide your own bucket, Serverless + will create a bucket which uses default AES256 encryption. * You can specify your own S3 prefix which should be used to store all the deployment artifacts. The `deploymentPrefix` config which is nested under `provider` lets you set the prefix under which the deployment artifacts will be stored. If not specified, defaults to `serverless`. diff --git a/lib/plugins/aws/package/lib/core-cloudformation-template.json b/lib/plugins/aws/package/lib/core-cloudformation-template.json index 8ef87e565..501b507f8 100644 --- a/lib/plugins/aws/package/lib/core-cloudformation-template.json +++ b/lib/plugins/aws/package/lib/core-cloudformation-template.json @@ -5,9 +5,6 @@ "ServerlessDeploymentBucket": { "Type" : "AWS::S3::Bucket", "Properties" : { - "VersioningConfiguration": { - "Status": "Enabled" - }, "BucketEncryption": { "ServerSideEncryptionConfiguration": [ { diff --git a/lib/plugins/aws/package/lib/generateCoreTemplate.js b/lib/plugins/aws/package/lib/generateCoreTemplate.js index 6c93f225e..47be04c97 100644 --- a/lib/plugins/aws/package/lib/generateCoreTemplate.js +++ b/lib/plugins/aws/package/lib/generateCoreTemplate.js @@ -54,30 +54,27 @@ module.exports = { }); } - const mergeProperties = []; - if (isS3TransferAccelerationEnabled && isS3TransferAccelerationSupported) { // enable acceleration via CloudFormation - mergeProperties.push({ - AccelerateConfiguration: { - AccelerationStatus: 'Enabled', - }, - }); + Object.assign(this.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ServerlessDeploymentBucket.Properties, { + AccelerateConfiguration: { + AccelerationStatus: 'Enabled', + }, + }); // keep track of acceleration status via CloudFormation Output this.serverless.service.provider.compiledCloudFormationTemplate .Outputs.ServerlessDeploymentBucketAccelerated = { Value: true }; } else if (isS3TransferAccelerationDisabled && isS3TransferAccelerationSupported) { // explicitly disable acceleration via CloudFormation - mergeProperties.push({ - AccelerateConfiguration: { - AccelerationStatus: 'Suspended', - }, - }); + Object.assign(this.serverless.service.provider.compiledCloudFormationTemplate + .Resources.ServerlessDeploymentBucket.Properties, { + AccelerateConfiguration: { + AccelerationStatus: 'Suspended', + }, + }); } - Object.assign(this.serverless.service.provider.compiledCloudFormationTemplate - .Resources.ServerlessDeploymentBucket.Properties, ...mergeProperties); - const coreTemplateFileName = this.provider.naming.getCoreTemplateFileName(); const coreTemplateFilePath = path.join(this.serverless.config.servicePath, diff --git a/lib/plugins/aws/package/lib/generateCoreTemplate.test.js b/lib/plugins/aws/package/lib/generateCoreTemplate.test.js index 2f8e9ea39..ba46b9647 100644 --- a/lib/plugins/aws/package/lib/generateCoreTemplate.test.js +++ b/lib/plugins/aws/package/lib/generateCoreTemplate.test.js @@ -112,9 +112,6 @@ describe('#generateCoreTemplate()', () => { ).to.be.deep.equal({ Type: 'AWS::S3::Bucket', Properties: { - VersioningConfiguration: { - Status: 'Enabled', - }, BucketEncryption: { ServerSideEncryptionConfiguration: [ { @@ -170,9 +167,6 @@ describe('#generateCoreTemplate()', () => { AccelerateConfiguration: { AccelerationStatus: 'Suspended', }, - VersioningConfiguration: { - Status: 'Enabled', - }, BucketEncryption: { ServerSideEncryptionConfiguration: [ { @@ -199,9 +193,6 @@ describe('#generateCoreTemplate()', () => { expect(template.Resources.ServerlessDeploymentBucket).to.be.deep.equal({ Type: 'AWS::S3::Bucket', Properties: { - VersioningConfiguration: { - Status: 'Enabled', - }, BucketEncryption: { ServerSideEncryptionConfiguration: [ { diff --git a/lib/plugins/aws/package/lib/mergeCustomProviderResources.test.js b/lib/plugins/aws/package/lib/mergeCustomProviderResources.test.js index 391763dd8..885cf5b34 100644 --- a/lib/plugins/aws/package/lib/mergeCustomProviderResources.test.js +++ b/lib/plugins/aws/package/lib/mergeCustomProviderResources.test.js @@ -74,9 +74,6 @@ describe('mergeCustomProviderResources', () => { FakePropKey: 'FakePropValue', }, Properties: { - VersioningConfiguration: { - Status: 'Enabled', - }, BucketEncryption: { ServerSideEncryptionConfiguration: [ {