serverless / serverless/serverless

Custom bucket configuration not doing anything

Open
#9,636 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs feedback
Dominant language
JavaScript
Stars
46.9k
Forks
5.7k
Avg merge
10h 7m
Merged PRs (30d)
57

Description

Straight from the docs, I have

provider:
  s3:
    myBucket:
      name: ${self:custom.bucketName}
      versioningConfiguration:
        Status: Enabled

But versioningConfiguration and other camel-cases, cloudformation properties have no effect. I'm not getting an error or any warnings; it just simply has no effect

service: example-repo

package:
  exclude:
    - "venv/**"

provider:
  s3:
    exampleBucket:
      name: testbucket3894vcnv
      # versioningConfiguration:
      #   Status: Enabled
      accessControl: Private
      publicAccessBlockConfiguration:
        BlockPublicAcls: true
        BlockPublicPolicy: true
        IgnorePublicAcls: true
        RestrictPublicBuckets: true
      bucketEncryption:
        ServerSideEncryptionConfiguration:
          - ServerSideEncryptionByDefault:
              SSEAlgorithm: AES256

  name: aws
  runtime: python3.8
  memorySize: 512
  timeout: 300
  region: us-west-2
  stage: development

functions:
  triggerResultsSm:
    handler: main.handler
    events:
      - s3:
          bucket: testbucket3894vcnv
          event: s3:ObjectCreated:*
Serverless: Load command interactiveCli
Serverless: Load command config
Serverless: Load command config:credentials
Serverless: Load command config:tabcompletion
Serverless: Load command config:tabcompletion:install
Serverless: Load command config:tabcompletion:uninstall
Serverless: Load command create
Serverless: Load command install
Serverless: Load command package
Serverless: Load command deploy
Serverless: Load command deploy:function
Serverless: Load command deploy:list
Serverless: Load command deploy:list:functions
Serverless: Load command invoke
Serverless: Load command invoke:local
Serverless: Load command info
Serverless: Load command logs
Serverless: Load command metrics
Serverless: Load command print
Serverless: Load command remove
Serverless: Load command rollback
Serverless: Load command rollback:function
Serverless: Load command slstats
Serverless: Load command plugin
Serverless: Load command plugin
Serverless: Load command plugin:install
Serverless: Load command plugin
Serverless: Load command plugin:uninstall
Serverless: Load command plugin
Serverless: Load command plugin:list
Serverless: Load command plugin
Serverless: Load command plugin:search
Serverless: Load command config
Serverless: Load command config:credentials
Serverless: Load command upgrade
Serverless: Load command uninstall
Serverless: Load command login
Serverless: Load command logout
Serverless: Load command generate-event
Serverless: Load command test
Serverless: Load command dashboard
Serverless: Load command output
Serverless: Load command output:get
Serverless: Load command output:list
Serverless: Load command param
Serverless: Load command param:get
Serverless: Load command param:list
Serverless: Load command studio
Serverless: Skipping variables resolution with old resolver (new resolver reported no more variables to resolve)
Serverless: Deprecation warning: Support for "package.include" and "package.exclude" will be removed with next major release. Please use "package.patterns" instead
            More Info: https://www.serverless.com/framework/docs/deprecations/#NEW_PACKAGE_PATTERNS
Serverless: Deprecation warning: Resolution of lambda version hashes was improved with better algorithm, which will be used in next major release.
            Switch to it now by setting "provider.lambdaHashingVersion" to "20201221"
            More Info: https://www.serverless.com/framework/docs/deprecations/#LAMBDA_HASHING_VERSION_V2
Serverless: Invoke deploy
Serverless: Invoke package
Serverless: Invoke aws:common:validate
Serverless: Invoke aws:common:cleanupTempDir
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Invoke aws:package:finalize
Serverless: Invoke aws:common:moveArtifactsToPackage
Serverless: Invoke aws:common:validate
Serverless: Invoke aws:deploy:deploy
Serverless: Service files not changed. Skipping deployment...
Serverless: Invoke aws:info
Service Information
service: example-repo
stage: development
region: us-west-2
stack: example-repo-development
resources: 8
api keys:
  None
endpoints:
  None
functions:
  triggerResultsSm: example-repo-development-triggerResultsSm
layers:
  None
Serverless: Invoke aws:deploy:finaliz

Installed version

Framework Core: 2.48.0 (local)
Plugin: 5.4.1
SDK: 4.2.3
Components: 3.12.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the custom bucket configuration documentation and the AWS deploy/package path described in the report. Reproduce the issue with the supplied serverless.yml and inspect the generated CloudFormation to determine why versioningConfiguration and other properties have no effect. Done means the configuration is applied correctly or a clear validation error is produced, with regression coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, javascript
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.